0x18367b8c0 | 0x18367b8c0 |// WARNING: [rz-ghidra] Detected overlap for variable var_a1h 0x18367b8c0 |// WARNING: [rz-ghidra] Detected overlap for variable var_12ch 0x18367b8c0 |// WARNING: [rz-ghidra] Detected overlap for variable var_e8h 0x18367b8c0 |// WARNING: [rz-ghidra] Detected overlap for variable var_128h 0x18367b8c0 |// WARNING: [rz-ghidra] Detected overlap for variable var_4h | 0x18367b8c0 |void fcn.18367b8c0(int64_t arg1) |{ | int32_t iVar1; | char cVar2; | undefined uVar3; | int32_t *piVar4; | int64_t iVar5; | code *pcVar6; | uint32_t uVar7; | int64_t iVar8; | int64_t *piVar9; | int64_t *piVar10; | undefined8 *puVar11; | undefined8 uVar12; | uint32_t uVar13; | undefined8 *puVar14; | int64_t iVar15; | uint32_t *unaff_RBP; | int64_t unaff_RSI; | uint64_t uVar16; | uint64_t uVar17; | int64_t iVar18; | uint8_t *puVar19; | uint64_t unaff_R12; | int64_t *unaff_R13; | uint32_t *unaff_R14; | uint32_t *puVar20; | uint8_t uVar21; | uint32_t *puVar22; | int64_t unaff_GS_OFFSET; | undefined4 unaff_XMM6_Da; | undefined4 unaff_XMM6_Db; | undefined4 unaff_XMM6_Dc; | undefined4 unaff_XMM6_Dd; | int64_t var_8h; | int64_t var_17h; | undefined auStack_158 [43]; | int64_t var_12dh; | int64_t var_120h; | int64_t var_118h; | int64_t var_110h; | int64_t var_108h; | int64_t var_100h; | int64_t var_f8h; | int64_t var_f0h; | undefined var_e8h [7]; | int64_t var_e1h; | int64_t var_d8h; | int64_t var_d0h; | int64_t var_c8h; | int64_t var_c0h; | int64_t var_b8h; | int64_t var_b0h; | int64_t var_a8h; | int64_t var_98h; | int64_t var_90h; | int64_t var_88h; | int64_t var_80h; | int64_t var_78h; | int64_t var_70h; | int64_t var_60h; | int64_t var_58h; | 0x18367b8e2 | var_60h = *(uint64_t *)0x191c71040 ^ (uint64_t)auStack_158; 0x18367b8ed | iVar8 = *(int64_t *)(arg1 + 0x1a8); 0x18367b8f7 | if (iVar8 == 0) goto code_r0x00018367b9b7; 0x18367b900 | unaff_R12 = 0x7fffffffffffffff; 0x18367b90a | unaff_R13 = (int64_t *)(arg1 + 0x1c8); 0x18367b911 | var_118h = arg1 + 0x1e0; 0x18367b91d | var_108h = arg1 + 0xf8; 0x18367b93c | var_120h = *(int64_t *)(*(int64_t *)(unaff_GS_OFFSET + 0x58) + (uint64_t)*(uint32_t *)0x191d832e0 * 8) + 0x168; 0x18367b948 | var_110h = arg1 + 0xb8; 0x18367b954 | unaff_XMM6_Da = 0; 0x18367b954 | unaff_XMM6_Db = 0; 0x18367b954 | unaff_XMM6_Dc = 0; 0x18367b954 | unaff_XMM6_Dd = 0; 0x18367b961 | unique0x10000d1d = unaff_R13; 0x18367b961 | var_100h = arg1; |code_r0x00018367bb18: 0x18367bb18 | uVar21 = *(uint8_t *)(arg1 + 0x1df); 0x18367bb18 | puVar22 = (uint32_t *)(int64_t)(char)uVar21; 0x18367bb23 | if ((int64_t)puVar22 < 0) { 0x18367ba08 | puVar22 = *(uint32_t **)(arg1 + 0x1d0); | } 0x18367bb33 | uVar16 = *(uint64_t *)(arg1 + 0x1a0); 0x18367bb41 | iVar15 = (*(undefined8 **)(arg1 + 0x188))[uVar16 >> 5]; 0x18367bb4c | uVar17 = (uint64_t)(((uint32_t)uVar16 & 0x1f) << 4); 0x18367bb50 | puVar20 = *(uint32_t **)(iVar15 + uVar17 + 8); 0x18367bb58 | unaff_RSI = arg1; 0x18367bb58 | unaff_R14 = puVar20; 0x18367bb58 | if (puVar22 < puVar20) goto code_r0x00018367b9b7; 0x18367bb5e | puVar19 = (uint8_t *)(iVar15 + uVar17); 0x18367bb61 | if (puVar19 == (uint8_t *)0x0) goto code_r0x00018367c1f6; 0x18367bb67 | var_12dh._0_1_ = *puVar19; 0x18367bb6f | var_12dh._1_4_ = *(uint32_t *)(puVar19 + 4); 0x18367bb7b | *(int64_t *)(arg1 + 0x1a8) = iVar8 + -1; 0x18367bb85 | *(uint64_t *)(arg1 + 0x1a0) = uVar16 + 1; 0x18367bb90 | if (0x3f < uVar16 + 1) { 0x18367bb92 | func_0x0001841dcbe0(**(undefined8 **)(arg1 + 0x188), 0x200); 0x18367bb9f | *(int64_t *)(arg1 + 0x188) = *(int64_t *)(arg1 + 0x188) + 8; 0x18367bba7 | *(int64_t *)(arg1 + 0x1a0) = *(int64_t *)(arg1 + 0x1a0) + -0x20; 0x18367bbaf | uVar21 = *(uint8_t *)(arg1 + 0x1df); | } 0x18367bbb6 | var_f8h = CONCAT44(unaff_XMM6_Db, unaff_XMM6_Da); 0x18367bbb6 | var_f0h = CONCAT44(unaff_XMM6_Dd, unaff_XMM6_Dc); 0x18367bbbb | _var_e8h = 0; 0x18367bbcb | puVar22 = (uint32_t *)(uint64_t)uVar21; 0x18367bbcb | if ((char)uVar21 < '\0') { 0x18367bbcb | puVar22 = *(uint32_t **)(arg1 + 0x1d0); | } 0x18367bbd3 | piVar10 = *(int64_t **)(arg1 + 0x1c8); 0x18367bbdd | if ((char)uVar21 < '\0') { 0x18367bbdd | unaff_R13 = piVar10; | } 0x18367bbe4 | if (puVar20 <= puVar22) { 0x18367bbe4 | puVar22 = puVar20; | } 0x18367bbf0 | if ((uint32_t *)(unaff_R12 - 0x11) < puVar22) { 0x18367c3b0 | func_0x000185f9b750(); |code_r0x00018367c3b5: 0x18367c3b5 | *(undefined8 *)(arg1 + 0x1d0) = 0; |code_r0x00018367c3d3: 0x18367c3d3 | *(undefined *)piVar10 = 0; 0x18367c3db | unaff_R13 = stack0xfffffffffffffed8; | } else { 0x18367bbfa | if (puVar22 < (uint32_t *)0x17) { 0x18367bc00 | _var_e8h = (int64_t)puVar22 << 0x38; 0x18367bc05 | piVar9 = &var_f8h; | } else { 0x18367bdc3 | uVar16 = unaff_R12 - 0xf & (uint64_t)puVar22; 0x18367bdca | piVar9 = (int64_t *)func_0x000185f006b8(uVar16 + 0x10); 0x18367bdd6 | _var_e8h = unaff_R12 + uVar16 + 0x11; 0x18367bdee | arg1 = var_100h; 0x18367bdee | var_f8h = (int64_t)piVar9; 0x18367bdee | var_f0h = (int64_t)puVar22; | } 0x18367bc21 | if (((int64_t *)((int64_t)piVar9 + (int64_t)puVar22) < piVar9) || 0x18367bc19 | ((piVar9 <= unaff_R13 && (unaff_R13 < (int64_t *)((int64_t)piVar9 + (int64_t)puVar22))))) 0x18367bc21 | goto code_r0x00018367c1f6; 0x18367bc30 | func_0x000185f5a940(piVar9, unaff_R13, puVar22); 0x18367bc30 | unaff_R13 = stack0xfffffffffffffed8; 0x18367bc35 | *(undefined *)((int64_t)piVar9 + (int64_t)puVar22) = 0; 0x18367bc3f | if (puVar20 == (uint32_t *)0xffffffffffffffff) { 0x18367c3c5 | if ((char)uVar21 < '\0') goto code_r0x00018367c3b5; 0x18367c3c7 | *(undefined *)(arg1 + 0x1df) = 0; 0x18367c3ce | piVar10 = stack0xfffffffffffffed8; 0x18367c3ce | goto code_r0x00018367c3d3; | } 0x18367bc52 | func_0x00018492e6c0(stack0xfffffffffffffed8, 0, puVar20); | } 0x18367bc5e | unaff_RBP = puVar22; 0x18367bc5e | if (1 < var_12dh._1_4_) goto code_r0x00018367baef; 0x18367bc64 | if (var_12dh._1_4_ == 1) { 0x18367bc6d | if (*(char *)(arg1 + 0x1f7) < '\0') { 0x18367bdfa | **(undefined **)(arg1 + 0x1e0) = 0; 0x18367bdfd | *(undefined8 *)(arg1 + 0x1e8) = 0; | } else { 0x18367bc75 | *(undefined *)(arg1 + 0x1e0) = 0; 0x18367bc7b | *(undefined *)(arg1 + 0x1f7) = 0; | } | } 0x18367bc8a | piVar10 = (int64_t *)var_f8h; 0x18367bc8a | iVar8 = var_f0h; 0x18367bc8a | if (-1 < (int64_t)(char)var_e1h) { 0x18367bc9a | piVar10 = &var_f8h; 0x18367bc9a | iVar8 = (int64_t)(char)var_e1h; | } 0x18367bca3 | func_0x000184212ca0(var_118h, piVar10, iVar8); 0x18367bcad | if (((uint8_t)var_12dh & 1) == 0) goto code_r0x00018367baef; 0x18367bcbb | var_80h = CONCAT44(unaff_XMM6_Dd, unaff_XMM6_Dc); 0x18367bcc3 | var_90h = (int64_t)*(char *)(arg1 + 0x1f7); 0x18367bcd3 | var_98h = var_118h; 0x18367bcd3 | if (var_90h < 0) { 0x18367bcd5 | var_90h = *(int64_t *)(arg1 + 0x1e8); 0x18367bcdc | var_98h = *(int64_t *)(arg1 + 0x1e0); | } 0x18367bd0f | var_88h._0_4_ = unaff_XMM6_Da; 0x18367bd0f | var_88h._4_4_ = unaff_XMM6_Db; 0x18367bd0f | var_78h._0_4_ = unaff_XMM6_Da; 0x18367bd0f | var_78h._4_4_ = unaff_XMM6_Db; 0x18367bd0f | var_70h._0_4_ = unaff_XMM6_Dc; 0x18367bd0f | var_70h._4_4_ = unaff_XMM6_Dd; 0x18367bcf9 | func_0x00018037bb90(&var_88h, &var_98h, 0, 200); 0x18367bd1c | if ((char)var_70h == '\0') { 0x18367ba19 | var_b8h = func_0x000185f006b8(0x30); 0x18367ba26 | var_b0h = 0x23; 0x18367ba32 | var_a8h = unaff_R12 + 0x31; 0x18367ba61 | if (((undefined4 *)(var_b8h + 0x23) < (uint64_t)var_b8h) || 0x18367ba5c | ((undefined4 *)0x190c01610 < (undefined4 *)(var_b8h + 0x23) && (uint64_t)var_b8h < (undefined4 *)0x190c01611) 0x18367ba61 | ) goto code_r0x00018367c1f6; 0x18367ba6e | *(undefined8 *)(var_b8h + 0x10) = 0x6e692064656e7275; 0x18367ba6e | *(undefined8 *)(var_b8h + 0x18) = 0x534a2064696c6176; 0x18367ba79 | *(undefined4 *)var_b8h = 0x6c616552; 0x18367ba79 | *(undefined4 *)(var_b8h + 4) = 0x656d6974; 0x18367ba79 | *(undefined4 *)(var_b8h + 8) = 0x52534120; 0x18367ba79 | *(undefined4 *)(var_b8h + 0xc) = 0x74657220; 0x18367ba7c | *(undefined4 *)(var_b8h + 0x1f) = 0x2e4e4f53; | } else { 0x18367bd29 | var_c8h = 0x190124c48; 0x18367bd31 | var_c0h = 4; 0x18367bd48 | unaff_RBP = (uint32_t *)func_0x0001805224b0(&var_88h, &var_c8h); 0x18367bd50 | if (unaff_RBP != (uint32_t *)0x0) { 0x18367bd59 | cVar2 = *(char *)((int64_t)unaff_RBP + 0x17); 0x18367bd59 | iVar8 = (int64_t)cVar2; 0x18367bd64 | if (iVar8 < 0) { 0x18367bd66 | iVar8 = *(int64_t *)(unaff_RBP + 2); | } 0x18367bd6e | if (iVar8 == 7) { 0x18367be86 | puVar22 = unaff_RBP; 0x18367be86 | if (cVar2 < '\0') { 0x18367be88 | puVar22 = *(uint32_t **)unaff_RBP; | } 0x18367be93 | uVar7 = *puVar22 ^ 0x74726170; 0x18367be9d | uVar13 = *(uint32_t *)((int64_t)puVar22 + 3) ^ 0x6c616974; |code_r0x00018367be9f: 0x18367bea1 | if (uVar13 != 0 || uVar7 != 0) goto code_r0x00018367bab9; 0x18367beb7 | if ((char)var_70h != '\0') { 0x18367bec4 | var_d8h = 0x1903e2998; 0x18367becc | var_d0h = 4; 0x18367bee0 | unaff_R14 = (uint32_t *)func_0x0001805224b0(&var_88h, &var_d8h); 0x18367bee8 | if (unaff_R14 == (uint32_t *)0x0) goto code_r0x00018367bab9; 0x18367bef1 | iVar8 = (int64_t)*(char *)((int64_t)unaff_RBP + 0x17); 0x18367befc | if (iVar8 < 0) { 0x18367befe | iVar8 = *(int64_t *)(unaff_RBP + 2); | } 0x18367bf06 | if (iVar8 == 5) { 0x18367bf0a | if (*(char *)((int64_t)unaff_RBP + 0x17) < '\0') { 0x18367bf0c | unaff_RBP = *(uint32_t **)unaff_RBP; | } 0x18367bf27 | if ((char)unaff_RBP[1] == 'l' && *unaff_RBP == 0x616e6966) { 0x18367c09e | *(undefined *)(arg1 + 0x204) = 1; 0x18367c0a4 | *(undefined *)(arg1 + 0x202) = 1; 0x18367c0af | func_0x000184c35660(var_108h); 0x18367c0b4 | unaff_RBP = *(uint32_t **)(arg1 + 0xe8); 0x18367c0be | if (unaff_RBP == (uint32_t *)0x0) goto code_r0x00018367c146; 0x18367c0cb | if (0x18 < *(uint32_t *)0x191de9920) { 0x18367c0e2 | if (*(int64_t *)0x191de9938 == 0x185adad70) { 0x18367c103 | if (*(int32_t *) 0x18367c0f9 | (*(int64_t *) 0x18367c0f0 | (*(int64_t *)(unaff_GS_OFFSET + 0x58) + 0x18367c0ea | (uint64_t)*(uint32_t *)0x191d832e0 * 8) + 4) < *(int32_t *)0x191d854e8) 0x18367c103 | goto code_r0x00018367c378; 0x18367c103 | goto code_r0x00018367c109; | } 0x18367c091 | (*(code *)0x185f59da0)(unaff_RBP); 0x18367c097 | goto code_r0x00018367c146; | } 0x18367c3ec | func_0x00018ae54f00(); 0x18367c3f1 | goto code_r0x00018367c146; | } | } 0x18367bf2d | piVar4 = *(int32_t **)(arg1 + 0x40); 0x18367bf34 | puVar20 = unaff_R14; 0x18367bf34 | if (piVar4 == (int32_t *)0x0) goto code_r0x00018367bab9; 0x18367bf3f | LOCK(); 0x18367bf3f | iVar1 = *piVar4; 0x18367bf3f | *piVar4 = *piVar4 + 1; 0x18367bf3f | UNLOCK(); 0x18367bf45 | if (iVar1 < 1) { 0x18367c3e0 | pcVar6 = (code *)swi(3); 0x18367c3e0 | (*pcVar6)(); 0x18367c3e0 | return; | } 0x18367bf51 | if (iVar1 == 0x7fffffff) { 0x18367c3e3 | pcVar6 = (code *)swi(3); 0x18367c3e3 | (*pcVar6)(); 0x18367c3e3 | return; | } 0x18367bf6d | var_b8h = (int64_t)piVar4; 0x18367bf5f | func_0x0001865eba70(&var_b8h, unaff_R14, 0); 0x18367bf7d | if (var_b8h == 0) goto code_r0x00018367bab9; 0x18367bf83 | LOCK(); 0x18367bf83 | *(int32_t *)var_b8h = *(int32_t *)var_b8h + -1; 0x18367bf83 | UNLOCK(); 0x18367bf86 | if (*(int32_t *)var_b8h != 0) goto code_r0x00018367bab9; 0x18367c344 | (*(code *)0x185f59da0)(); 0x18367c34a | goto code_r0x00018367bab9; | } |code_r0x00018367c1f6: 0x18367c1f6 | // WARNING: Does not return 0x18367c1f6 | pcVar6 = (code *)invalidInstructionException(); 0x18367c1f6 | (*pcVar6)(); | } 0x18367bd78 | if (iVar8 != 5) goto code_r0x00018367bab9; 0x18367bd83 | puVar22 = unaff_RBP; 0x18367bd83 | if (cVar2 < '\0') { 0x18367bd85 | puVar22 = *(uint32_t **)unaff_RBP; | } 0x18367bd9f | if ((char)puVar22[1] != 'r' || *puVar22 != 0x6f727265) { 0x18367bda7 | uVar7 = *puVar22 ^ 0x616e6966; 0x18367bdb6 | uVar13 = (uint32_t)(uint8_t)((uint8_t)puVar22[1] ^ 0x6c); 0x18367bdb9 | goto code_r0x00018367be9f; | } 0x18367bf99 | if ((char)var_70h == '\0') goto code_r0x00018367c1f6; 0x18367bfa6 | var_d8h = 0x19014fd70; 0x18367bfae | var_d0h = 7; 0x18367bfca | piVar10 = (int64_t *)func_0x0001805224b0(&var_88h, &var_d8h); 0x18367bfd2 | puVar22 = unaff_RBP; 0x18367bfd2 | if (piVar10 != (int64_t *)0x0) { 0x18367bfd8 | if (*(char *)((int64_t)piVar10 + 0x17) < '\0') { 0x18367bffd | func_0x0001841dd0f0(&var_b8h, *piVar10, piVar10[1]); | } else { 0x18367bfda | var_a8h = piVar10[2]; 0x18367bfe6 | var_b8h = *piVar10; 0x18367bfe6 | var_b0h = piVar10[1]; | } | goto code_r0x00018367ba87; | } 0x18367c014 | var_b8h = func_0x000185f006b8(0x30); 0x18367c021 | var_b0h = 0x28; 0x18367c02d | var_a8h = unaff_R12 + 0x31; 0x18367c05c | if (((undefined4 *)(var_b8h + 0x28) < (uint64_t)var_b8h) || 0x18367c057 | ((undefined4 *)0x190c01660 < (undefined4 *)(var_b8h + 0x28) && 0x18367c051 | (uint64_t)var_b8h < (undefined4 *)0x190c01661)) goto code_r0x00018367c1f6; 0x18367c069 | *(undefined8 *)(var_b8h + 0x10) = 0x6572207265646976; 0x18367c069 | *(undefined8 *)(var_b8h + 0x18) = 0x612064656e727574; 0x18367c074 | *(undefined4 *)var_b8h = 0x6c616552; 0x18367c074 | *(undefined4 *)(var_b8h + 4) = 0x656d6974; 0x18367c074 | *(undefined4 *)(var_b8h + 8) = 0x52534120; 0x18367c074 | *(undefined4 *)(var_b8h + 0xc) = 0x6f727020; 0x18367c081 | *(undefined8 *)(var_b8h + 0x20) = 0x2e726f727265206e; 0x18367c085 | *(undefined *)(var_b8h + 0x28) = 0; 0x18367c089 | goto code_r0x00018367ba87; | } 0x18367be12 | var_b8h = func_0x000185f006b8(0x30); 0x18367be1f | var_b0h = 0x23; 0x18367be2b | var_a8h = unaff_R12 + 0x31; 0x18367be5a | if (((undefined4 *)(var_b8h + 0x23) < (uint64_t)var_b8h) || 0x18367be55 | ((undefined4 *)0x190c01638 < (undefined4 *)(var_b8h + 0x23) && (uint64_t)var_b8h < (undefined4 *)0x190c01639) 0x18367be5a | ) goto code_r0x00018367c1f6; 0x18367be67 | *(undefined8 *)(var_b8h + 0x10) = 0x696d2065736e6f70; 0x18367be67 | *(undefined8 *)(var_b8h + 0x18) = 0x797420676e697373; 0x18367be72 | *(undefined4 *)var_b8h = 0x6c616552; 0x18367be72 | *(undefined4 *)(var_b8h + 4) = 0x656d6974; 0x18367be72 | *(undefined4 *)(var_b8h + 8) = 0x52534120; 0x18367be72 | *(undefined4 *)(var_b8h + 0xc) = 0x73657220; 0x18367be75 | *(undefined4 *)(var_b8h + 0x1f) = 0x2e657079; | } 0x18367ba83 | var_a8h = unaff_R12 + 0x31; 0x18367ba83 | var_b0h = 0x23; 0x18367ba83 | *(undefined *)(var_b8h + 0x23) = 0; |code_r0x00018367ba87: 0x18367ba92 | func_0x000183679720(arg1, &var_b8h); 0x18367ba92 | unaff_RBP = puVar22; | do { 0x18367ba9f | if (var_a8h < 0) { 0x18367bab4 | func_0x0001841dcbe0(var_b8h, var_a8h & unaff_R12); | } |code_r0x00018367bab9: | do { 0x18367bace | if (((char)var_70h == '\x01') && (iVar8 = CONCAT44(var_88h._4_4_, (undefined4)var_88h), iVar8 != 0)) { 0x18367b96e | iVar18 = var_80h << 5; 0x18367b975 | iVar15 = iVar8; 0x18367b975 | if (iVar18 != 0) { 0x18367b977 | puVar20 = (uint32_t *)(iVar8 + -0x20); | do { 0x18367b97b | func_0x000184e58cd0((int64_t)puVar20 + iVar18); 0x18367b984 | iVar18 = iVar18 + -0x20; 0x18367b988 | } while (iVar18 != 0); 0x18367b98a | iVar15 = CONCAT44(var_88h._4_4_, (undefined4)var_88h); | } 0x18367b995 | var_80h = iVar8 - iVar15 >> 5; 0x18367b9ad | func_0x0001841dcbe0(iVar15, CONCAT44(var_78h._4_4_, (undefined4)var_78h) << 5); | } 0x18367badb | if (*(char *)(arg1 + 0x1f7) < '\0') { 0x18367b9f5 | **(undefined **)(arg1 + 0x1e0) = 0; 0x18367b9f8 | *(undefined8 *)(arg1 + 0x1e8) = 0; | } else { 0x18367bae3 | *(undefined *)(arg1 + 0x1e0) = 0; 0x18367bae9 | *(undefined *)(arg1 + 0x1f7) = 0; | } |code_r0x00018367baef: 0x18367baf4 | if ((int64_t)_var_e8h < 0) { 0x18367bb03 | func_0x0001841dcbe0(var_f8h, _var_e8h & unaff_R12); | } 0x18367bb08 | iVar8 = *(int64_t *)(arg1 + 0x1a8); 0x18367bb12 | unaff_RSI = arg1; 0x18367bb12 | unaff_R14 = puVar20; 0x18367bb12 | if (iVar8 != 0) goto code_r0x00018367bb18; |code_r0x00018367b9b7: 0x18367b9b7 | arg1 = unaff_RSI; 0x18367b9cc | if (*(uint64_t *)0x191c71040 == (var_60h ^ (uint64_t)auStack_158)) { 0x18367b9ed | return; | } 0x18367c370 | func_0x000185f05b40(var_60h ^ (uint64_t)auStack_158); |code_r0x00018367c378: 0x18367c37f | func_0x000185f00fe8(0x191d854e8); 0x18367c38b | if (*(int32_t *)0x191d854e8 == -1) { 0x18367c398 | *(undefined8 *)0x191d854e0 = 0x18fbabb60; 0x18367c3a6 | func_0x000185f00f7c(0x191d854e8); | } |code_r0x00018367c109: 0x18367c10e | uVar3 = *(undefined *)var_120h; 0x18367c110 | *(undefined *)var_120h = 1; 0x18367c11d | (*(code *)0x185f59da0)(unaff_RBP); 0x18367c123 | LOCK(); 0x18367c123 | puVar22 = unaff_RBP + 2; 0x18367c123 | *puVar22 = *puVar22 - 1; 0x18367c123 | UNLOCK(); 0x18367c127 | if (*puVar22 == 0) { 0x18367c139 | (*(code *)0x185f59da0)(unaff_RBP, 1); | } 0x18367c144 | *(undefined *)var_120h = uVar3; |code_r0x00018367c146: 0x18367c146 | *(undefined8 *)(arg1 + 0xe8) = 0; 0x18367c151 | puVar11 = *(undefined8 **)(arg1 + 0x158); 0x18367c162 | puVar14 = puVar11; 0x18367c162 | if (puVar11 != *(undefined8 **)(arg1 + 0x160)) { 0x18367c168 | uVar16 = *(uint64_t *)(arg1 + 0x170); 0x18367c176 | iVar8 = puVar11[uVar16 >> 4]; 0x18367c182 | uVar17 = uVar16 + *(int64_t *)(arg1 + 0x178); 0x18367c189 | iVar15 = (uint64_t)(((uint32_t)uVar16 & 0xf) << 5) + iVar8; 0x18367c199 | iVar18 = (uint64_t)(((uint32_t)uVar17 & 0xf) << 5) + puVar11[uVar17 >> 4]; 0x18367c1a0 | puVar14 = *(undefined8 **)(arg1 + 0x160); 0x18367c1a0 | if (iVar15 != iVar18) { 0x18367c1a2 | piVar10 = puVar11 + (uVar16 >> 4); | do { 0x18367c1a9 | if (iVar15 == 0) goto code_r0x00018367c1f6; 0x18367c1ab | iVar5 = *(int64_t *)(iVar15 + 8); 0x18367c1b2 | if (iVar5 != 0) { 0x18367c1f0 | if ((uint64_t)-iVar5 < *(uint64_t *)(iVar15 + 0x10)) goto code_r0x00018367c1f6; 0x18367c34f | *(undefined8 *)(iVar15 + 0x10) = 0; 0x18367c35b | func_0x0001841dcbe0(iVar5, *(undefined8 *)(iVar15 + 0x18)); 0x18367c360 | iVar8 = *piVar10; | } 0x18367c1b4 | iVar15 = iVar15 + 0x20; 0x18367c1c4 | if (iVar15 - iVar8 == 0x200) { 0x18367c1c6 | iVar8 = piVar10[1]; 0x18367c1ca | piVar10 = piVar10 + 1; 0x18367c1ce | iVar15 = iVar8; | } 0x18367c1d4 | } while (iVar15 != iVar18); 0x18367c1d6 | puVar11 = *(undefined8 **)(arg1 + 0x158); 0x18367c1e4 | puVar14 = *(undefined8 **)(arg1 + 0x160); | } | } 0x18367c1fb | *(undefined8 *)(arg1 + 0x178) = 0; 0x18367c206 | iVar8 = (int64_t)puVar14 - (int64_t)puVar11; 0x18367c211 | while (uVar16 = iVar8 >> 3, 2 < uVar16) { 0x18367c213 | func_0x0001841dcbe0(*puVar11, 0x200); 0x18367c22e | puVar11 = (undefined8 *)(*(int64_t *)(arg1 + 0x158) + 8); 0x18367c232 | *(undefined8 **)(arg1 + 0x158) = puVar11; 0x18367c239 | iVar8 = *(int64_t *)(arg1 + 0x160) - (int64_t)puVar11; | } 0x18367c24a | if (uVar16 == 1) { 0x18367c259 | uVar12 = 8; |code_r0x00018367c25e: 0x18367c25e | *(undefined8 *)(arg1 + 0x170) = uVar12; 0x18367c250 | } else if (uVar16 == 2) { 0x18367c252 | uVar12 = 0x10; 0x18367c257 | goto code_r0x00018367c25e; | } 0x18367c278 | if ((uint64_t)-*(int64_t *)(arg1 + 0x1b0) < *(uint64_t *)(arg1 + 0x1b8)) goto code_r0x00018367c1f6; 0x18367c280 | *(undefined8 *)(arg1 + 0x1b8) = 0; 0x18367c287 | *(undefined8 *)(arg1 + 0x1f8) = 0; 0x18367c28e | piVar4 = *(int32_t **)(arg1 + 0x40); 0x18367c295 | if (piVar4 != (int32_t *)0x0) { 0x18367c29c | LOCK(); 0x18367c29c | iVar1 = *piVar4; 0x18367c29c | *piVar4 = *piVar4 + 1; 0x18367c29c | UNLOCK(); 0x18367c2a2 | if (iVar1 < 1) { 0x18367c3e6 | pcVar6 = (code *)swi(3); 0x18367c3e6 | (*pcVar6)(); 0x18367c3e6 | return; | } 0x18367c2ae | if (iVar1 == 0x7fffffff) { 0x18367c3e9 | pcVar6 = (code *)swi(3); 0x18367c3e9 | (*pcVar6)(); 0x18367c3e9 | return; | } 0x18367c2ca | var_b8h = (int64_t)piVar4; 0x18367c2bc | func_0x0001865eba70(&var_b8h, unaff_R14, 1); 0x18367c2da | if (var_b8h != 0) { 0x18367c32f | LOCK(); 0x18367c32f | *(int32_t *)var_b8h = *(int32_t *)var_b8h + -1; 0x18367c32f | UNLOCK(); 0x18367c332 | if (*(int32_t *)var_b8h == 0) { 0x18367c338 | (*(code *)0x185f59da0)(); | } | } | } 0x18367c2e4 | puVar20 = unaff_R14; 0x18367c2ee | } while ((*(int64_t *)(arg1 + 200) == 0) && (*(int64_t *)(arg1 + 0xc0) == 0)); 0x18367c2f9 | func_0x000188119e50(var_110h); 0x18367c305 | var_b8h = CONCAT44(unaff_XMM6_Db, unaff_XMM6_Da); 0x18367c305 | var_b0h = CONCAT44(unaff_XMM6_Dd, unaff_XMM6_Dc); 0x18367c30d | var_a8h = 0; 0x18367c2fe | func_0x0001870ff4c0(*(undefined8 *)(arg1 + 0xe0), 1000, &var_b8h); 0x18367c32a | } while( true ); |} [{"offset":6499580096,"name":"fcn.18367b8c0","size":2870,"is-pure":false,"realsz":2862,"noreturn":false,"stackframe":344,"calltype":"ms","cost":777,"cc":86,"loops":34,"bits":64,"type":"fcn","nbbs":139,"edges":213,"ebbs":6,"signature":"fcn.18367b8c0(int64_t arg1);","minbound":6499580096,"maxbound":6499582966,"callrefs":[{"from":6499580257,"to":6499580696,"type":"CODE"},{"from":6499580287,"to":6524603600,"type":"CALL"},{"from":6499580333,"to":6511512544,"type":"CALL"},{"from":6499580338,"to":6499580628,"type":"CODE"},{"from":6499580419,"to":6499580655,"type":"CODE"},{"from":6499580431,"to":6499580716,"type":"CODE"},{"from":6499580441,"to":6542067384,"type":"CALL"},{"from":6499580562,"to":6499571488,"type":"CALL"},{"from":6499580596,"to":6511512544,"type":"CALL"},{"from":6499580675,"to":6511512544,"type":"CALL"},{"from":6499580826,"to":6511512544,"type":"CALL"},{"from":6499580976,"to":6542436672,"type":"CALL"},{"from":6499581010,"to":6519187136,"type":"CALL"},{"from":6499581091,"to":6511733920,"type":"CALL"},{"from":6499581199,"to":6446103440,"type":"CALL"},{"from":6499581256,"to":6447834288,"type":"CALL"},{"from":6499581369,"to":6499581599,"type":"CODE"},{"from":6499581386,"to":6542067384,"type":"CALL"},{"from":6499581422,"to":6499580938,"type":"CODE"},{"from":6499581448,"to":6499581057,"type":"CODE"},{"from":6499581458,"to":6542067384,"type":"CALL"},{"from":6499581564,"to":6499580547,"type":"CODE"},{"from":6499581664,"to":6447834288,"type":"CALL"},{"from":6499581805,"to":6549322352,"type":"CALL"},{"from":6499581836,"to":6499582784,"type":"CODE"},{"from":6499581898,"to":6447834288,"type":"CALL"},{"from":6499581937,"to":6499580551,"type":"CODE"},{"from":6499581957,"to":6511513840,"type":"CALL"},{"from":6499581962,"to":6499580551,"type":"CODE"},{"from":6499581972,"to":6542067384,"type":"CALL"},{"from":6499582089,"to":6499580551,"type":"CODE"},{"from":6499582097,"to":6740346544,"type":"CALL"},{"from":6499582103,"to":6499582278,"type":"CODE"},{"from":6499582127,"to":6522361440,"type":"CALL"},{"from":6499582237,"to":6740346544,"type":"CALL"},{"from":6499582265,"to":6740346544,"type":"CALL"},{"from":6499582436,"to":6499582459,"type":"CODE"},{"from":6499582491,"to":6511512544,"type":"CALL"},{"from":6499582551,"to":6499582558,"type":"CODE"},{"from":6499582666,"to":6549322352,"type":"CALL"},{"from":6499582713,"to":6577823312,"type":"CALL"},{"from":6499582757,"to":6560937152,"type":"CALL"},{"from":6499582762,"to":6499580567,"type":"CODE"},{"from":6499582776,"to":6740346544,"type":"CALL"},{"from":6499582782,"to":6499582684,"type":"CODE"},{"from":6499582788,"to":6740346544,"type":"CALL"},{"from":6499582794,"to":6499580601,"type":"CODE"},{"from":6499582811,"to":6511512544,"type":"CALL"},{"from":6499582819,"to":6499582388,"type":"CODE"},{"from":6499582835,"to":6542089024,"type":"CALL"},{"from":6499582847,"to":6542069736,"type":"CALL"},{"from":6499582886,"to":6542069628,"type":"CALL"},{"from":6499582891,"to":6499582217,"type":"CODE"},{"from":6499582896,"to":6542702416,"type":"CALL"},{"from":6499582912,"to":6499582931,"type":"CODE"},{"from":6499582939,"to":6499581015,"type":"CODE"},{"from":6499582956,"to":6625251072,"type":"CALL"},{"from":6499582961,"to":6499582278,"type":"CODE"}],"datarefs":[{"from":6499580123,"to":6740709440,"type":"DATA"},{"from":6499580201,"to":6741832416,"type":"DATA"},{"from":6499580354,"to":6740709440,"type":"DATA"},{"from":6499580492,"to":6723474960,"type":"DATA"},{"from":6499580519,"to":6723474976,"type":"DATA"},{"from":6499580530,"to":6723474960,"type":"DATA"},{"from":6499581218,"to":6712085576,"type":"DATA"},{"from":6499581323,"to":6712192108,"type":"DATA"},{"from":6499581332,"to":6712192112,"type":"DATA"},{"from":6499581351,"to":6713609268,"type":"DATA"},{"from":6499581360,"to":6713609272,"type":"DATA"},{"from":6499581509,"to":6723475000,"type":"DATA"},{"from":6499581536,"to":6723475016,"type":"DATA"},{"from":6499581547,"to":6723475000,"type":"DATA"},{"from":6499581629,"to":6714960280,"type":"DATA"},{"from":6499581715,"to":6713609268,"type":"DATA"},{"from":6499581724,"to":6713609272,"type":"DATA"},{"from":6499581855,"to":6712262000,"type":"DATA"},{"from":6499582023,"to":6723475040,"type":"DATA"},{"from":6499582050,"to":6723475056,"type":"DATA"},{"from":6499582061,"to":6723475040,"type":"DATA"},{"from":6499582148,"to":6742251808,"type":"DATA"},{"from":6499582161,"to":6742251832,"type":"DATA"},{"from":6499582168,"to":6537719152,"type":"DATA"},{"from":6499582180,"to":6741841128,"type":"DATA"},{"from":6499582186,"to":6741832416,"type":"DATA"},{"from":6499582840,"to":6741841128,"type":"DATA"},{"from":6499582852,"to":6741841128,"type":"DATA"},{"from":6499582865,"to":6706346848,"type":"DATA"},{"from":6499582872,"to":6741841120,"type":"DATA"},{"from":6499582879,"to":6741841128,"type":"DATA"}],"codexrefs":[{"from":6499580257,"to":6499580696,"type":"CODE"},{"from":6499580338,"to":6499580628,"type":"CODE"},{"from":6499580419,"to":6499580655,"type":"CODE"},{"from":6499580431,"to":6499580716,"type":"CODE"},{"from":6499581369,"to":6499581599,"type":"CODE"},{"from":6499581422,"to":6499580938,"type":"CODE"},{"from":6499581448,"to":6499581057,"type":"CODE"},{"from":6499581564,"to":6499580547,"type":"CODE"},{"from":6499581836,"to":6499582784,"type":"CODE"},{"from":6499581937,"to":6499580551,"type":"CODE"},{"from":6499581962,"to":6499580551,"type":"CODE"},{"from":6499582089,"to":6499580551,"type":"CODE"},{"from":6499582103,"to":6499582278,"type":"CODE"},{"from":6499582436,"to":6499582459,"type":"CODE"},{"from":6499582551,"to":6499582558,"type":"CODE"},{"from":6499582762,"to":6499580567,"type":"CODE"},{"from":6499582782,"to":6499582684,"type":"CODE"},{"from":6499582794,"to":6499580601,"type":"CODE"},{"from":6499582819,"to":6499582388,"type":"CODE"},{"from":6499582891,"to":6499582217,"type":"CODE"},{"from":6499582912,"to":6499582931,"type":"CODE"},{"from":6499582939,"to":6499581015,"type":"CODE"},{"from":6499582961,"to":6499582278,"type":"CODE"}],"dataxrefs":[],"indegree":23,"outdegree":35,"nlocals":31,"nargs":1,"stackvars":[{"name":"var_12dh","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-301}},{"name":"var_12ch","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-300}},{"name":"var_128h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-296}},{"name":"var_120h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-288}},{"name":"var_118h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-280}},{"name":"var_110h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-272}},{"name":"var_108h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-264}},{"name":"var_100h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-256}},{"name":"var_f8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-248}},{"name":"var_f0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-240}},{"name":"var_e8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-232}},{"name":"var_e1h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-225}},{"name":"var_d8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-216}},{"name":"var_d0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-208}},{"name":"var_c8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-200}},{"name":"var_c0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-192}},{"name":"var_b8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-184}},{"name":"var_b0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-176}},{"name":"var_a8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-168}},{"name":"var_a1h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-161}},{"name":"var_98h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-152}},{"name":"var_90h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-144}},{"name":"var_88h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-136}},{"name":"var_80h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-128}},{"name":"var_78h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-120}},{"name":"var_70h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-112}},{"name":"var_60h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-96}},{"name":"var_58h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-88}},{"name":"var_4h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":4}},{"name":"var_8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":8}},{"name":"var_17h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":23}}],"regvars":[{"name":"arg1","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rcx"}}]}]