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

51 lines
1.3 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401f63c0 FUN_1401f63c0
* Pseudocode, not original source. */
void FUN_1401f63c0(undefined8 param_1,longlong param_2)
{
int iVar1;
undefined8 uVar2;
undefined *puVar3;
undefined8 local_res10 [3];
undefined **local_20;
undefined4 local_18;
undefined2 local_14;
*(undefined1 *)(param_2 + 0x80) = 1;
local_20 = Proud::AddrPort::vftable;
local_18 = DAT_140352370;
local_14 = DAT_140352374;
if (DAT_140352360 == (undefined *)0x0) {
iVar1 = 0;
puVar3 = PTR_DAT_140344098;
}
else {
puVar3 = DAT_140352360;
if (DAT_140352360 == PTR_DAT_140344098) {
iVar1 = 0;
}
else {
iVar1 = *(int *)(DAT_140352360 + -8);
}
}
if (*(undefined8 **)(param_2 + 0x10) == (undefined8 *)0x0) {
uVar2 = 0;
}
else {
uVar2 = **(undefined8 **)(param_2 + 0x10);
}
iVar1 = FUN_14019e410(uVar2,puVar3,iVar1 + 1,&local_20,0xfffffffffffffffe);
if ((iVar1 == 0) || (iVar1 == 0x3e5)) {
*(undefined4 *)(param_2 + 0x18) = 1;
}
else {
*(undefined1 *)(param_2 + 0x80) = 0;
local_res10[0] = 0;
FUN_1401786c0(param_2 + 0x10,local_res10);
*(undefined4 *)(param_2 + 0x18) = 3;
}
return;
}