71 lines
2.1 KiB
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;
|
|
}
|
|
|