decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
86
decomp/Agent_Release_x64/full/functions/0x1400be9c0.c
Normal file
86
decomp/Agent_Release_x64/full/functions/0x1400be9c0.c
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400be9c0 FUN_1400be9c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
uint FUN_1400be9c0(undefined1 *param_1,uint param_2,longlong param_3)
|
||||
|
||||
{
|
||||
ulonglong uVar1;
|
||||
undefined8 uVar2;
|
||||
char *pcVar3;
|
||||
char *pcVar4;
|
||||
ulonglong _Size;
|
||||
undefined1 auStack_78 [32];
|
||||
undefined1 local_58 [16];
|
||||
ulonglong local_48;
|
||||
|
||||
local_48 = DAT_1401555a0 ^ (ulonglong)auStack_78;
|
||||
_Size = (ulonglong)param_2;
|
||||
if ((param_1 == (undefined1 *)0x0) || (param_3 == 0)) {
|
||||
param_2 = 0x10;
|
||||
}
|
||||
else {
|
||||
EnterCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030));
|
||||
*(int *)(param_3 + 0x1020) = *(int *)(param_3 + 0x1020) + 1;
|
||||
if (((*(int *)(param_3 + 0x1020) == 10) || (0x3f < *(uint *)(param_3 + 0x101c))) &&
|
||||
(uVar1 = FUN_1400be5b0(param_3), (int)uVar1 != 0)) {
|
||||
LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030));
|
||||
param_2 = 0;
|
||||
}
|
||||
else {
|
||||
if (0xf < param_2) {
|
||||
uVar1 = (ulonglong)(param_2 >> 4);
|
||||
do {
|
||||
FUN_1400c90a0((undefined1 *)(param_3 + 0x1008),param_1,(uint *)(param_3 + 0xe00));
|
||||
param_1 = param_1 + 0x10;
|
||||
_Size = (ulonglong)((int)_Size - 0x10);
|
||||
pcVar3 = (char *)(param_3 + 0x1008);
|
||||
do {
|
||||
*pcVar3 = *pcVar3 + '\x01';
|
||||
if (*pcVar3 != '\0') break;
|
||||
pcVar3 = pcVar3 + 1;
|
||||
} while ((longlong)pcVar3 - (param_3 + 0x1008) < 0x10);
|
||||
uVar1 = uVar1 - 1;
|
||||
} while (uVar1 != 0);
|
||||
}
|
||||
if ((int)_Size != 0) {
|
||||
pcVar3 = (char *)(param_3 + 0x1008);
|
||||
FUN_1400c90a0(pcVar3,local_58,(uint *)(param_3 + 0xe00));
|
||||
memcpy(param_1,local_58,_Size);
|
||||
pcVar4 = pcVar3;
|
||||
do {
|
||||
*pcVar4 = *pcVar4 + '\x01';
|
||||
if (*pcVar4 != '\0') break;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while ((longlong)pcVar4 - (longlong)pcVar3 < 0x10);
|
||||
}
|
||||
pcVar3 = (char *)(param_3 + 0x1008);
|
||||
FUN_1400c90a0(pcVar3,(undefined1 *)(param_3 + 0xfe8),(uint *)(param_3 + 0xe00));
|
||||
pcVar4 = pcVar3;
|
||||
do {
|
||||
*pcVar4 = *pcVar4 + '\x01';
|
||||
if (*pcVar4 != '\0') break;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while ((longlong)pcVar4 - (longlong)pcVar3 < 0x10);
|
||||
FUN_1400c90a0(pcVar3,(undefined1 *)(param_3 + 0xff8),(uint *)(param_3 + 0xe00));
|
||||
pcVar4 = pcVar3;
|
||||
do {
|
||||
*pcVar4 = *pcVar4 + '\x01';
|
||||
if (*pcVar4 != '\0') break;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while ((longlong)pcVar4 - (longlong)pcVar3 < 0x10);
|
||||
uVar2 = FUN_1400c8900((undefined1 *)(param_3 + 0xfe8),0x20,0,(uint *)(param_3 + 0xe00));
|
||||
if ((int)uVar2 == 0) {
|
||||
LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030));
|
||||
}
|
||||
else {
|
||||
LeaveCriticalSection((LPCRITICAL_SECTION)(param_3 + 0x1030));
|
||||
param_2 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
return param_2;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue