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

51 lines
1.5 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401b38d0 FUN_1401b38d0
* Pseudocode, not original source. */
undefined1
FUN_1401b38d0(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4,
longlong param_5,undefined8 param_6)
{
undefined1 uVar1;
int iVar2;
ulonglong uVar3;
uint uVar4;
undefined1 local_40 [8];
undefined1 local_38 [8];
longlong local_30;
int local_24;
ulonglong uVar5;
FUN_14016b440(local_40);
FUN_14016abe0(local_40);
FUN_14004f3c0(local_40,0x3ea);
FUN_140153c40(local_40,*(undefined4 *)(param_5 + 0x18));
uVar3 = 0;
iVar2 = *(int *)(param_5 + 0x18);
uVar5 = uVar3;
if (0 < iVar2) {
do {
if (((longlong)uVar3 < 0) || (iVar2 <= (int)uVar5)) {
/* WARNING: Subroutine does not return */
FUN_14016d6e0();
}
FUN_140153c40(local_40,*(undefined4 *)(*(longlong *)(param_5 + 0x10) + uVar3 * 4));
uVar4 = (int)uVar5 + 1;
uVar5 = (ulonglong)uVar4;
uVar3 = uVar3 + 1;
iVar2 = *(int *)(param_5 + 0x18);
} while ((int)uVar4 < iVar2);
}
FUN_1401c6640(local_40,param_6);
uVar1 = (**(code **)(*param_1 + 0x18))
(param_1,param_2,param_3,param_4,local_40,PTR_u_NotifyCommon_SendRmi_140345300,
0x3ea);
FUN_14016d0e0(local_38);
if ((local_30 != 0) && (local_24 < 0)) {
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}
return uVar1;
}