/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400b09b0 FUN_1400b09b0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Type propagation algorithm not settling */ void FUN_1400b09b0(uint *******param_1,longlong param_2,undefined8 param_3,uint ******param_4) { uint ***********pppppppppppuVar1; char cVar2; uint ***********pppppppppppuVar3; char *pcVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; int iVar9; undefined8 uVar10; int *piVar11; undefined8 *puVar12; void *_Src; undefined8 *puVar13; uint ************ppppppppppppuVar14; int *piVar15; uint *puVar16; uint *************pppppppppppppuVar17; longlong *plVar18; uint *************pppppppppppppuVar19; uint ***********pppppppppppuVar20; char **ppcVar21; uint *************pppppppppppppuVar22; uint *************pppppppppppppuVar23; uint *************pppppppppppppuVar24; uint *************pppppppppppppuVar25; undefined8 uVar26; LPCWSTR pWVar27; uint *************pppppppppppppuVar28; uint *************pppppppppppppuVar29; longlong lVar30; size_t _Size; uint uVar31; uint uVar32; ulonglong uVar33; double dVar34; undefined1 auStack_218 [32]; uint ***********local_1f8; uint *************local_1f0; uint *************local_1e8; uint *************local_1e0; uint *************local_1d8; undefined8 local_1d0; undefined **local_1c8; undefined4 local_1c0; undefined2 local_1bc; int local_1b8; longlong local_1b0; longlong local_1a8; longlong *local_1a0; int *local_198; undefined1 local_190; int *local_188; undefined1 local_180; uint ***********local_178; uint *************local_170; uint ***********local_168; uint *************local_160; int *local_158; undefined1 local_150; int *local_148; undefined1 local_140; int *local_138; undefined1 local_130; int *local_128; undefined1 local_120; undefined8 local_118; uint ************local_110; uint *************local_108; int *local_100; undefined1 local_f8; char *local_e8; char local_e0 [136]; ulonglong local_58; local_118 = 0xfffffffffffffffe; local_58 = DAT_1401555a0 ^ (ulonglong)auStack_218; plVar18 = (longlong *)(param_2 + 0x10); pppppppppppppuVar24 = (uint *************)0x0; uVar31 = 0; local_1d8 = (uint *************)param_1; local_1b0 = param_2; local_1a0 = plVar18; do { local_1c8 = Proud::AddrPort::vftable; uVar32 = 0; local_1b8 = 0; local_1d0 = 0; local_1c0 = DAT_1401553d0; local_1bc = DAT_1401553d4; pppppppppppppuVar28 = pppppppppppppuVar24; if ((undefined8 *)*plVar18 != (undefined8 *)0x0) { pppppppppppppuVar28 = *(uint **************)*plVar18; } puVar12 = &local_1d0; uVar26 = 0; uVar10 = FUN_140035150((longlong)pppppppppppppuVar28,0,(undefined4 *)puVar12); if ((char)uVar10 == '\0') { return; } *(undefined1 *)(param_2 + 0xc0) = 0; if ((local_1d0._4_4_ != 0) || (local_1b8 == 0)) { *(undefined4 *)(param_2 + 0x18) = 3; local_1a8 = 0; FUN_140031f40(plVar18,&local_1a8); return; } FUN_140030200(pppppppppppppuVar28,uVar26,puVar12,param_4); local_1f8 = (uint ***********)PTR_DAT_140155008; local_110 = &local_1f8; uVar8 = local_1b8 + 2U; if ((int)(local_1b8 + 2U) < 1) { uVar8 = uVar32; } uVar5 = 1; if (1 < (int)uVar8) { uVar5 = uVar8; } pppppppppppppuVar28 = (uint *************)local_1f8; if (0 < (int)uVar5) { if ((int)uVar5 < 0) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } if (uVar5 == 0) { pppppppppppppuVar28 = (uint *************)local_1f8; } else { puVar16 = (uint *)FUN_140030280((longlong)(int)uVar5 + 9); if (puVar16 != (uint *)0x0) { *puVar16 = 0; puVar16[1] = 1; } *puVar16 = uVar5; uVar8 = uVar32; if ((local_1f8 != (uint ***********)0x0) && (local_1f8 != (uint ***********)PTR_DAT_140155008)) { uVar8 = *(uint *)(local_1f8 + -1); } pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; if ((int)uVar5 < (int)uVar8) { LAB_1400b0b27: if (local_1f8 != (uint ***********)0x0) { pppppppppppuVar20 = local_1f8; } } else { uVar5 = uVar32; if (local_1f8 != (uint ***********)0x0) { if (local_1f8 != (uint ***********)PTR_DAT_140155008) { uVar5 = *(uint *)(local_1f8 + -1); } goto LAB_1400b0b27; } } pppppppppppppuVar28 = (uint *************)(puVar16 + 2); uVar33 = (ulonglong)uVar5; pppppppppppppuVar29 = pppppppppppppuVar28; param_4 = (uint ******)pppppppppppuVar20; FUN_140030150(pppppppppppppuVar28,pppppppppppuVar20,uVar5); pppppppppppuVar3 = local_1f8; if (((local_1f8 != (uint ***********)0x0) && (local_1f8 != (uint ***********)PTR_DAT_140155008)) && (pppppppppppuVar1 = local_1f8 + -1, pppppppppppuVar1 != (uint ***********)0x0)) { piVar11 = (int *)FUN_140030200(pppppppppppppuVar29,pppppppppppuVar20,uVar33,param_4); local_138 = piVar11; FUN_14002e6e0(piVar11); local_130 = 1; piVar15 = (int *)((longlong)pppppppppppuVar3 + -4); *piVar15 = *piVar15 + -1; if (*piVar15 == 0) { FUN_1400302f0(pppppppppppuVar1); } FUN_14002e770((longlong)piVar11); local_130 = 0; } } } local_1f8 = (uint ***********)pppppppppppppuVar28; pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; if (((local_1f8 == (uint ***********)0x0) || (pppppppppppuVar20 = local_1f8, local_1f8 == (uint ***********)PTR_DAT_140155008)) || (local_1f8 + -1 == (uint ***********)0x0)) { local_1f8 = pppppppppppuVar20; puVar12 = (undefined8 *)FUN_140030280(9); *puVar12 = 0; *(undefined1 *)(puVar12 + 1) = 0; if (puVar12 != (undefined8 *)0x0) { *(undefined4 *)puVar12 = 0; *(undefined4 *)((longlong)puVar12 + 4) = 1; } *(undefined1 *)(puVar12 + 1) = 0; pppppppppppppuVar28 = (uint *************)(puVar12 + 1); } else { pppppppppppppuVar28 = (uint *************)local_1f8; if (1 < (int)*(uint *)((longlong)local_1f8 + -4)) { uVar8 = *(uint *)(local_1f8 + -1); if ((int)uVar8 < 0) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } puVar16 = (uint *)FUN_140030280((longlong)(int)uVar8 + 9); if (puVar16 != (uint *)0x0) { *puVar16 = 0; puVar16[1] = 1; } uVar8 = uVar31; if ((local_1f8 != (uint ***********)0x0) && (local_1f8 != (uint ***********)PTR_DAT_140155008)) { uVar8 = *(uint *)(local_1f8 + -1); } *puVar16 = uVar8; pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; pppppppppppppuVar29 = pppppppppppppuVar24; if ((local_1f8 != (uint ***********)0x0) && (pppppppppppuVar20 = local_1f8, pppppppppppppuVar29 = (uint *************)0x0, local_1f8 != (uint ***********)PTR_DAT_140155008)) { pppppppppppppuVar29 = (uint *************)(ulonglong)*(uint *)(local_1f8 + -1); } pppppppppppppuVar28 = (uint *************)(puVar16 + 2); pppppppppppppuVar19 = pppppppppppppuVar28; FUN_140030150(pppppppppppppuVar28,pppppppppppuVar20,(int)pppppppppppppuVar29); pppppppppppuVar3 = local_1f8; if (((local_1f8 != (uint ***********)0x0) && (local_1f8 != (uint ***********)PTR_DAT_140155008)) && (pppppppppppppuVar25 = (uint *************)(local_1f8 + -1), pppppppppppppuVar25 != (uint *************)0x0)) { piVar15 = (int *)FUN_140030200(pppppppppppppuVar19,pppppppppppuVar20,pppppppppppppuVar29, param_4); local_198 = piVar15; FUN_14002e6e0(piVar15); local_190 = 1; puVar16 = (uint *)((longlong)pppppppppppuVar3 + -4); *puVar16 = *puVar16 - 1; if (*puVar16 == 0) { FUN_1400302f0(pppppppppppppuVar25); } FUN_14002e770((longlong)piVar15); local_190 = 0; } } } local_1f8 = (uint ***********)pppppppppppppuVar28; pppppppppppuVar20 = local_1f8; if (local_1f8 == (uint ***********)0x0) { pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; } pppppppppppppuVar28 = pppppppppppppuVar24; if ((undefined8 *)*plVar18 != (undefined8 *)0x0) { pppppppppppppuVar28 = *(uint **************)*plVar18; } _Size = (size_t)local_1b8; local_108 = (uint *************)pppppppppppuVar20; _Src = (void *)FUN_140035710((longlong)pppppppppppppuVar28); memcpy(pppppppppppuVar20,_Src,_Size); *(undefined1 *)((longlong)local_1b8 + (longlong)pppppppppppuVar20) = 0; pppppppppppuVar20 = local_1f8; if (local_1f8 == (uint ***********)0x0) { pppppppppppuVar20 = (uint ***********)PTR_DAT_140155008; } uVar5 = FUN_140030120((char *)pppppppppppuVar20); pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; uVar8 = uVar31; if (0 < (int)uVar5) { uVar8 = uVar5; } pppppppppppppuVar29 = pppppppppppppuVar24; if ((local_1f8 != (uint ***********)0x0) && (pppppppppppppuVar29 = (uint *************)0x0, local_1f8 != (uint ***********)PTR_DAT_140155008)) { pppppppppppppuVar29 = (uint *************)(ulonglong)*(uint *)(local_1f8 + -1); } if (((int)uVar8 < (int)pppppppppppppuVar29) || (uVar8 = uVar31, local_1f8 == (uint ***********)0x0)) { LAB_1400b0d4a: if (((local_1f8 != (uint ***********)PTR_DAT_140155008) && (local_1f8 != (uint ***********)0x0)) && (pppppppppppppuVar29 = (uint *************)(local_1f8 + -1), pppppppppppppuVar29 != (uint *************)0x0)) { *(uint *)pppppppppppppuVar29 = uVar8; *(undefined1 *)((longlong)(int)uVar8 + 8 + (longlong)pppppppppppppuVar29) = 0; } } else if (local_1f8 != (uint ***********)PTR_DAT_140155008) { uVar8 = *(uint *)(local_1f8 + -1); goto LAB_1400b0d4a; } puVar12 = (undefined8 *)0x2540; puVar13 = operator_new(0x2540); ppppppppppppuVar14 = (uint ************)pppppppppppppuVar24; local_1e8 = (uint *************)puVar13; if (puVar13 != (undefined8 *)0x0) { ppppppppppppuVar14 = (uint ************)FUN_1400ae7f0(puVar13,pppppppppppppuVar29,pppppppppppppuVar28,param_4) ; puVar12 = puVar13; } if (ppppppppppppuVar14 == (uint ************)0x0) { local_1e8 = (uint *************)0x0; } else { puVar12 = (undefined8 *)0x10; local_1e8 = (uint *************)FUN_140030280(0x10); local_1e8[1] = (uint ************)0x1; *local_1e8 = ppppppppppppuVar14; } pppppppppppppuVar19 = local_1e8; FUN_140030200(puVar12,pppppppppppppuVar29,pppppppppppppuVar28,param_4); local_1e0 = (uint *************)PTR_DAT_140155008; if (PTR_DAT_140155008 == (undefined *)0x0) { local_1e0 = pppppppppppppuVar24; } if (local_1f8 != (uint ***********)PTR_DAT_140155008) { piVar15 = (int *)FUN_140030200(puVar12,pppppppppppppuVar29,pppppppppppppuVar28,param_4); local_148 = piVar15; FUN_14002e6e0(piVar15); local_140 = 1; FUN_14001c020((longlong *)&local_1e0); local_1e0 = (uint *************)local_1f8; if (((local_1f8 != (uint ***********)PTR_DAT_140155008) && (local_1f8 != (uint ***********)0x0)) && (local_1f8 != (uint ***********)0x8)) { *(uint *)((longlong)local_1f8 + -4) = *(uint *)((longlong)local_1f8 + -4) + 1; } FUN_14002e770((longlong)piVar15); local_140 = 0; } ppppppppppppuVar14 = (uint ************)pppppppppppppuVar24; if (pppppppppppppuVar19 != (uint *************)0x0) { ppppppppppppuVar14 = *pppppppppppppuVar19; } pppppppppppppuVar29 = (uint *************)&local_1e0; uVar10 = FUN_1400ae330((undefined *)ppppppppppppuVar14,(longlong *)pppppppppppppuVar29, pppppppppppppuVar28,(ulonglong)param_4); if (((char)uVar10 != '\0') && (param_1[0xe] < (uint ************)0x14)) { ppppppppppppuVar14 = (uint ************)pppppppppppppuVar24; if (pppppppppppppuVar19 != (uint *************)0x0) { ppppppppppppuVar14 = *pppppppppppppuVar19; } local_e8 = local_e0; pWVar27 = (LPCWSTR)((longlong)ppppppppppppuVar14 + 0x52); uVar10 = 3; ppcVar21 = &local_e8; FUN_14002e8f0((longlong *)ppcVar21,pWVar27,3); pcVar4 = local_e8; FUN_140030200(ppcVar21,pWVar27,uVar10,param_4); pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; local_1f0 = (uint *************)PTR_DAT_140155008; uVar5 = FUN_140030120(pcVar4); uVar8 = uVar31; if ((pppppppppppppuVar28 != (uint *************)0x0) && (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { uVar8 = *(uint *)((longlong)pppppppppppppuVar28 + -8); } uVar6 = uVar5; if ((((int)uVar5 <= (int)uVar8) && (uVar6 = uVar32, pppppppppppppuVar28 != (uint *************)0x0)) && (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { uVar6 = *(uint *)((longlong)pppppppppppppuVar28 + -8); } uVar8 = 1; if (1 < (int)uVar6) { uVar8 = uVar6; } uVar7 = 0; uVar6 = uVar7; if ((pppppppppppppuVar28 != (uint *************)0x0) && (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { uVar6 = *(uint *)((longlong)pppppppppppppuVar28 + -8); } if ((int)uVar6 < (int)uVar8) { if (pppppppppppppuVar28 == (uint *************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } local_1f0 = pppppppppppppuVar28; if ((int)uVar8 < 0) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } if (uVar8 == 0) { FUN_14001c020((longlong *)&local_1f0); pppppppppppppuVar28 = local_1f0; } else { uVar6 = uVar7; if ((pppppppppppppuVar28 != (uint *************)0x0) && (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { uVar6 = *(uint *)(pppppppppppppuVar28 + -1); } if (uVar8 != uVar6) { puVar16 = (uint *)FUN_140030280((longlong)(int)uVar8 + 9); if (puVar16 != (uint *)0x0) { *puVar16 = 0; puVar16[1] = 1; } *puVar16 = uVar8; uVar6 = uVar7; if ((pppppppppppppuVar28 != (uint *************)0x0) && (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008)) { uVar6 = *(uint *)(pppppppppppppuVar28 + -1); } pppppppppppppuVar29 = (uint *************)PTR_DAT_140155008; if ((int)uVar8 < (int)uVar6) { LAB_1400b0f72: if (pppppppppppppuVar28 != (uint *************)0x0) { pppppppppppppuVar29 = pppppppppppppuVar28; } } else { uVar8 = uVar32; if (pppppppppppppuVar28 != (uint *************)0x0) { if (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) { uVar8 = *(uint *)(pppppppppppppuVar28 + -1); } goto LAB_1400b0f72; } } pppppppppppppuVar28 = (uint *************)(puVar16 + 2); FUN_140030150(pppppppppppppuVar28,pppppppppppppuVar29,uVar8); FUN_14001c020((longlong *)&local_1f0); local_1f0 = pppppppppppppuVar28; } } } if (((pppppppppppppuVar28 == (uint *************)0x0) || (pppppppppppppuVar28 == (uint *************)PTR_DAT_140155008)) || (pppppppppppppuVar29 = pppppppppppppuVar28 + -1, pppppppppppppuVar29 == (uint *************)0x0)) { puVar12 = (undefined8 *)FUN_140030280(9); *puVar12 = 0; *(undefined1 *)(puVar12 + 1) = 0; if (puVar12 != (undefined8 *)0x0) { *(undefined4 *)puVar12 = 0; *(undefined4 *)((longlong)puVar12 + 4) = 1; } pppppppppppppuVar25 = (uint *************)(puVar12 + 1); *(undefined1 *)pppppppppppppuVar25 = 0; pppppppppppppuVar23 = pppppppppppppuVar25; } else { pppppppppppppuVar25 = pppppppppppppuVar28; pppppppppppppuVar23 = local_1f0; if (1 < (int)*(uint *)((longlong)pppppppppppppuVar28 + -4)) { if ((int)*(uint *)pppppppppppppuVar29 < 0) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } puVar16 = (uint *)FUN_140030280((longlong)(int)*(uint *)pppppppppppppuVar29 + 9); if (puVar16 != (uint *)0x0) { *puVar16 = 0; puVar16[1] = 1; } uVar32 = uVar7; if (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) { uVar32 = *(uint *)pppppppppppppuVar29; } *puVar16 = uVar32; pppppppppppppuVar17 = pppppppppppppuVar24; if (pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) { pppppppppppppuVar17 = (uint *************)(ulonglong)*(uint *)pppppppppppppuVar29; } pppppppppppppuVar25 = (uint *************)(puVar16 + 2); pppppppppppppuVar22 = pppppppppppppuVar25; FUN_140030150(pppppppppppppuVar25,pppppppppppppuVar28,(int)pppppppppppppuVar17); param_1 = (uint *******)local_1d8; pppppppppppppuVar23 = pppppppppppppuVar25; if ((pppppppppppppuVar28 != (uint *************)PTR_DAT_140155008) && (pppppppppppppuVar29 != (uint *************)0x0)) { piVar15 = (int *)FUN_140030200(pppppppppppppuVar22,PTR_DAT_140155008,pppppppppppppuVar17 ,param_4); local_158 = piVar15; FUN_14002e6e0(piVar15); local_150 = 1; puVar16 = (uint *)((longlong)pppppppppppppuVar28 + -4); *puVar16 = *puVar16 - 1; if (*puVar16 == 0) { FUN_1400302f0(pppppppppppppuVar29); } FUN_14002e770((longlong)piVar15); local_150 = 0; param_1 = (uint *******)local_1d8; } } } local_1f0 = pppppppppppppuVar23; pppppppppppppuVar28 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } FUN_140030150(pppppppppppppuVar28,pcVar4,uVar5); pppppppppppppuVar28 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } uVar8 = FUN_140030120((char *)pppppppppppppuVar28); uVar32 = uVar31; if (0 < (int)uVar8) { uVar32 = uVar8; } uVar8 = uVar7; if ((pppppppppppppuVar25 != (uint *************)0x0) && (pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008)) { uVar8 = *(uint *)(pppppppppppppuVar25 + -1); } if (((int)uVar32 < (int)uVar8) || (uVar32 = uVar7, pppppppppppppuVar25 == (uint *************)0x0)) { LAB_1400b10fd: if (((pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008) && (pppppppppppppuVar25 != (uint *************)0x0)) && (pppppppppppppuVar28 = pppppppppppppuVar25 + -1, pppppppppppppuVar28 != (uint *************)0x0)) { *(uint *)pppppppppppppuVar28 = uVar32; *(undefined1 *)((longlong)(int)uVar32 + 8 + (longlong)pppppppppppppuVar28) = 0; } } else if (pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008) { uVar32 = *(uint *)(pppppppppppppuVar25 + -1); goto LAB_1400b10fd; } if (local_e8 != local_e0) { free(local_e8); } pppppppppppppuVar23 = (uint *************)(param_1 + 10); pppppppppppppuVar28 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } local_170 = pppppppppppppuVar23; if (pppppppppppppuVar28 == (uint *************)0x0) { /* WARNING: Subroutine does not return */ FUN_14000b450(0x80004005); } pppppppppppppuVar28 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } cVar2 = *(char *)pppppppppppppuVar28; pppppppppppppuVar17 = pppppppppppppuVar24; while (cVar2 != '\0') { pppppppppppppuVar17 = (uint *************)(ulonglong)(uint)((int)pppppppppppppuVar17 * 0x21 + (int)cVar2); pppppppppppppuVar28 = (uint *************)((longlong)pppppppppppppuVar28 + 1); cVar2 = *(char *)pppppppppppppuVar28; } uVar32 = *(uint *)(param_1 + 0xf); if ((uint ************)param_1[0xb] != (uint ************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; for (pppppppppppuVar20 = (uint ***********)param_1[0xb][(ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32] ; (PTR_DAT_140155008 = (undefined *)pppppppppppppuVar28, pppppppppppuVar20 != (uint ***********)0x0 && ((uint)((ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32) == *(uint *)(pppppppppppuVar20 + 4) % *(uint *)(param_1 + 0xf))); pppppppppppuVar20 = (uint ***********)pppppppppppuVar20[2]) { pppppppppppppuVar29 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar29 = pppppppppppppuVar28; } pppppppppppppuVar22 = (uint *************)*pppppppppppuVar20; if ((uint *************)*pppppppppppuVar20 == (uint *************)0x0) { pppppppppppppuVar22 = pppppppppppppuVar28; } iVar9 = FUN_140030180((byte *)pppppppppppppuVar22,(longlong)pppppppppppppuVar29); if (iVar9 == 0) { local_178 = pppppppppppuVar20; if (pppppppppppuVar20 != (uint ***********)0x0) goto LAB_1400b1332; goto LAB_1400b11fb; } pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } } local_178 = (uint ***********)0x0; LAB_1400b11fb: pppppppppppppuVar28 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } local_160 = pppppppppppppuVar23; if (pppppppppppppuVar28 == (uint *************)0x0) { /* WARNING: Subroutine does not return */ FUN_14000b450(0x80004005); } pppppppppppppuVar28 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } cVar2 = *(char *)pppppppppppppuVar28; pppppppppppppuVar17 = pppppppppppppuVar24; while (cVar2 != '\0') { pppppppppppppuVar17 = (uint *************)(ulonglong)(uint)((int)pppppppppppppuVar17 * 0x21 + (int)cVar2); pppppppppppppuVar28 = (uint *************)((longlong)pppppppppppppuVar28 + 1); cVar2 = *(char *)pppppppppppppuVar28; } uVar32 = *(uint *)(param_1 + 0xf); pppppppppppppuVar29 = (uint *************)PTR_DAT_140155008; if ((uint ************)param_1[0xb] != (uint ************)0x0) { pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; for (pppppppppppuVar20 = (uint ***********)param_1[0xb][(ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32] ; (PTR_DAT_140155008 = (undefined *)pppppppppppppuVar28, pppppppppppuVar20 != (uint ***********)0x0 && (pppppppppppppuVar29 = pppppppppppppuVar28, (uint)((ulonglong)pppppppppppppuVar17 % (ulonglong)uVar32) == *(uint *)(pppppppppppuVar20 + 4) % *(uint *)(param_1 + 0xf))); pppppppppppuVar20 = (uint ***********)pppppppppppuVar20[2]) { pppppppppppppuVar29 = pppppppppppppuVar25; if (pppppppppppppuVar25 == (uint *************)0x0) { pppppppppppppuVar29 = pppppppppppppuVar28; } pppppppppppppuVar22 = (uint *************)*pppppppppppuVar20; if ((uint *************)*pppppppppppuVar20 == (uint *************)0x0) { pppppppppppppuVar22 = pppppppppppppuVar28; } iVar9 = FUN_140030180((byte *)pppppppppppppuVar22,(longlong)pppppppppppppuVar29); if (iVar9 == 0) { local_168 = pppppppppppuVar20; if (pppppppppppuVar20 != (uint ***********)0x0) goto LAB_1400b1332; goto LAB_1400b12b4; } pppppppppppppuVar29 = pppppppppppppuVar28; pppppppppppppuVar28 = (uint *************)PTR_DAT_140155008; } } pppppppppppppuVar28 = pppppppppppppuVar29; local_168 = (uint ***********)0x0; LAB_1400b12b4: pppppppppppppuVar29 = (uint *************)&local_1f0; plVar18 = FUN_1400b0550((char *)pppppppppppppuVar23,(longlong *)pppppppppppppuVar29); pppppppppppppuVar22 = pppppppppppppuVar23; if (pppppppppppppuVar19 != (uint *************)*plVar18) { if (pppppppppppppuVar19 != (uint *************)0x0) { pppppppppppppuVar19[1] = (uint ************)((longlong)pppppppppppppuVar19[1] + 1); pppppppppppppuVar25 = local_1f0; pppppppppppppuVar19 = local_1e8; } pppppppppppppuVar22 = (uint *************)0x0; pppppppppppppuVar23 = pppppppppppppuVar24; if (*plVar18 != 0) { *(longlong *)(*plVar18 + 8) = *(longlong *)(*plVar18 + 8) + -1; pppppppppppppuVar22 = *(uint **************)(*plVar18 + 8); pppppppppppppuVar25 = local_1f0; pppppppppppppuVar19 = local_1e8; if (pppppppppppppuVar22 == (uint *************)0x0) { pppppppppppppuVar23 = (uint *************)*plVar18; } } *plVar18 = (longlong)pppppppppppppuVar19; if (pppppppppppppuVar23 != (uint *************)0x0) { if (*pppppppppppppuVar23 != (uint ************)0x0) { pppppppppppppuVar29 = (uint *************)0x1; (*(code *)***pppppppppppppuVar23)(); } FUN_1400302f0(pppppppppppppuVar23); pppppppppppppuVar22 = pppppppppppppuVar23; } } LAB_1400b1332: if (((pppppppppppppuVar25 != (uint *************)0x0) && (pppppppppppppuVar25 != (uint *************)PTR_DAT_140155008)) && (pppppppppppppuVar25 + -1 != (uint *************)0x0)) { piVar15 = (int *)FUN_140030200(pppppppppppppuVar22,pppppppppppppuVar29,pppppppppppppuVar28, param_4); local_188 = piVar15; FUN_14002e6e0(piVar15); local_180 = 1; puVar16 = (uint *)((longlong)pppppppppppppuVar25 + -4); *puVar16 = *puVar16 - 1; if (*puVar16 == 0) { FUN_1400302f0(pppppppppppppuVar25 + -1); } FUN_14002e770((longlong)piVar15); local_180 = 0; } local_1f0 = (uint *************)PTR_DAT_140155008; param_1 = (uint *******)local_1d8; plVar18 = local_1a0; } dVar34 = (double)FUN_1400a3c60((longlong)param_1[1]); param_2 = local_1b0; if (3.0 < dVar34 - *(double *)(local_1b0 + 200)) { if ((undefined8 *)*plVar18 != (undefined8 *)0x0) { pppppppppppppuVar24 = *(uint **************)*plVar18; } FUN_140035490((longlong *)pppppppppppppuVar24,pppppppppppppuVar29,pppppppppppppuVar28,param_4) ; pppppppppppppuVar25 = local_1e8; *(undefined4 *)(param_2 + 0x18) = 3; if (pppppppppppppuVar19 != (uint *************)0x0) { pppppppppppppuVar19 = pppppppppppppuVar19 + 1; *pppppppppppppuVar19 = (uint ************)((longlong)*pppppppppppppuVar19 + -1); if (*pppppppppppppuVar19 == (uint ************)0x0) { if (*local_1e8 != (uint ************)0x0) { pppppppppppppuVar29 = (uint *************)0x1; (*(code *)***local_1e8)(); } FUN_1400302f0(pppppppppppppuVar25); pppppppppppppuVar24 = pppppppppppppuVar25; } } pppppppppppuVar20 = local_1f8; if (((local_1f8 != (uint ***********)0x0) && (local_1f8 != (uint ***********)PTR_DAT_140155008)) && (pppppppppppppuVar19 = (uint *************)(local_1f8 + -1), pppppppppppppuVar19 != (uint *************)0x0)) { piVar15 = (int *)FUN_140030200(pppppppppppppuVar24,pppppppppppppuVar29,pppppppppppppuVar28, param_4); local_100 = piVar15; FUN_14002e6e0(piVar15); local_f8 = 1; puVar16 = (uint *)((longlong)pppppppppppuVar20 + -4); *puVar16 = *puVar16 - 1; if (*puVar16 == 0) { FUN_1400302f0(pppppppppppppuVar19); } FUN_14002e770((longlong)piVar15); } return; } pppppppppppppuVar25 = (uint *************)param_1; lVar30 = local_1b0; FUN_1400af480(param_1,local_1b0,(SIZE_T)pppppppppppppuVar28,param_4); pppppppppppppuVar29 = local_1e8; if (pppppppppppppuVar19 != (uint *************)0x0) { pppppppppppppuVar19 = pppppppppppppuVar19 + 1; *pppppppppppppuVar19 = (uint ************)((longlong)*pppppppppppppuVar19 + -1); if (*pppppppppppppuVar19 == (uint ************)0x0) { if (*local_1e8 != (uint ************)0x0) { lVar30 = 1; (*(code *)***local_1e8)(); } FUN_1400302f0(pppppppppppppuVar29); pppppppppppppuVar25 = pppppppppppppuVar29; } } pppppppppppuVar20 = local_1f8; if (((local_1f8 != (uint ***********)0x0) && (local_1f8 != (uint ***********)PTR_DAT_140155008)) && (pppppppppppppuVar29 = (uint *************)(local_1f8 + -1), pppppppppppppuVar29 != (uint *************)0x0)) { piVar15 = (int *)FUN_140030200(pppppppppppppuVar25,lVar30,pppppppppppppuVar28,param_4); local_128 = piVar15; FUN_14002e6e0(piVar15); local_120 = 1; puVar16 = (uint *)((longlong)pppppppppppuVar20 + -4); *puVar16 = *puVar16 - 1; if (*puVar16 == 0) { FUN_1400302f0(pppppppppppppuVar29); } FUN_14002e770((longlong)piVar15); local_120 = 0; } local_1f8 = (uint ***********)PTR_DAT_140155008; } while( true ); }