decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
64
decomp/Agent_Release_x64/full/functions/0x1400bc4c0.c
Normal file
64
decomp/Agent_Release_x64/full/functions/0x1400bc4c0.c
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400bc4c0 FUN_1400bc4c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400bc4c0(wchar_t *param_1,LPVOID param_2,longlong *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
undefined8 *puVar1;
|
||||
LPVOID pvVar2;
|
||||
wchar_t *pwVar3;
|
||||
int iVar4;
|
||||
longlong lVar5;
|
||||
|
||||
pwVar3 = param_1;
|
||||
FUN_14002e6e0((int *)param_1);
|
||||
if (0 < *(int *)(param_1 + 0x24)) {
|
||||
pwVar3 =
|
||||
L"CHeartbeatWorkThread must be cleaned up only after every work items are unregistered!";
|
||||
FUN_14002fa10(
|
||||
L"CHeartbeatWorkThread must be cleaned up only after every work items are unregistered!"
|
||||
);
|
||||
}
|
||||
*(undefined1 *)(param_1 + 0x40) = 0;
|
||||
iVar4 = 0;
|
||||
lVar5 = 0;
|
||||
if (0 < *(int *)(param_1 + 0x34)) {
|
||||
do {
|
||||
if ((lVar5 < 0) || (*(int *)(param_1 + 0x34) <= iVar4)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f5c0(pwVar3,param_2,param_3,param_4);
|
||||
}
|
||||
puVar1 = *(undefined8 **)(*(longlong *)(param_1 + 0x30) + lVar5 * 8);
|
||||
pwVar3 = (wchar_t *)0x0;
|
||||
if (puVar1 != (undefined8 *)0x0) {
|
||||
pwVar3 = (wchar_t *)*puVar1;
|
||||
}
|
||||
FUN_1400375f0((undefined8 *)pwVar3);
|
||||
iVar4 = iVar4 + 1;
|
||||
lVar5 = lVar5 + 1;
|
||||
} while (iVar4 < *(int *)(param_1 + 0x34));
|
||||
}
|
||||
FUN_14002e770((longlong)param_1);
|
||||
*(undefined ***)(param_1 + 0x28) = Proud::CFastArray<Proud::RefCount<Proud::Thread>,0>::vftable;
|
||||
pvVar2 = (LPVOID)(longlong)*(int *)(param_1 + 0x34);
|
||||
if (0 < *(int *)(param_1 + 0x34)) {
|
||||
FUN_1400bc420(*(longlong **)(param_1 + 0x30),(longlong)pvVar2);
|
||||
param_2 = pvVar2;
|
||||
}
|
||||
pvVar2 = *(LPVOID *)(param_1 + 0x30);
|
||||
if (pvVar2 != (LPVOID)0x0) {
|
||||
param_3 = *(longlong **)(param_1 + 0x2c);
|
||||
if (param_3 == (longlong *)0x0) {
|
||||
FUN_1400302f0(pvVar2);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*param_3 + 0x18))(param_3);
|
||||
param_2 = pvVar2;
|
||||
}
|
||||
}
|
||||
FUN_1400bc060((longlong *)(param_1 + 0x1c));
|
||||
FUN_14002e7a0((undefined4 *)param_1,param_2,param_3,param_4);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue