267 lines
7.8 KiB
C
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);
|
|
}
|
|
|