/* 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); }