/* 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; }