43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401c3c90 FUN_1401c3c90
|
|
* Pseudocode, not original source. */
|
|
|
|
int FUN_1401c3c90(longlong param_1,undefined4 param_2,char *param_3,int param_4)
|
|
|
|
{
|
|
int iVar1;
|
|
code *pcVar2;
|
|
longlong lVar3;
|
|
|
|
if (((param_3 != (char *)0x0) && (*param_3 == '1')) && (param_4 == 0x58)) {
|
|
if (param_1 != 0) {
|
|
*(undefined8 *)(param_1 + 0x20) = 0;
|
|
if (*(longlong *)(param_1 + 0x30) == 0) {
|
|
*(undefined8 *)(param_1 + 0x40) = 0;
|
|
*(code **)(param_1 + 0x30) = FUN_1401e7fb0;
|
|
}
|
|
pcVar2 = *(code **)(param_1 + 0x38);
|
|
if (pcVar2 == (code *)0x0) {
|
|
pcVar2 = FUN_1401e7fc0;
|
|
}
|
|
*(code **)(param_1 + 0x38) = pcVar2;
|
|
lVar3 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x1be8);
|
|
if (lVar3 == 0) {
|
|
iVar1 = -4;
|
|
}
|
|
else {
|
|
*(longlong *)(param_1 + 0x28) = lVar3;
|
|
*(undefined8 *)(lVar3 + 0x38) = 0;
|
|
iVar1 = FUN_1401c3be0(param_1,param_2);
|
|
if (iVar1 != 0) {
|
|
(**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),lVar3);
|
|
*(undefined8 *)(param_1 + 0x28) = 0;
|
|
}
|
|
}
|
|
return iVar1;
|
|
}
|
|
return -2;
|
|
}
|
|
return -6;
|
|
}
|
|
|