63 lines
2 KiB
C
63 lines
2 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400c7790 FUN_1400c7790
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_1400c7790(longlong param_1,undefined8 *param_2)
|
|
|
|
{
|
|
bool bVar1;
|
|
uint uVar2;
|
|
undefined *puVar3;
|
|
longlong lVar4;
|
|
undefined8 uVar5;
|
|
IMAGE_DOS_HEADER *pIVar6;
|
|
int *piVar7;
|
|
wchar_t *pwVar8;
|
|
int *piVar9;
|
|
TypeDescriptor *pTVar10;
|
|
ulonglong uVar11;
|
|
TypeDescriptor *pTVar12;
|
|
undefined *local_res18;
|
|
|
|
pTVar12 = &Proud::CTcpLayer_C::RTTI_Type_Descriptor;
|
|
pTVar10 = &Proud::ICompletionContext::RTTI_Type_Descriptor;
|
|
uVar5 = 0;
|
|
puVar3 = (undefined *)__RTDynamicCast(*param_2);
|
|
if (puVar3 == (undefined *)0x0) {
|
|
uVar5 = 0;
|
|
}
|
|
else {
|
|
piVar9 = (int *)(param_1 + 0x10);
|
|
local_res18 = puVar3;
|
|
FUN_14003d040(piVar9);
|
|
bVar1 = true;
|
|
if (*(int *)(param_2 + 2) == 1) {
|
|
lVar4 = (**(code **)(**(longlong **)(puVar3 + 0x120) + 0x38))();
|
|
uVar5 = FUN_1400c1230(lVar4,(ulonglong)param_2,pTVar10,pTVar12);
|
|
}
|
|
else if (*(int *)(param_2 + 2) == 2) {
|
|
pIVar6 = (IMAGE_DOS_HEADER *)(**(code **)(**(longlong **)(puVar3 + 0x120) + 0x38))();
|
|
uVar5 = FUN_1400c7080(pIVar6,(longlong)param_2,&pTVar10->pVFTable,&pTVar12->pVFTable);
|
|
}
|
|
else {
|
|
piVar7 = piVar9;
|
|
FUN_14003d0d0((longlong)piVar9);
|
|
bVar1 = false;
|
|
FUN_14003e7c0(piVar7,uVar5,pTVar10,pTVar12);
|
|
local_res18 = PTR_DAT_14016f010;
|
|
uVar2 = FUN_14003e620(L"Unexpected at Client IOCP TCP completion!");
|
|
puVar3 = FUN_140001ee0((longlong *)&local_res18,uVar2);
|
|
uVar11 = (ulonglong)uVar2;
|
|
pwVar8 = L"Unexpected at Client IOCP TCP completion!";
|
|
FUN_14003e650(puVar3,L"Unexpected at Client IOCP TCP completion!",uVar2);
|
|
FUN_140001fc0((longlong *)&local_res18);
|
|
uVar5 = FUN_1400416f0((longlong *)&local_res18,pwVar8,uVar11,pTVar12);
|
|
}
|
|
if (bVar1) {
|
|
uVar5 = FUN_14003d0d0((longlong)piVar9);
|
|
}
|
|
uVar5 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
|
}
|
|
return uVar5;
|
|
}
|
|
|