decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
141
decomp/Agent_Release_x64/full/functions/0x14008a700.c
Normal file
141
decomp/Agent_Release_x64/full/functions/0x14008a700.c
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x14008a700 FUN_14008a700
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_14008a700(int *param_1,wchar_t *param_2,longlong *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 *puVar1;
|
||||
int *piVar2;
|
||||
wchar_t *pwVar3;
|
||||
undefined8 *puVar4;
|
||||
int iVar5;
|
||||
longlong lVar6;
|
||||
|
||||
piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x52) + 0x58))();
|
||||
FUN_14002e6e0(piVar2);
|
||||
if (DAT_14015bfcf != '\0') {
|
||||
param_3 = (longlong *)**(longlong **)(param_1 + 0x52);
|
||||
param_2 = L"Proud::CNetThreads_S::~CNetThreads_S";
|
||||
(*(code *)param_3[0x19])();
|
||||
}
|
||||
*(undefined1 *)(param_1 + 0x50) = 1;
|
||||
FUN_14002e770((longlong)piVar2);
|
||||
puVar4 = (undefined8 *)0x0;
|
||||
if (*(undefined8 **)(param_1 + 0x22) != (undefined8 *)0x0) {
|
||||
puVar4 = (undefined8 *)**(undefined8 **)(param_1 + 0x22);
|
||||
}
|
||||
FUN_1400375f0(puVar4);
|
||||
if (*(undefined8 **)(param_1 + 0x24) == (undefined8 *)0x0) {
|
||||
puVar4 = (undefined8 *)0x0;
|
||||
}
|
||||
else {
|
||||
puVar4 = (undefined8 *)**(undefined8 **)(param_1 + 0x24);
|
||||
}
|
||||
FUN_1400375f0(puVar4);
|
||||
piVar2 = param_1;
|
||||
FUN_14002e6e0(param_1);
|
||||
iVar5 = 0;
|
||||
lVar6 = 0;
|
||||
if (0 < param_1[0x1e]) {
|
||||
do {
|
||||
if ((lVar6 < 0) || (param_1[0x1e] <= iVar5)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f5c0(piVar2,param_2,param_3,param_4);
|
||||
}
|
||||
puVar4 = *(undefined8 **)(*(longlong *)(param_1 + 0x1c) + lVar6 * 8);
|
||||
piVar2 = (int *)0x0;
|
||||
if (puVar4 != (undefined8 *)0x0) {
|
||||
piVar2 = (int *)*puVar4;
|
||||
}
|
||||
FUN_1400375f0((undefined8 *)piVar2);
|
||||
iVar5 = iVar5 + 1;
|
||||
lVar6 = lVar6 + 1;
|
||||
} while (iVar5 < param_1[0x1e]);
|
||||
}
|
||||
piVar2 = param_1;
|
||||
FUN_14002e770((longlong)param_1);
|
||||
iVar5 = 0;
|
||||
lVar6 = 0;
|
||||
if (0 < param_1[0x14]) {
|
||||
do {
|
||||
if ((lVar6 < 0) || (param_1[0x14] <= iVar5)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f5c0(piVar2,param_2,param_3,param_4);
|
||||
}
|
||||
puVar4 = *(undefined8 **)(*(longlong *)(param_1 + 0x12) + lVar6 * 8);
|
||||
piVar2 = (int *)0x0;
|
||||
if (puVar4 != (undefined8 *)0x0) {
|
||||
piVar2 = (int *)*puVar4;
|
||||
}
|
||||
FUN_1400375f0((undefined8 *)piVar2);
|
||||
iVar5 = iVar5 + 1;
|
||||
lVar6 = lVar6 + 1;
|
||||
} while (iVar5 < param_1[0x14]);
|
||||
}
|
||||
CloseHandle(*(HANDLE *)(param_1 + 0x60));
|
||||
FUN_140085cf0((longlong *)(param_1 + 0x5a));
|
||||
FUN_1400376e0((UINT *)(param_1 + 0x56));
|
||||
FUN_14003a1b0((undefined8 *)(param_1 + 0x54));
|
||||
if ((*(longlong *)(param_1 + 0x24) != 0) &&
|
||||
(*(longlong *)(*(longlong *)(param_1 + 0x24) + 8) =
|
||||
*(longlong *)(*(longlong *)(param_1 + 0x24) + 8) + -1,
|
||||
*(longlong *)(*(longlong *)(param_1 + 0x24) + 8) == 0)) {
|
||||
puVar4 = *(undefined8 **)(param_1 + 0x24);
|
||||
puVar1 = (undefined8 *)*puVar4;
|
||||
if (puVar1 != (undefined8 *)0x0) {
|
||||
FUN_140037670(puVar1);
|
||||
operator_delete(puVar1);
|
||||
}
|
||||
FUN_1400302f0(puVar4);
|
||||
}
|
||||
if ((*(longlong *)(param_1 + 0x22) != 0) &&
|
||||
(*(longlong *)(*(longlong *)(param_1 + 0x22) + 8) =
|
||||
*(longlong *)(*(longlong *)(param_1 + 0x22) + 8) + -1,
|
||||
*(longlong *)(*(longlong *)(param_1 + 0x22) + 8) == 0)) {
|
||||
puVar4 = *(undefined8 **)(param_1 + 0x22);
|
||||
puVar1 = (undefined8 *)*puVar4;
|
||||
if (puVar1 != (undefined8 *)0x0) {
|
||||
FUN_140037670(puVar1);
|
||||
operator_delete(puVar1);
|
||||
}
|
||||
FUN_1400302f0(puVar4);
|
||||
}
|
||||
*(undefined ***)(param_1 + 0x18) = Proud::CFastArray<Proud::RefCount<Proud::Thread>,0>::vftable;
|
||||
pwVar3 = (wchar_t *)(longlong)param_1[0x1e];
|
||||
if (0 < param_1[0x1e]) {
|
||||
FUN_1400bc420(*(longlong **)(param_1 + 0x1c),(longlong)pwVar3);
|
||||
param_2 = pwVar3;
|
||||
}
|
||||
pwVar3 = *(wchar_t **)(param_1 + 0x1c);
|
||||
if (pwVar3 != (wchar_t *)0x0) {
|
||||
param_3 = *(longlong **)(param_1 + 0x1a);
|
||||
if (param_3 == (longlong *)0x0) {
|
||||
FUN_1400302f0(pwVar3);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*param_3 + 0x18))(param_3);
|
||||
param_2 = pwVar3;
|
||||
}
|
||||
}
|
||||
*(undefined ***)(param_1 + 0xe) = Proud::CFastArray<Proud::RefCount<Proud::Thread>,0>::vftable;
|
||||
pwVar3 = (wchar_t *)(longlong)param_1[0x14];
|
||||
if (0 < param_1[0x14]) {
|
||||
FUN_1400bc420(*(longlong **)(param_1 + 0x12),(longlong)pwVar3);
|
||||
param_2 = pwVar3;
|
||||
}
|
||||
pwVar3 = *(wchar_t **)(param_1 + 0x12);
|
||||
if (pwVar3 != (wchar_t *)0x0) {
|
||||
param_3 = *(longlong **)(param_1 + 0x10);
|
||||
if (param_3 == (longlong *)0x0) {
|
||||
FUN_1400302f0(pwVar3);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*param_3 + 0x18))(param_3);
|
||||
param_2 = pwVar3;
|
||||
}
|
||||
}
|
||||
FUN_14002e7a0(param_1,param_2,param_3,param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue