decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
311
decomp/Agent_Release_x64/full/functions/0x14004b260.c
Normal file
311
decomp/Agent_Release_x64/full/functions/0x14004b260.c
Normal file
|
|
@ -0,0 +1,311 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x14004b260 FUN_14004b260
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Function: __chkstk replaced with injection: alloca_probe */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014004b6c0) */
|
||||
|
||||
void FUN_14004b260(longlong *param_1,wchar_t *param_2,SIZE_T *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
ulonglong _Size;
|
||||
uint uVar1;
|
||||
longlong lVar2;
|
||||
code *pcVar3;
|
||||
char *pcVar4;
|
||||
double dVar5;
|
||||
int *piVar6;
|
||||
ulonglong uVar7;
|
||||
undefined4 *puVar8;
|
||||
longlong lVar9;
|
||||
undefined8 uVar10;
|
||||
undefined1 *puVar11;
|
||||
undefined1 *puVar12;
|
||||
longlong lVar13;
|
||||
longlong lVar14;
|
||||
undefined8 *puVar15;
|
||||
undefined1 auStack_dd8 [32];
|
||||
int local_db8 [2];
|
||||
longlong local_db0;
|
||||
longlong local_da8;
|
||||
uint local_da0;
|
||||
int local_d9c;
|
||||
int *local_d90;
|
||||
bool local_d88;
|
||||
longlong *local_d80;
|
||||
SIZE_T local_d78;
|
||||
undefined1 local_d70;
|
||||
SIZE_T local_d68;
|
||||
undefined1 local_d60;
|
||||
longlong local_d58;
|
||||
uint uStack_d50;
|
||||
undefined4 uStack_d4c;
|
||||
int *local_d48;
|
||||
undefined1 local_d40;
|
||||
longlong local_d38;
|
||||
uint uStack_d30;
|
||||
undefined4 uStack_d2c;
|
||||
undefined8 local_d28;
|
||||
exception local_d20 [72];
|
||||
longlong local_cd8;
|
||||
undefined8 uStack_cd0;
|
||||
longlong *local_58;
|
||||
undefined4 local_50;
|
||||
int local_4c;
|
||||
ulonglong local_48;
|
||||
|
||||
puVar11 = auStack_dd8;
|
||||
puVar12 = auStack_dd8;
|
||||
local_d28 = 0xfffffffffffffffe;
|
||||
local_48 = DAT_1401555a0 ^ (ulonglong)local_db8;
|
||||
piVar6 = (int *)(**(code **)(*param_1 + 0x58))();
|
||||
local_d48 = piVar6;
|
||||
FUN_14002e6e0(piVar6);
|
||||
local_d40 = 1;
|
||||
if (DAT_14015bfcf != '\0') {
|
||||
param_3 = (SIZE_T *)*param_1;
|
||||
param_2 = L"Proud::CNetServerImpl::PurgeTooOldUnmatureClient";
|
||||
(*(code *)param_3[0x19])(param_1);
|
||||
}
|
||||
if ((int)param_1[0x2e1] < 1) {
|
||||
FUN_14002e770((longlong)piVar6);
|
||||
goto LAB_14004b778;
|
||||
}
|
||||
lVar14 = (longlong)(int)param_1[0x2e1] * 8;
|
||||
_Size = lVar14 + 0x10;
|
||||
if (_Size < 0x401) {
|
||||
uVar7 = lVar14 + 0x1f;
|
||||
if (uVar7 <= _Size) {
|
||||
uVar7 = 0xffffffffffffff0;
|
||||
}
|
||||
lVar14 = -(uVar7 & 0xfffffffffffffff0);
|
||||
puVar11 = auStack_dd8 + lVar14;
|
||||
puVar8 = (undefined4 *)((longlong)local_db8 + lVar14);
|
||||
puVar15 = (undefined8 *)0x0;
|
||||
puVar12 = auStack_dd8 + lVar14;
|
||||
if (puVar8 != (undefined4 *)0x0) {
|
||||
*puVar8 = 0xcccc;
|
||||
LAB_14004b358:
|
||||
puVar15 = (undefined8 *)(puVar8 + 4);
|
||||
puVar12 = puVar11;
|
||||
}
|
||||
}
|
||||
else {
|
||||
puVar8 = malloc(_Size);
|
||||
puVar15 = (undefined8 *)0x0;
|
||||
puVar12 = auStack_dd8;
|
||||
if (puVar8 != (undefined4 *)0x0) {
|
||||
*puVar8 = 0xdddd;
|
||||
goto LAB_14004b358;
|
||||
}
|
||||
}
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b368;
|
||||
dVar5 = FUN_14003a420((char *)(param_1 + 0xec));
|
||||
lVar13 = 0;
|
||||
lVar14 = lVar13;
|
||||
if (param_1[0x2e1] != 0) {
|
||||
lVar14 = param_1[0x2df];
|
||||
}
|
||||
for (; lVar14 != 0; lVar14 = *(longlong *)(lVar14 + 0x18)) {
|
||||
lVar2 = *(longlong *)(lVar14 + 0x10);
|
||||
if ((DAT_14015c008 < dVar5 - *(double *)(lVar2 + 0x690)) && (*(char *)(lVar2 + 0x698) == '\0'))
|
||||
{
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b3bc;
|
||||
FUN_14009c460(lVar2 + 0xc0);
|
||||
puVar15[lVar13] = lVar2;
|
||||
lVar13 = lVar13 + 1;
|
||||
}
|
||||
}
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b3d4;
|
||||
FUN_14002e770((longlong)piVar6);
|
||||
local_d40 = 0;
|
||||
while ((0 < lVar13 && (lVar14 = 0, 0 < lVar13))) {
|
||||
do {
|
||||
lVar2 = puVar15[lVar14];
|
||||
pcVar3 = *(code **)(*(longlong *)(lVar2 + 0x108) + 0x10);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b402;
|
||||
piVar6 = (int *)(*pcVar3)();
|
||||
local_d88 = false;
|
||||
local_d90 = piVar6;
|
||||
if (lVar14 == 0) {
|
||||
local_d88 = true;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b57d;
|
||||
FUN_14002e6e0(piVar6);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b586;
|
||||
FUN_1400806d0(local_db8);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b590;
|
||||
FUN_1400801a0((longlong)local_db8,param_2,(SIZE_T)param_3,param_4);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b59e;
|
||||
FUN_140080830(local_db8,0x800,(SIZE_T)param_3,param_4);
|
||||
uVar10 = 0;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b5a9;
|
||||
FUN_140080830(local_db8,0,(SIZE_T)param_3,param_4);
|
||||
uVar10 = CONCAT71((int7)((ulonglong)uVar10 >> 8),3);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b5b5;
|
||||
FUN_14001ba80((longlong)local_db8,uVar10,(SIZE_T)param_3,param_4);
|
||||
local_4c = 200;
|
||||
local_50 = 0;
|
||||
local_58 = &local_cd8;
|
||||
if (local_db0 == 0) {
|
||||
uVar1 = local_da0;
|
||||
if (local_da8 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b75f;
|
||||
FUN_140095370(0,uVar10,param_3,param_4);
|
||||
}
|
||||
}
|
||||
else {
|
||||
uVar1 = *(uint *)(local_db0 + 0x18);
|
||||
}
|
||||
lVar9 = local_da8;
|
||||
if (local_da8 == 0) {
|
||||
if (local_db0 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined **)(puVar12 + -8) = &UNK_14004b759;
|
||||
FUN_140095370(0,(ulonglong)uVar1,param_3,param_4);
|
||||
}
|
||||
lVar9 = 0;
|
||||
if (*(int *)(local_db0 + 0x18) != 0) {
|
||||
lVar9 = *(longlong *)(local_db0 + 0x10);
|
||||
}
|
||||
}
|
||||
local_50 = 1;
|
||||
uStack_cd0 = CONCAT44(uStack_d2c,uVar1);
|
||||
local_d68 = 0;
|
||||
local_d60 = 1;
|
||||
param_3 = &local_d68;
|
||||
param_2 = (wchar_t *)&local_cd8;
|
||||
pcVar4 = *(char **)(lVar2 + 0x748);
|
||||
local_d38 = lVar9;
|
||||
uStack_d30 = uVar1;
|
||||
local_cd8 = lVar9;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b650;
|
||||
FUN_14009c2b0(pcVar4,(longlong)param_2,param_3,param_4);
|
||||
if (local_58 == (longlong *)0x0) {
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b740;
|
||||
FUN_14002f1e0(local_d20,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,
|
||||
param_3,param_4);
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined **)(puVar12 + -8) = &UNK_14004b753;
|
||||
_CxxThrowException(local_d20,(ThrowInfo *)&DAT_140151b88);
|
||||
}
|
||||
if (local_4c < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined **)(puVar12 + -8) = &UNK_14004b72c;
|
||||
FUN_14002f590();
|
||||
}
|
||||
*(undefined1 *)(lVar2 + 0x698) = 1;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b67d;
|
||||
FUN_14002e770((longlong)piVar6);
|
||||
local_d88 = false;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b68f;
|
||||
FUN_14009c470(lVar2 + 0xc0);
|
||||
*puVar15 = puVar15[lVar13 + -1];
|
||||
lVar13 = lVar13 + -1;
|
||||
local_d80 = &local_db0;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b6ae;
|
||||
FUN_140095270(&local_db0);
|
||||
if ((local_da8 != 0) && (local_d9c < 0)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b726;
|
||||
FUN_14002f590();
|
||||
}
|
||||
}
|
||||
else {
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b41e;
|
||||
local_d88 = FUN_14002e730(piVar6);
|
||||
if (local_d88) {
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b435;
|
||||
FUN_1400806d0(local_db8);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b43f;
|
||||
FUN_1400801a0((longlong)local_db8,param_2,(SIZE_T)param_3,param_4);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b44d;
|
||||
FUN_140080830(local_db8,0x800,(SIZE_T)param_3,param_4);
|
||||
uVar10 = 0;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b458;
|
||||
FUN_140080830(local_db8,0,(SIZE_T)param_3,param_4);
|
||||
uVar10 = CONCAT71((int7)((ulonglong)uVar10 >> 8),3);
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b464;
|
||||
FUN_14001ba80((longlong)local_db8,uVar10,(SIZE_T)param_3,param_4);
|
||||
local_4c = 200;
|
||||
local_50 = 0;
|
||||
local_58 = &local_cd8;
|
||||
if (local_db0 == 0) {
|
||||
uVar1 = local_da0;
|
||||
if (local_da8 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b720;
|
||||
FUN_140095370(0,uVar10,0,param_4);
|
||||
}
|
||||
}
|
||||
else {
|
||||
uVar1 = *(uint *)(local_db0 + 0x18);
|
||||
}
|
||||
lVar9 = local_da8;
|
||||
if (local_da8 == 0) {
|
||||
if (local_db0 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined **)(puVar12 + -8) = &UNK_14004b71a;
|
||||
FUN_140095370(0,(ulonglong)uVar1,0,param_4);
|
||||
}
|
||||
lVar9 = 0;
|
||||
if (*(int *)(local_db0 + 0x18) != 0) {
|
||||
lVar9 = *(longlong *)(local_db0 + 0x10);
|
||||
}
|
||||
}
|
||||
local_50 = 1;
|
||||
uStack_cd0 = CONCAT44(uStack_d4c,uVar1);
|
||||
local_d78 = 0;
|
||||
local_d70 = 1;
|
||||
param_3 = &local_d78;
|
||||
param_2 = (wchar_t *)&local_cd8;
|
||||
pcVar4 = *(char **)(lVar2 + 0x748);
|
||||
local_d58 = lVar9;
|
||||
uStack_d50 = uVar1;
|
||||
local_cd8 = lVar9;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b4fa;
|
||||
FUN_14009c2b0(pcVar4,(longlong)param_2,param_3,param_4);
|
||||
if (local_58 == (longlong *)0x0) {
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b701;
|
||||
FUN_14002f1e0(local_d20,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401569a0,
|
||||
param_3,param_4);
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined **)(puVar12 + -8) = &UNK_14004b714;
|
||||
_CxxThrowException(local_d20,(ThrowInfo *)&DAT_140151b88);
|
||||
}
|
||||
if (local_4c < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined **)(puVar12 + -8) = &UNK_14004b6ed;
|
||||
FUN_14002f590();
|
||||
}
|
||||
*(undefined1 *)(lVar2 + 0x698) = 1;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b527;
|
||||
FUN_14002e770((longlong)piVar6);
|
||||
local_d88 = false;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b539;
|
||||
FUN_14009c470(lVar2 + 0xc0);
|
||||
puVar15[lVar14] = puVar15[lVar13 + -1];
|
||||
lVar13 = lVar13 + -1;
|
||||
local_d80 = &local_db0;
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b559;
|
||||
FUN_140095270(&local_db0);
|
||||
if ((local_da8 != 0) && (local_d9c < 0)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b6e7;
|
||||
FUN_14002f590();
|
||||
}
|
||||
}
|
||||
}
|
||||
lVar14 = lVar14 + 1;
|
||||
} while (lVar14 < lVar13);
|
||||
}
|
||||
if ((puVar15 != (undefined8 *)0x0) && (*(int *)(puVar15 + -2) == 0xdddd)) {
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b777;
|
||||
free(puVar15 + -2);
|
||||
}
|
||||
LAB_14004b778:
|
||||
*(undefined8 *)(puVar12 + -8) = 0x14004b787;
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue