40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x1400ae6c0 FUN_1400ae6c0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400ae6c0(undefined8 *param_1,undefined8 param_2,longlong *param_3,undefined8 param_4)
|
|
|
|
{
|
|
undefined8 *puVar1;
|
|
longlong *plVar2;
|
|
LPVOID pvVar3;
|
|
|
|
*param_1 = Proud::CDiscoveringNatDevice::vftable;
|
|
FUN_14001c020(param_1 + 0x4a7);
|
|
param_1[0x4a2] = Proud::CFastArray<unsigned_char,0>::vftable;
|
|
pvVar3 = (LPVOID)param_1[0x4a4];
|
|
if (pvVar3 != (LPVOID)0x0) {
|
|
if ((longlong *)param_1[0x4a3] == (longlong *)0x0) {
|
|
FUN_1400302f0(pvVar3);
|
|
}
|
|
else {
|
|
(**(code **)(*(longlong *)param_1[0x4a3] + 0x18))();
|
|
}
|
|
}
|
|
FUN_14001c020(param_1 + 0x491);
|
|
if ((param_1[0x490] != 0) &&
|
|
(*(longlong *)(param_1[0x490] + 8) = *(longlong *)(param_1[0x490] + 8) + -1,
|
|
*(longlong *)(param_1[0x490] + 8) == 0)) {
|
|
puVar1 = (undefined8 *)param_1[0x490];
|
|
plVar2 = (longlong *)*puVar1;
|
|
if (plVar2 != (longlong *)0x0) {
|
|
FUN_1400358a0(plVar2,pvVar3,param_3,param_4);
|
|
FUN_1400302f0(plVar2);
|
|
}
|
|
FUN_1400302f0(puVar1);
|
|
}
|
|
FUN_14001c020(param_1 + 1);
|
|
*param_1 = Proud::IFastSocketDelegate::vftable;
|
|
return;
|
|
}
|
|
|