/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400a32e0 FUN_1400a32e0 * Pseudocode, not original source. */ void FUN_1400a32e0(longlong param_1,undefined8 *param_2) { int *piVar1; longlong lVar2; undefined1 uVar3; longlong lVar4; piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0x70) + 0x58))(); FUN_14006b350(piVar1); *param_2 = *(undefined8 *)(param_1 + 0x5e8); param_2[1] = *(undefined8 *)(param_1 + 0x5f0); param_2[2] = *(undefined8 *)(param_1 + 0x5f8); param_2[3] = *(undefined8 *)(param_1 + 0x600); param_2[4] = *(undefined8 *)(param_1 + 0x608); param_2[5] = *(undefined8 *)(param_1 + 0x610); param_2[6] = *(undefined8 *)(param_1 + 0x618); param_2[7] = *(undefined8 *)(param_1 + 0x620); *(int *)(param_2 + 6) = (int)*(undefined8 *)(param_1 + 0x1600); if ((*(longlong **)(param_1 + 0x1500) == (longlong *)0x0) || (lVar2 = **(longlong **)(param_1 + 0x1500), lVar2 == 0)) { uVar3 = 0; } else { uVar3 = *(undefined1 *)(lVar2 + 0x80); } *(undefined1 *)((longlong)param_2 + 0x34) = uVar3; *(undefined4 *)(param_1 + 0x620) = 0; if (*(longlong *)(param_1 + 0x1600) == 0) { lVar2 = 0; } else { lVar2 = *(longlong *)(param_1 + 0x15f0); } for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x10)) { lVar4 = 0; if (*(longlong **)(lVar2 + 8) != (longlong *)0x0) { lVar4 = **(longlong **)(lVar2 + 8); } if (*(char *)(lVar4 + 0x608) == '\0') { *(int *)(param_1 + 0x620) = *(int *)(param_1 + 0x620) + 1; } } FUN_14006b3e0((longlong)piVar1); return; }