server-re/decomp/MessageServer_Release_x64/full/functions/0x14001bb40.c

57 lines
2.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14001bb40 FUN_14001bb40
* Pseudocode, not original source. */
undefined1
FUN_14001bb40(longlong *param_1,undefined8 param_2,SIZE_T param_3,ushort *param_4,uint *param_5,
undefined8 *param_6,undefined8 *param_7,longlong *param_8,longlong *param_9,
longlong *param_10,uint *param_11,uint *param_12,uint *param_13,uint *param_14,
longlong *param_15)
{
undefined1 uVar1;
undefined8 *puVar2;
SIZE_T SVar3;
ushort *puVar4;
undefined4 local_res10 [2];
undefined4 local_40 [2];
longlong local_38;
longlong local_30;
int local_24;
local_res10[0] = (undefined4)param_2;
SVar3 = param_3;
puVar4 = param_4;
FUN_1400bca00(local_40);
FUN_1400bc4d0((longlong)local_40,param_2,SVar3,puVar4);
FUN_140054930((longlong)local_40,0x2f11,SVar3,puVar4);
FUN_140054930((longlong)local_40,(ulonglong)*param_4,SVar3,puVar4);
FUN_140014500((longlong)local_40,(ulonglong)*param_5,SVar3,puVar4);
FUN_1400d9b40((longlong)local_40,param_6,SVar3,puVar4);
FUN_1400d9b40((longlong)local_40,param_7,SVar3,puVar4);
FUN_1400be230((longlong)local_40,param_8,SVar3,puVar4);
FUN_1400be230((longlong)local_40,param_9,SVar3,puVar4);
FUN_1400be230((longlong)local_40,param_10,SVar3,puVar4);
FUN_140014500((longlong)local_40,(ulonglong)*param_11,SVar3,puVar4);
FUN_140014500((longlong)local_40,(ulonglong)*param_12,SVar3,puVar4);
FUN_140014500((longlong)local_40,(ulonglong)*param_13,SVar3,puVar4);
FUN_140014500((longlong)local_40,(ulonglong)*param_14,SVar3,puVar4);
FUN_140014500((longlong)local_40,(param_15[1] - *param_15) / 0x12,SVar3,puVar4);
puVar2 = (undefined8 *)*param_15;
if (puVar2 != (undefined8 *)param_15[1]) {
do {
FUN_1400d9b40((longlong)local_40,puVar2,SVar3,puVar4);
FUN_140054930((longlong)local_40,(ulonglong)*(ushort *)(puVar2 + 2),SVar3,puVar4);
puVar2 = (undefined8 *)((longlong)puVar2 + 0x12);
} while (puVar2 != (undefined8 *)param_15[1]);
}
uVar1 = (**(code **)(*param_1 + 0x18))
(param_1,local_res10,1,param_3,local_40,L"REQ_MAIL_SEND",0x2f11);
FUN_1400d1800(&local_38);
if ((local_30 != 0) && (local_24 < 0)) {
/* WARNING: Subroutine does not return */
FUN_14006be00();
}
return uVar1;
}