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

61 lines
1.7 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401d21a0 FUN_1401d21a0
* Pseudocode, not original source. */
undefined1 FUN_1401d21a0(longlong *param_1,undefined4 param_2,undefined8 param_3,longlong param_4)
{
int iVar1;
undefined1 uVar2;
undefined8 uVar3;
undefined4 local_res10 [4];
longlong *local_res20;
undefined1 local_40 [4];
undefined4 local_3c;
longlong local_38;
longlong local_30;
int local_24;
local_res10[0] = param_2;
FUN_14016b440(local_40);
FUN_14016abe0(local_40);
FUN_14004f3c0(local_40,0xfa06);
iVar1 = *(int *)(param_4 + 0x18);
FUN_14016cac0(local_40,(longlong)iVar1);
if (*(int *)(param_4 + 0x18) == 0) {
uVar3 = 0;
}
else {
uVar3 = *(undefined8 *)(param_4 + 0x10);
}
if (iVar1 == 0) goto LAB_1401d2261;
local_3c = 0;
if (local_38 == 0) {
if (local_30 == 0) {
/* WARNING: Subroutine does not return */
FUN_14016d1e0(0,uVar3);
}
LAB_1401d2233:
FUN_14004efd0(&local_30,uVar3,iVar1);
}
else {
if (local_30 != 0) goto LAB_1401d2233;
if (local_38 == 0) {
/* WARNING: Subroutine does not return */
FUN_14016d1e0(0,uVar3);
}
FUN_14004f200(local_38,uVar3,iVar1);
}
FUN_14004f270(local_40);
LAB_1401d2261:
uVar2 = (**(code **)(*param_1 + 0x18))
(param_1,local_res10,1,param_3,local_40,PTR_DAT_140345930,0xfa06);
local_res20 = &local_38;
FUN_14016d0e0(&local_38);
if ((local_30 != 0) && (local_24 < 0)) {
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}
return uVar2;
}