73 lines
2.1 KiB
C
73 lines
2.1 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14003cdd0 FUN_14003cdd0
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Type propagation algorithm not settling */
|
|
|
|
void FUN_14003cdd0(longlong param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
longlong lVar2;
|
|
HANDLE FileHandle;
|
|
longlong *plVar3;
|
|
undefined8 *puVar4;
|
|
undefined1 auStack_d8 [32];
|
|
int *local_b8;
|
|
longlong *local_b0;
|
|
undefined8 local_a8;
|
|
int local_98 [4];
|
|
longlong *local_88;
|
|
undefined8 local_78;
|
|
int *local_70;
|
|
undefined1 local_68;
|
|
longlong local_60 [3];
|
|
undefined8 local_48 [3];
|
|
undefined1 local_30 [16];
|
|
ulonglong local_20;
|
|
|
|
local_78 = 0xfffffffffffffffe;
|
|
local_20 = DAT_14016f5a0 ^ (ulonglong)auStack_d8;
|
|
puVar4 = (undefined8 *)0x0;
|
|
if (param_1 != 0) {
|
|
puVar4 = *(undefined8 **)(param_1 + 0x58);
|
|
}
|
|
do {
|
|
local_98[0] = 0x10;
|
|
FileHandle = (HANDLE)Ordinal_1(*(undefined8 *)(param_1 + 0x20),local_30,local_98);
|
|
plVar3 = malloc(0x270);
|
|
*plVar3 = (longlong)FileHandle;
|
|
memcpy(plVar3 + 1,local_30,(longlong)local_98[0]);
|
|
CreateIoCompletionPort(FileHandle,*(HANDLE *)(param_1 + 0x18),(ulonglong)plVar3 & 0xffffffff,0);
|
|
local_b0 = plVar3 + 7;
|
|
*local_b0 = 0;
|
|
plVar3[8] = 0;
|
|
plVar3[9] = 0;
|
|
plVar3[10] = 0;
|
|
*(undefined4 *)(plVar3 + 0x4c) = 0x208;
|
|
plVar3[0x4d] = (longlong)(plVar3 + 0xb);
|
|
local_98[1] = 0;
|
|
local_a8 = 0;
|
|
local_b8 = local_98 + 1;
|
|
WSARecv(*plVar3,plVar3 + 0x4c,1);
|
|
lVar2 = *plVar3;
|
|
piVar1 = (int *)(puVar4 + 0xe);
|
|
local_70 = piVar1;
|
|
FUN_14003d040(piVar1);
|
|
local_68 = 1;
|
|
*(int *)(puVar4 + 0x15) = *(int *)(puVar4 + 0x15) + 1;
|
|
local_88 = FUN_14003c690(puVar4);
|
|
*local_88 = (longlong)*(int *)(puVar4 + 0x15);
|
|
local_88[1] = lVar2;
|
|
local_98[2] = *(int *)(puVar4 + 0x15);
|
|
if (puVar4[10] == 0) {
|
|
FUN_14003c840(puVar4 + 6,local_60,local_98 + 2);
|
|
}
|
|
else {
|
|
FUN_14000e3f0(puVar4 + 6,local_48,local_98 + 2,local_98 + 2);
|
|
}
|
|
printf("ApiSocket Join [Now:%d] !!!\n");
|
|
FUN_14003d0d0((longlong)piVar1);
|
|
} while( true );
|
|
}
|
|
|