52 lines
1.6 KiB
C
52 lines
1.6 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401c7960 FUN_1401c7960
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401c7960(longlong *param_1,longlong param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
undefined8 uVar2;
|
|
longlong lVar3;
|
|
longlong lVar4;
|
|
undefined8 uVar5;
|
|
undefined1 local_res8 [8];
|
|
undefined8 uVar6;
|
|
undefined1 uVar7;
|
|
|
|
uVar6 = 0xfffffffffffffffe;
|
|
uVar2 = (**(code **)(param_1[-0xe] + 0x58))();
|
|
FUN_14016db50(uVar2);
|
|
uVar7 = 1;
|
|
lVar4 = 0;
|
|
lVar3 = lVar4;
|
|
if ((longlong *)param_1[0xac] != (longlong *)0x0) {
|
|
lVar3 = *(longlong *)param_1[0xac];
|
|
}
|
|
*(bool *)param_2 = lVar3 == 0;
|
|
lVar3 = lVar4;
|
|
if (param_1[0xad] != 0) {
|
|
lVar3 = *(longlong *)(param_1[0xad] + 0x38);
|
|
}
|
|
*(undefined1 *)(param_2 + 1) = *(undefined1 *)(lVar3 + 0x28c);
|
|
*(int *)(param_2 + 8) = (int)param_1[0xa2];
|
|
*(int *)(param_2 + 0x10) = (int)param_1[0x2b1];
|
|
*(int *)(param_2 + 0x28) = (int)param_1[0x2c0];
|
|
*(int *)(param_2 + 4) = (int)param_1[0xaa];
|
|
uVar5 = (**(code **)(*param_1 + 0x1c0))(param_1);
|
|
*(undefined8 *)(param_2 + 0x20) = uVar5;
|
|
*(longlong *)(param_2 + 0x18) = param_1[0x30a];
|
|
*(undefined4 *)(param_2 + 0x2c) = 0;
|
|
if (*(char *)(param_2 + 1) == '\0') {
|
|
if (param_1[0xad] != 0) {
|
|
lVar4 = *(longlong *)(param_1[0xad] + 0x38);
|
|
}
|
|
*(undefined4 *)(param_2 + 0x2c) = *(undefined4 *)(lVar4 + 0x284);
|
|
}
|
|
local_res8[0] = 0;
|
|
uVar1 = (**(code **)(*param_1 + 0x108))(param_1,local_res8,param_3,param_4,uVar6,uVar2,uVar7);
|
|
*(undefined4 *)(param_2 + 0xc) = uVar1;
|
|
FUN_14016dbe0(uVar2);
|
|
return;
|
|
}
|
|
|