/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x140023ff0 FUN_140023ff0 * Pseudocode, not original source. */ undefined1 FUN_140023ff0(longlong *param_1,undefined8 param_2,SIZE_T param_3,uint *param_4,longlong *param_5) { undefined1 uVar1; ulonglong *puVar2; uint *puVar3; ulonglong *puVar4; SIZE_T SVar5; uint *puVar6; undefined4 local_res10 [2]; undefined4 local_40 [2]; longlong local_38; longlong local_30; int local_24; local_res10[0] = (undefined4)param_2; SVar5 = param_3; puVar6 = param_4; FUN_140074fb0(local_40); FUN_140074a40((longlong)local_40,param_2,SVar5,puVar6); FUN_14002a2d0((longlong)local_40,0x85fe,SVar5,puVar6); FUN_140029e60((longlong)local_40,(ulonglong)*param_4,SVar5,puVar6); FUN_140029e60((longlong)local_40,(param_5[1] - *param_5) / 0xa0,SVar5,puVar6); puVar3 = (uint *)*param_5; if (puVar3 != (uint *)param_5[1]) { puVar4 = (ulonglong *)(puVar3 + 0x1a); do { FUN_140029e60((longlong)local_40,(ulonglong)*puVar3,SVar5,puVar6); FUN_140029e60((longlong)local_40,(ulonglong)*(uint *)((longlong)puVar4 + -100),SVar5,puVar6); FUN_140029e60((longlong)local_40,(ulonglong)(uint)puVar4[-0xc],SVar5,puVar6); FUN_140029d80((longlong)local_40,(ulonglong)*(byte *)((longlong)puVar4 + -0x5c),SVar5,puVar6); FUN_140029e60((longlong)local_40,(ulonglong)(uint)puVar4[-0xb],SVar5,puVar6); FUN_140029e60((longlong)local_40,(ulonglong)*(uint *)((longlong)puVar4 + -0x54),SVar5,puVar6); FUN_140029e60((longlong)local_40,(ulonglong)(uint)puVar4[-10],SVar5,puVar6); FUN_140029e60((longlong)local_40,(ulonglong)*(uint *)((longlong)puVar4 + -0x4c),SVar5,puVar6); FUN_140029d80((longlong)local_40,(ulonglong)(byte)puVar4[-9],SVar5,puVar6); if (puVar4[-5] < 8) { puVar2 = puVar4 + -8; } else { puVar2 = (ulonglong *)puVar4[-8]; } FUN_1400767c0((longlong)local_40,(short *)puVar2); if (*puVar4 < 8) { puVar2 = puVar4 + -3; } else { puVar2 = (ulonglong *)puVar4[-3]; } FUN_1400767c0((longlong)local_40,(short *)puVar2); if (puVar4[5] < 8) { puVar2 = puVar4 + 2; } else { puVar2 = (ulonglong *)puVar4[2]; } FUN_1400767c0((longlong)local_40,(short *)puVar2); puVar3 = puVar3 + 0x28; puVar4 = puVar4 + 0x14; } while (puVar3 != (uint *)param_5[1]); } uVar1 = (**(code **)(*param_1 + 0x18)) (param_1,local_res10,1,param_3,local_40,L"PT_SERVER_OPTIONS",0x85fe); FUN_14008a320(&local_38); if ((local_30 != 0) && (local_24 < 0)) { /* WARNING: Subroutine does not return */ FUN_14003dec0(); } return uVar1; }