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

71 lines
2.1 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x140002290 FUN_140002290
* Pseudocode, not original source. */
undefined8 FUN_140002290(longlong *param_1,undefined8 param_2,undefined8 param_3,byte *param_4)
{
int iVar1;
longlong *plVar2;
undefined8 uVar3;
undefined4 local_98;
undefined4 uStack_94;
undefined1 local_90 [24];
longlong *local_78;
undefined1 local_70 [24];
undefined2 local_58 [4];
undefined8 local_50;
undefined8 local_40;
undefined1 local_38 [32];
local_40 = 0xfffffffffffffffe;
local_98 = 0;
Ordinal_8(local_90);
local_58[0] = 8;
local_50 = FUN_1402182d0(param_3);
if (*param_1 == 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
plVar2 = (longlong *)FUN_140002100(*param_1,&local_78);
if (*plVar2 == 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
plVar2 = (longlong *)FUN_140002070(*plVar2,&local_98,local_58);
if (*plVar2 == 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
uVar3 = FUN_140002000(*plVar2,local_38);
Ordinal_8(local_70);
iVar1 = Ordinal_10(local_70,uVar3);
if (iVar1 < 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar1);
}
iVar1 = Ordinal_10(local_90,local_70);
if (iVar1 < 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar1);
}
Ordinal_9(local_70);
Ordinal_9(local_38);
if ((longlong *)CONCAT44(uStack_94,local_98) != (longlong *)0x0) {
(**(code **)(*(longlong *)CONCAT44(uStack_94,local_98) + 0x10))();
}
if (local_78 != (longlong *)0x0) {
(**(code **)(*local_78 + 0x10))();
}
Ordinal_9(local_58);
*param_4 = *param_4 & 1;
Ordinal_8(param_2);
iVar1 = Ordinal_10(param_2,local_90);
if (iVar1 < 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar1);
}
Ordinal_9(local_90);
return param_2;
}