127 lines
3.8 KiB
C
127 lines
3.8 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14008b590 FUN_14008b590
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 *
|
|
FUN_14008b590(undefined8 *param_1,longlong param_2,longlong param_3,undefined ***param_4)
|
|
|
|
{
|
|
ulonglong uVar1;
|
|
undefined1 *puVar2;
|
|
undefined1 *puVar3;
|
|
undefined1 *puVar4;
|
|
undefined8 *puVar5;
|
|
longlong lVar6;
|
|
undefined ***pppuVar7;
|
|
undefined8 uVar8;
|
|
undefined **local_50;
|
|
undefined4 local_48;
|
|
undefined2 local_44;
|
|
|
|
*param_1 = Proud::ISendDest_S::vftable;
|
|
lVar6 = param_3;
|
|
pppuVar7 = param_4;
|
|
FUN_140097920(param_1 + 1);
|
|
param_1[7] = Proud::ICompletionContext::vftable;
|
|
param_1[0x22] = 0;
|
|
param_1[0x23] = 0;
|
|
param_1[0x24] = 0;
|
|
FUN_140067a90(param_1 + 8);
|
|
param_1[0x14] = Proud::ITcpLayerOwner_S::vftable;
|
|
param_1[0x15] = 0;
|
|
FUN_140091200(param_1 + 0x18);
|
|
*param_1 = Proud::CRemoteClient_S::vftable;
|
|
param_1[1] = Proud::CRemoteClient_S::vftable;
|
|
param_1[7] = Proud::CRemoteClient_S::vftable;
|
|
param_1[8] = Proud::CRemoteClient_S::vftable;
|
|
param_1[0x14] = Proud::CRemoteClient_S::vftable;
|
|
param_1[0x18] = Proud::CRemoteClient_S::vftable;
|
|
param_1[0x21] = Proud::CRemoteClient_S::vftable;
|
|
uVar1 = FUN_140094860();
|
|
uVar1 = uVar1 & 0xffffffff;
|
|
puVar5 = param_1 + 0x25;
|
|
lVar6 = CONCAT71((int7)((ulonglong)lVar6 >> 8),1);
|
|
FUN_14003cf60((undefined4 *)puVar5,uVar1,lVar6,pppuVar7);
|
|
puVar4 = (undefined1 *)0x0;
|
|
param_1[0x3c] = 0;
|
|
FUN_14003e7c0(puVar5,uVar1,lVar6,pppuVar7);
|
|
param_1[0x3e] = PTR_DAT_14016f010;
|
|
param_1[0x40] = 0;
|
|
param_1[0x41] = 0;
|
|
param_1[0x42] = 0;
|
|
param_1[0x43] = 0;
|
|
param_1[0x3f] = Proud::ByteArray::vftable;
|
|
param_1[0x45] = 0;
|
|
param_1[0x48] = Proud::CFastArray<Proud::HostID,0>::vftable;
|
|
param_1[0x49] = 0;
|
|
param_1[0x4a] = 0;
|
|
param_1[0x4b] = 0;
|
|
param_1[0x4c] = 0;
|
|
param_1[0x4d] = 0;
|
|
param_1[0x50] = 0;
|
|
param_1[0x4e] = 0;
|
|
param_1[0x4f] = 0;
|
|
*(undefined4 *)(param_1 + 0xc9) = 0;
|
|
param_1[0xcc] = 0;
|
|
param_1[0xcd] = 0;
|
|
param_1[0xce] = 0;
|
|
param_1[0xcf] = 0;
|
|
param_1[0xcb] = Proud::ByteArray::vftable;
|
|
*(undefined1 *)(param_1 + 0xd0) = 0;
|
|
FUN_140059380((undefined1 *)(param_1 + 0xd4));
|
|
puVar5 = param_1;
|
|
FUN_140092b00((undefined2 *)(param_1 + 0xe0),param_1);
|
|
param_1[0xea] = 0;
|
|
param_1[0xec] = 0;
|
|
puVar2 = operator_new(0x140);
|
|
puVar3 = puVar4;
|
|
if (puVar2 != (undefined1 *)0x0) {
|
|
local_50 = Proud::AddrPort::vftable;
|
|
local_48 = *(undefined4 *)(param_4 + 1);
|
|
local_44 = *(undefined2 *)((longlong)param_4 + 0xc);
|
|
pppuVar7 = &local_50;
|
|
puVar5 = param_1 + 0x14;
|
|
puVar3 = FUN_140090dc0(puVar2,puVar5,param_3,(longlong)pppuVar7);
|
|
lVar6 = param_3;
|
|
}
|
|
param_1[0xe9] = puVar3;
|
|
*(undefined4 *)(param_1 + 0xed) = 0;
|
|
param_1[0x31] = 0;
|
|
param_1[0x32] = 0;
|
|
param_1[0x2c] = 0;
|
|
uVar8 = (**(code **)(*(longlong *)(param_2 + 0x118) + 8))();
|
|
param_1[0x35] = (double)DAT_14016f148;
|
|
*(undefined4 *)(param_1 + 0xdf) = 0;
|
|
*(undefined1 *)(param_1 + 0xd3) = 0;
|
|
*(undefined1 *)(param_1 + 0x46) = 0;
|
|
param_1[0x38] = 0;
|
|
param_1[0x39] = 0;
|
|
*(undefined4 *)(param_1 + 0x3d) = 0;
|
|
param_1[0x47] = param_2;
|
|
param_1[0xd2] = uVar8;
|
|
param_1[0x30] = uVar8;
|
|
param_1[0x33] = uVar8;
|
|
param_1[0x34] = uVar8;
|
|
param_1[0x37] = uVar8;
|
|
*(undefined4 *)((longlong)param_1 + 0x68a) = 0;
|
|
*(undefined1 *)(param_1 + 0xd1) = 0;
|
|
param_1[0x36] = 0;
|
|
param_1[0x3c] = 0;
|
|
param_1[0xeb] = 0;
|
|
param_1[0x3a] = 0;
|
|
param_1[0x3b] = 0;
|
|
param_1[0x44] = 0;
|
|
puVar3 = operator_new(0x20);
|
|
if (puVar3 != (undefined1 *)0x0) {
|
|
*(undefined8 *)(puVar3 + 0x18) = 0x3fe2e147ae147ae1;
|
|
*(undefined8 *)(puVar3 + 0x10) = 0;
|
|
*(undefined8 *)(puVar3 + 8) = 0;
|
|
*puVar3 = 0;
|
|
puVar4 = puVar3;
|
|
}
|
|
param_1[0xea] = puVar4;
|
|
FUN_1400dc820(param_1 + 0x4d,puVar5,lVar6,pppuVar7);
|
|
FUN_140090db0(param_1[0xe9],*(char *)(param_2 + 0x240));
|
|
return param_1;
|
|
}
|
|
|