/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400d8df0 FUN_1400d8df0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1400d8df0(longlong param_1,uint param_2,ushort param_3,longlong param_4,longlong param_5, uint *param_6) { longlong *plVar1; double dVar2; int *piVar3; ulonglong uVar4; longlong lVar5; undefined ***pppuVar6; undefined1 auStackY_e78 [32]; undefined **local_e38; undefined4 local_e30; undefined2 local_e2c; int *local_e28; undefined1 local_e20; int *local_e18; undefined1 local_e10; undefined8 local_e08; uint local_df8; uint uStack_df4; uint uStack_df0; uint uStack_dec; uint local_de8; uint uStack_de4; uint uStack_de0; uint uStack_ddc; exception local_dd8 [80]; undefined4 local_d88 [2]; undefined *local_d80; longlong local_d78; undefined4 local_d70; int local_d6c; undefined1 local_d60 [136]; undefined1 local_cd8 [3200]; undefined1 *local_58; undefined4 local_50; int local_4c; ulonglong local_48; local_e08 = 0xfffffffffffffffe; local_48 = DAT_1401ac5a0 ^ (ulonglong)auStackY_e78; lVar5 = param_4; FUN_1400cf890(); local_4c = 200; local_50 = 0; local_58 = local_cd8; FUN_1400bca00(local_d88); FUN_1400bc680((longlong)local_d88,(longlong)local_d60,0x80,lVar5); FUN_1400db480(param_5,(longlong)local_cd8,(SIZE_T)local_d88,lVar5); local_e28 = (int *)(param_1 + 0xa8); FUN_14006b350(local_e28); local_e20 = 1; local_df8 = *param_6; uStack_df4 = param_6[1]; uStack_df0 = param_6[2]; uStack_dec = param_6[3]; local_de8 = param_6[4]; uStack_de4 = param_6[5]; uStack_de0 = param_6[6]; uStack_ddc = param_6[7]; local_e38 = Proud::AddrPort::vftable; local_e30 = *(undefined4 *)(param_4 + 8); local_e2c = *(undefined2 *)(param_4 + 0xc); plVar1 = *(longlong **)(param_1 + 0x168); dVar2 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))(); pppuVar6 = &local_e38; uVar4 = (ulonglong)param_3; FUN_1400d6760(plVar1,(ulonglong)param_2,uVar4,(ulonglong)pppuVar6,(longlong)local_cd8,dVar2, &local_df8); if (*(char *)(param_1 + 0x100) == '\0') { piVar3 = (int *)(*(longlong *)(param_1 + 0x148) + 2000); local_e18 = piVar3; FUN_14006b350(piVar3); local_e10 = 1; if (*(longlong *)(param_1 + 0xa0) == 0) { FUN_1400d8d60((longlong *)(*(longlong *)(param_1 + 0x148) + 0x828),param_1,uVar4,pppuVar6); } FUN_14006b3e0((longlong)piVar3); } FUN_14006b3e0((longlong)local_e28); local_e38 = &local_d80; FUN_1400d1800((longlong *)&local_d80); if (local_d78 != 0) { if (local_d6c < 0) { /* WARNING: Subroutine does not return */ FUN_14006be00(); } local_d70 = 0; } if (local_58 == (undefined1 *)0x0) { FUN_14006ba50(local_dd8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401ad9a0,uVar4, pppuVar6); /* WARNING: Subroutine does not return */ _CxxThrowException(local_dd8,(ThrowInfo *)&DAT_1401a93e8); } if (local_4c < 0) { /* WARNING: Subroutine does not return */ FUN_14006be00(); } return; }