server-re/decomp/AgentManager_Release_x64/0x140015290.pseudo.c
2026-10-15 09:58:24 -04:00

267 lines
7.8 KiB
C

/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
undefined8
FUN_140015290(longlong param_1,uint param_2,undefined8 param_3,longlong *param_4,longlong *param_5)
{
longlong lVar1;
short sVar2;
undefined8 *puVar3;
ulonglong *puVar4;
int iVar5;
undefined4 extraout_var;
undefined8 uVar6;
undefined8 extraout_RAX;
undefined8 extraout_RAX_00;
ulonglong uVar7;
undefined *puVar8;
short *psVar9;
ulonglong *puVar10;
ulonglong *puVar11;
short *psVar12;
ulonglong *puVar13;
undefined *puVar14;
longlong *plVar15;
int *piVar16;
ulonglong uVar17;
ulonglong *puVar18;
ulonglong *puVar19;
undefined1 auStack_1f8 [32];
ulonglong **local_1d8;
uint local_1c8;
int local_1c4;
ulonglong *local_1c0;
ulonglong *puStack_1b8;
ulonglong local_1b0;
ulonglong *local_1a8;
ulonglong *local_1a0;
ulonglong *local_198;
longlong local_188;
ulonglong *local_180;
ulonglong *local_178;
undefined8 local_170;
ulonglong *local_160;
longlong *local_158;
undefined8 local_150;
undefined4 local_148;
uint local_144;
void *local_120;
ulonglong local_108;
undefined2 local_f8;
undefined6 uStack_f6;
undefined8 local_e8;
ulonglong local_e0;
undefined2 local_d0;
undefined6 uStack_ce;
undefined8 local_c0;
ulonglong local_b8;
ulonglong *local_a8;
ulonglong *puStack_a0;
ulonglong local_98;
ulonglong local_90;
ulonglong local_88;
ulonglong local_80;
ulonglong local_78;
void *local_70;
undefined8 local_68;
undefined8 local_60;
ulonglong local_48;
local_150 = 0xfffffffffffffffe;
local_48 = DAT_14016f5a0 ^ (ulonglong)auStack_1f8;
uVar17 = (ulonglong)(int)param_2;
puVar13 = (ulonglong *)0x0;
plVar15 = param_4;
local_1c8 = param_2;
if (*(longlong *)(DAT_14017cf38 + 0x58) != 0) {
for (puVar3 = *(undefined8 **)
(*(longlong *)(DAT_14017cf38 + 0x38) +
(uVar17 % *(ulonglong *)(DAT_14017cf38 + 0x40)) * 8); puVar3 != (undefined8 *)0x0
; puVar3 = (undefined8 *)*puVar3) {
if (param_2 == *(uint *)(puVar3 + 1)) {
if ((puVar3 != (undefined8 *)0x0) &&
(plVar15 = (longlong *)puVar3[2], plVar15 != (longlong *)0x0)) {
psVar9 = (short *)*param_4;
if ((short *)*param_4 == (short *)0x0) {
psVar9 = (short *)PTR_DAT_14016f010;
}
uVar7 = 0xffffffffffffffff;
psVar12 = psVar9;
goto code_r0x000140015344;
}
break;
}
}
}
goto LAB_140015357;
while( true ) {
uVar7 = uVar7 - 1;
sVar2 = *psVar12;
psVar12 = psVar12 + 1;
if (sVar2 == 0) break;
code_r0x000140015344:
if (uVar7 == 0) break;
}
FUN_140001710((ulonglong *)(plVar15 + 1),psVar9,~uVar7 - 1);
LAB_140015357:
puVar14 = (undefined *)*param_4;
if ((undefined *)*param_4 == (undefined *)0x0) {
puVar14 = PTR_DAT_14016f010;
}
FUN_1400ef250(DAT_14017c8a8,L"MONITOR AUTH : ID[%s]",puVar14,plVar15);
local_1c4 = 0;
puVar14 = (undefined *)*param_5;
if ((undefined *)*param_5 == (undefined *)0x0) {
puVar14 = PTR_DAT_14016f010;
}
puVar8 = (undefined *)*param_4;
if ((undefined *)*param_4 == (undefined *)0x0) {
puVar8 = PTR_DAT_14016f010;
}
FUN_140009d00(*(longlong *)(param_1 + 0x60),(longlong)puVar8,(longlong)puVar14,&local_1c4);
plVar15 = (longlong *)(param_1 + 0x40);
piVar16 = &local_1c4;
puVar14 = &DAT_14016f5d0;
local_158 = plVar15;
(**(code **)(*plVar15 + 0x30))(plVar15,param_2,&DAT_14016f5d0);
if (local_1c4 < 1) {
iVar5 = printf(&DAT_1401306c0);
uVar6 = CONCAT44(extraout_var,iVar5);
goto LAB_14001571c;
}
psVar9 = (short *)*param_4;
if ((short *)*param_4 == (short *)0x0) {
psVar9 = (short *)PTR_DAT_14016f010;
}
local_188 = param_1 + -8;
FUN_140012160(local_188,psVar9,CONCAT71((int7)((ulonglong)puVar14 >> 8),1),piVar16);
local_180 = (ulonglong *)0x0;
local_178 = (ulonglong *)0x0;
local_170 = 0;
FUN_140039b70(DAT_14017cf20,(ulonglong *)&local_180);
(**(code **)(*plVar15 + 0x40))(plVar15,param_2,&DAT_14016f5d0,&local_180);
local_1a8 = (ulonglong *)0x0;
local_1a0 = (ulonglong *)0x0;
local_198 = (ulonglong *)0x0;
if (*(longlong *)(DAT_14017cf20 + 0x58) == 0) {
local_1c0 = (ulonglong *)0x0;
LAB_14001547b:
puStack_1b8 = (ulonglong *)0x0;
}
else {
local_1c0 = *(ulonglong **)(DAT_14017cf20 + 0x68);
if (local_1c0 == (ulonglong *)0x0) goto LAB_14001547b;
puStack_1b8 = (ulonglong *)*local_1c0;
}
puVar10 = puStack_1b8;
puVar11 = local_1c0;
puVar18 = puVar13;
puVar19 = puVar13;
if (puStack_1b8 != (ulonglong *)0x0) {
do {
puVar4 = (ulonglong *)puVar10[2];
if (puVar4 != (ulonglong *)0x0) {
if ((puVar4 < puVar13) && (puVar18 <= puVar4)) {
lVar1 = ((longlong)puVar4 - (longlong)puVar18) +
SUB168(SEXT816(-0x7bdef7bdef7bdef7) *
SEXT816((longlong)puVar4 - (longlong)puVar18),8);
if (puVar13 == puVar19) {
FUN_14003a7e0((longlong *)&local_1a8);
puVar13 = local_1a0;
puVar18 = local_1a8;
puVar19 = local_198;
}
local_1c0 = puVar13;
local_160 = puVar13;
if (puVar13 != (ulonglong *)0x0) {
FUN_140003c50((undefined4 *)puVar13,
(undefined4 *)(puVar18 + ((lVar1 >> 7) - (lVar1 >> 0x3f)) * 0x1f));
}
}
else {
if (puVar13 == puVar19) {
FUN_14003a7e0((longlong *)&local_1a8);
puVar13 = local_1a0;
puVar18 = local_1a8;
puVar19 = local_198;
}
local_1c0 = puVar13;
local_160 = puVar13;
if (puVar13 != (ulonglong *)0x0) {
FUN_140003c50((undefined4 *)puVar13,(undefined4 *)puVar4);
}
}
puVar13 = puVar13 + 0x1f;
local_1a0 = puVar13;
}
puVar10 = (ulonglong *)*puVar10;
while (puVar10 == (ulonglong *)0x0) {
puVar11 = puVar11 + 1;
puVar10 = (ulonglong *)*puVar11;
}
if (puVar11 == puVar10) {
puVar10 = (ulonglong *)0x0;
}
} while (puVar10 != (ulonglong *)0x0);
uVar17 = (ulonglong)local_1c8;
plVar15 = local_158;
}
if (puVar18 != puVar13) {
puVar10 = puVar18 + 0x17;
do {
FUN_140004f20(&local_148,(undefined4 *)(puVar10 + -0x17));
local_a8 = (ulonglong *)puVar10[-3];
puStack_a0 = (ulonglong *)puVar10[-2];
local_98 = puVar10[-1];
local_90 = *puVar10;
local_88 = puVar10[1];
local_80 = puVar10[2];
local_78 = puVar10[3];
FUN_140004de0(&local_70,(longlong *)(puVar10 + 4));
local_1c8 = local_144;
local_1c0 = local_a8;
puStack_1b8 = puStack_a0;
local_1b0 = local_98;
local_1d8 = &local_1c0;
(**(code **)(*plVar15 + 0x50))(plVar15,uVar17 & 0xffffffff,&DAT_14016f5d0,&local_1c8);
if (local_70 != (void *)0x0) {
operator_delete(local_70);
}
local_70 = (void *)0x0;
local_68 = 0;
local_60 = 0;
if (7 < local_b8) {
operator_delete((void *)CONCAT62(uStack_ce,local_d0));
}
local_b8 = 7;
local_c0 = 0;
local_d0 = 0;
if (7 < local_e0) {
operator_delete((void *)CONCAT62(uStack_f6,local_f8));
}
local_e0 = 7;
local_e8 = 0;
local_f8 = 0;
if (7 < local_108) {
operator_delete(local_120);
}
puVar11 = puVar10 + 8;
puVar10 = puVar10 + 0x1f;
} while (puVar11 != puVar13);
}
uVar6 = FUN_140012820(local_188,(int)uVar17);
if (puVar18 != (ulonglong *)0x0) {
FUN_140004ba0(puVar18,puVar13);
operator_delete(puVar18);
uVar6 = extraout_RAX;
}
if (local_180 != (ulonglong *)0x0) {
FUN_14000a5f0(local_180,local_178);
operator_delete(local_180);
uVar6 = extraout_RAX_00;
}
LAB_14001571c:
return CONCAT71((int7)((ulonglong)uVar6 >> 8),1);
}