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

63 lines
1.8 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14020f230 FUN_14020f230
* Pseudocode, not original source. */
ulonglong FUN_14020f230(undefined8 param_1,uint *param_2,undefined8 param_3)
{
uint uVar1;
int iVar2;
uint uVar3;
ulonglong uVar4;
undefined1 local_28 [32];
uVar3 = *param_2;
uVar4 = FUN_1402091f0(local_28,param_1);
if ((int)uVar4 != 0) {
return uVar4;
}
FUN_14020aec0(local_28,uVar3 - 1);
if (uVar3 < 0x8000001) {
uVar1 = FUN_140210990(local_28,param_3,local_28,uVar3);
}
else {
uVar1 = FUN_1402018b0();
}
uVar4 = (ulonglong)uVar1;
if (uVar1 == 0) {
FUN_14020aec0(local_28,uVar3 + 1);
uVar1 = FUN_14020ed30(param_1,(uVar3 + 1) * 0x1c,param_1);
uVar4 = (ulonglong)uVar1;
if (uVar1 == 0) {
uVar1 = FUN_1402095d0(local_28,param_2,local_28,uVar3 + 1);
uVar4 = (ulonglong)uVar1;
if (uVar1 == 0) {
uVar1 = FUN_1402016f0(param_1,local_28,param_1);
uVar4 = (ulonglong)uVar1;
if (uVar1 == 0) {
iVar2 = FUN_140201070(param_1,0);
if (iVar2 == -1) {
FUN_14020b9f0(local_28,1);
uVar3 = FUN_14020af40(local_28,uVar3 + 1);
uVar4 = (ulonglong)uVar3;
if (uVar3 != 0) goto LAB_14020f389;
uVar3 = FUN_140201530(param_1,local_28,param_1);
uVar4 = (ulonglong)uVar3;
if (uVar3 != 0) goto LAB_14020f389;
}
iVar2 = FUN_140201040(param_1,param_2);
while (iVar2 != -1) {
uVar3 = FUN_1402093a0(param_1,param_2,param_1);
uVar4 = (ulonglong)uVar3;
if (uVar3 != 0) break;
iVar2 = FUN_140201040(param_1,param_2);
}
}
}
}
}
LAB_14020f389:
FUN_140200e50(local_28);
return uVar4;
}