85 lines
2.6 KiB
C
85 lines
2.6 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d32e0 FUN_1400d32e0
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 * FUN_1400d32e0(undefined8 *param_1,longlong param_2,longlong param_3,undefined8 param_4)
|
|
|
|
{
|
|
undefined8 *puVar1;
|
|
longlong lVar2;
|
|
longlong *plVar3;
|
|
longlong *plVar4;
|
|
longlong *plVar5;
|
|
longlong lVar6;
|
|
undefined8 uVar7;
|
|
|
|
*param_1 = Proud::ICompletionContext::vftable;
|
|
lVar6 = param_3;
|
|
FUN_1400434f0(param_1 + 8);
|
|
*param_1 = Proud::CUdpSocket_C::vftable;
|
|
param_1[8] = Proud::CUdpSocket_C::vftable;
|
|
plVar5 = (longlong *)0x0;
|
|
param_1[0x20] = 0;
|
|
param_1[0x21] = 0;
|
|
param_1[0x22] = 0;
|
|
param_1[0x25] = Proud::AddrPort::vftable;
|
|
*(undefined4 *)(param_1 + 0x26) = 0;
|
|
*(undefined2 *)((longlong)param_1 + 0x134) = 0;
|
|
param_1[0x27] = Proud::AddrPort::vftable;
|
|
*(undefined4 *)(param_1 + 0x28) = 0;
|
|
*(undefined2 *)((longlong)param_1 + 0x144) = 0;
|
|
param_1[0x31] = 0;
|
|
*(undefined4 *)(param_1 + 0x28) = DAT_14016f3d0;
|
|
*(undefined2 *)((longlong)param_1 + 0x144) = DAT_14016f3d4;
|
|
*(undefined4 *)(param_1 + 0x26) = *(undefined4 *)(param_1 + 0x28);
|
|
*(undefined2 *)((longlong)param_1 + 0x134) = *(undefined2 *)((longlong)param_1 + 0x144);
|
|
*(undefined1 *)(param_1 + 0x10) = 0;
|
|
*(undefined1 *)(param_1 + 0x18) = 0;
|
|
param_1[0x29] = 0;
|
|
uVar7 = (**(code **)(*(longlong *)(param_2 + 0x70) + 0x1c0))();
|
|
param_1[0x30] = uVar7;
|
|
param_1[0x23] = param_2;
|
|
param_1[0x24] = param_3;
|
|
puVar1 = operator_new(0x90);
|
|
plVar3 = plVar5;
|
|
if (puVar1 != (undefined8 *)0x0) {
|
|
if (param_3 == 0) {
|
|
lVar6 = param_2 + 0x90;
|
|
}
|
|
else {
|
|
lVar6 = param_3 + 0x10;
|
|
}
|
|
lVar2 = (**(code **)(*(longlong *)(param_2 + 0x88) + 0x18))();
|
|
plVar3 = FUN_1400909c0(puVar1,lVar2,lVar6);
|
|
}
|
|
param_1[0x21] = plVar3;
|
|
plVar4 = operator_new(0x6b8);
|
|
plVar3 = plVar5;
|
|
if (plVar4 != (longlong *)0x0) {
|
|
*plVar4 = 0;
|
|
plVar4[3] = 0;
|
|
plVar4[1] = 0;
|
|
plVar4[2] = 100;
|
|
plVar4[0xcf] = (longlong)Proud::CFastArray<Proud::UdpPacketCtx*___ptr64,1>::vftable;
|
|
plVar4[0xd0] = 0;
|
|
plVar4[0xd1] = 0;
|
|
plVar4[0xd2] = 0;
|
|
plVar4[0xd3] = 0;
|
|
plVar4[0xd4] = (longlong)Proud::AddrPort::vftable;
|
|
*(undefined4 *)(plVar4 + 0xd5) = 0;
|
|
*(undefined2 *)((longlong)plVar4 + 0x6ac) = 0;
|
|
plVar3 = plVar4;
|
|
}
|
|
param_1[0x22] = plVar3;
|
|
FUN_14008c7f0(param_1[0x21]);
|
|
puVar1 = operator_new(0x60);
|
|
if (puVar1 != (undefined8 *)0x0) {
|
|
if (param_1[0x23] != 0) {
|
|
plVar5 = (longlong *)(param_1[0x23] + 0x88);
|
|
}
|
|
plVar5 = FUN_140090b20(puVar1,plVar5,lVar6,param_4);
|
|
}
|
|
param_1[0x31] = plVar5;
|
|
return param_1;
|
|
}
|
|
|