server-re/decomp/DBCServer_Release_x64/full/functions/0x14020f420.c

42 lines
1,017 B
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14020f420 FUN_14020f420
* Pseudocode, not original source. */
int FUN_14020f420(undefined8 *param_1,undefined8 *param_2)
{
void *_Buf2;
void *_Buf1;
uint uVar1;
int iVar2;
uint uVar3;
uint uVar4;
uVar3 = *(uint *)(param_1 + 1);
uVar4 = *(uint *)(param_2 + 1);
_Buf2 = (void *)*param_2;
_Buf1 = (void *)*param_1;
uVar1 = uVar4;
if (uVar3 < uVar4) {
uVar1 = uVar3;
}
iVar2 = memcmp(_Buf1,_Buf2,(ulonglong)uVar1);
if ((iVar2 == 0) && (uVar3 != uVar4)) {
if (uVar4 < uVar3) {
for (; uVar4 < uVar3; uVar4 = uVar4 + 1) {
if (*(char *)((ulonglong)uVar4 + (longlong)_Buf1) != '\0') {
return 1;
}
}
}
else {
for (; uVar3 < uVar4; uVar3 = uVar3 + 1) {
if (*(char *)((ulonglong)uVar3 + (longlong)_Buf2) != '\0') {
return -1;
}
}
}
}
return iVar2;
}