/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14007e130 FUN_14007e130 * Pseudocode, not original source. */ int FUN_14007e130(longlong param_1,longlong param_2,int param_3) { int *piVar1; longlong lVar2; int iVar3; longlong lVar4; piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8); FUN_14006b350(piVar1); if (DAT_1401b42cf != '\0') { (**(code **)(*(longlong *)(param_1 + -0xa8) + 200))(param_1 + -0xa8); } iVar3 = 0; if (*(longlong *)(param_1 + 0xbf0) == 0) { lVar2 = 0; } else { lVar2 = *(longlong *)(param_1 + 0xbe0); } lVar4 = 0; if (0 < param_3) { do { if (lVar2 == 0) break; if (lVar2 == 0) { /* WARNING: Subroutine does not return */ FUN_1400064e0(0x80004005); } *(undefined4 *)(param_2 + lVar4 * 4) = *(undefined4 *)(*(longlong *)(lVar2 + 8) + 0x6f8); iVar3 = iVar3 + 1; lVar4 = lVar4 + 1; if (lVar2 != 0) { lVar2 = *(longlong *)(lVar2 + 0x10); } } while (lVar4 < param_3); } FUN_14006b3e0((longlong)piVar1); return iVar3; }