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

70 lines
2 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14020c8c0 FUN_14020c8c0
* Pseudocode, not original source. */
ulonglong FUN_14020c8c0(undefined8 param_1,undefined8 param_2,undefined4 *param_3)
{
int iVar1;
uint uVar2;
int iVar3;
int iVar4;
ulonglong uVar5;
undefined1 local_68 [24];
undefined1 local_50 [24];
undefined1 local_38 [32];
*param_3 = 0;
iVar1 = FUN_140201070(param_2,1);
if (iVar1 != 1) {
return 0xfffffffd;
}
uVar5 = FUN_1402091f0(local_50,param_1);
if ((int)uVar5 != 0) {
return uVar5;
}
uVar2 = FUN_140201770(local_50,1,local_50);
uVar5 = (ulonglong)uVar2;
if (uVar2 != 0) goto LAB_14020ca52;
uVar2 = FUN_1402091f0(local_38,local_50);
uVar5 = (ulonglong)uVar2;
if (uVar2 != 0) goto LAB_14020ca52;
iVar1 = FUN_1402010d0(local_38);
uVar2 = FUN_140209220(local_38,iVar1,local_38,0);
uVar5 = (ulonglong)uVar2;
if (uVar2 == 0) {
uVar2 = FUN_140200df0(local_68);
uVar5 = (ulonglong)uVar2;
if (uVar2 == 0) {
uVar2 = FUN_140202700(param_2,local_38,param_1,local_68);
uVar5 = (ulonglong)uVar2;
if (uVar2 == 0) {
iVar3 = FUN_140201070(local_68,1);
if ((iVar3 != 0) && (iVar3 = FUN_140201040(local_68,local_50), iVar3 != 0)) {
iVar3 = 1;
if (0 < iVar1 + -1) {
do {
iVar4 = FUN_140201040(local_68,local_50);
if (iVar4 == 0) break;
uVar2 = FUN_1402023c0(local_68,param_1,local_68);
uVar5 = (ulonglong)uVar2;
if ((uVar2 != 0) || (iVar4 = FUN_140201070(local_68,1), iVar4 == 0))
goto LAB_14020ca38;
iVar3 = iVar3 + 1;
} while (iVar3 <= iVar1 + -1);
}
iVar1 = FUN_140201040(local_68,local_50);
if (iVar1 != 0) goto LAB_14020ca38;
}
*param_3 = 1;
}
LAB_14020ca38:
FUN_140200e50(local_68);
}
}
FUN_140200e50(local_38);
LAB_14020ca52:
FUN_140200e50(local_50);
return uVar5;
}