63 lines
1.8 KiB
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;
|
|
}
|
|
|