/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400f68a0 FUN_1400f68a0 * Pseudocode, not original source. */ ulonglong FUN_1400f68a0(longlong param_1,uint param_2,char *param_3,int param_4) { code *pcVar1; longlong lVar2; ulonglong uVar3; ulonglong uVar4; if (((param_3 != (char *)0x0) && (*param_3 == '1')) && (param_4 == 0x58)) { if (param_1 != 0) { *(undefined8 *)(param_1 + 0x20) = 0; if (*(longlong *)(param_1 + 0x30) == 0) { *(undefined8 *)(param_1 + 0x40) = 0; *(code **)(param_1 + 0x30) = FUN_140100cd0; } pcVar1 = *(code **)(param_1 + 0x38); if (pcVar1 == (code *)0x0) { pcVar1 = FUN_140100ce0; } *(code **)(param_1 + 0x38) = pcVar1; lVar2 = (**(code **)(param_1 + 0x30))(*(undefined8 *)(param_1 + 0x40),1,0x1be8); if (lVar2 == 0) { uVar3 = 0xfffffffc; } else { *(longlong *)(param_1 + 0x28) = lVar2; *(undefined8 *)(lVar2 + 0x38) = 0; uVar4 = FUN_1400f67f0(param_1,param_2); uVar3 = uVar4 & 0xffffffff; if ((int)uVar4 != 0) { (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40),lVar2); *(undefined8 *)(param_1 + 0x28) = 0; } } return uVar3; } return 0xfffffffe; } return 0xfffffffa; }