/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400cfae0 FUN_1400cfae0 * Pseudocode, not original source. */ void FUN_1400cfae0(longlong param_1) { longlong *plVar1; int *piVar2; longlong lVar3; longlong lVar4; undefined1 local_res8 [8]; undefined4 local_res10 [2]; undefined8 uVar5; int *piVar6; undefined1 uVar7; uVar5 = 0xfffffffffffffffe; piVar2 = (int *)(param_1 + 0x98); piVar6 = piVar2; FUN_14006b350(piVar2); uVar7 = 1; lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x10))(); if (lVar3 == 0) { lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x18))(); if (lVar3 != 0) { (**(code **)(*(longlong *)(param_1 + 0x68) + 0x90)) (param_1 + 0x68,1,&DAT_1401b6110,*(longlong *)(param_1 + 0x68),uVar5,piVar6,uVar7); if (*(longlong *)(lVar3 + 0xc98) == 0) { lVar3 = 0; } else { lVar3 = *(longlong *)(lVar3 + 0xc88); } for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { (**(code **)(*(longlong *)(param_1 + 0x68) + 0xa0)) (param_1 + 0x68,1,&DAT_1401b6110,*(longlong *)(lVar3 + 8) + 0x6f8); } } } else { local_res8[0] = 0; local_res10[0] = (**(code **)(*(longlong *)(lVar3 + 0x70) + 0x108))((longlong *)(lVar3 + 0x70),local_res8); plVar1 = (longlong *)(param_1 + 0x68); (**(code **)(*plVar1 + 0x60))(plVar1,1,&DAT_1401b6110,local_res10); (**(code **)(*plVar1 + 0x70))(plVar1,1,&DAT_1401b6110); lVar4 = 0; if (*(longlong *)(lVar3 + 0x1670) != 0) { lVar4 = *(longlong *)(lVar3 + 0x1660); } for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) { lVar3 = 0; if (*(longlong **)(lVar4 + 8) != (longlong *)0x0) { lVar3 = **(longlong **)(lVar4 + 8); } (**(code **)(*plVar1 + 0x80))(plVar1,1,&DAT_1401b6110,lVar3 + 0x56c); } } FUN_14006b3e0((longlong)piVar2); return; }