
_Bool extent_scan_read(extent_scan *scan)

{
  extent_info *p;
  undefined1 auVar1 [16];
  int iVar2;
  extent_info *peVar3;
  ulong *puVar4;
  uint uVar5;
  long lVar6;
  ulong uVar7;
  undefined8 uVar8;
  extent_info *peVar9;
  undefined8 uVar10;
  anon_union_4096_2_94730044 *paVar11;
  size_t sVar12;
  long in_FS_OFFSET;
  byte bVar13;
  bool local_1049;
  anon_union_4096_2_94730044 fiemap_buf;
  long local_40;
  
  bVar13 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  peVar9 = scan->ext_info;
  sVar12 = 0;
  do {
    paVar11 = &fiemap_buf;
    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {
      (paVar11->f).fm_start = 0;
      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);
    }
    fiemap_buf.f.fm_start = scan->scan_start;
    fiemap_buf.f.fm_flags = scan->fm_flags;
    fiemap_buf.f.fm_extent_count = 0x48;
    fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;
    iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf);
    if (iVar2 < 0) {
      local_1049 = false;
      if (scan->scan_start == 0) {
        scan->initial_scan_failed = true;
      }
      goto LAB_0010cb25;
    }
    if (fiemap_buf.f.fm_mapped_extents == 0) {
      scan->hit_final_extent = true;
      local_1049 = scan->scan_start != 0;
      goto LAB_0010cb25;
    }
    if (~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",
                    0x7e,"extent_scan_read");
    }
    uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents;
    scan->ei_count = uVar7;
    p = scan->ext_info;
    auVar1._8_8_ = 0;
    auVar1._0_8_ = uVar7;
    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;
    if (local_1049) {
                    /* WARNING: Subroutine does not return */
      xalloc_die();
    }
    peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18);
    scan->ext_info = peVar3;
    peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3);
    if (fiemap_buf.f.fm_mapped_extents != 0) {
      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {
LAB_0010ca4d:
                    /* WARNING: Subroutine does not return */
        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",
                      "src/extent-scan.c",0x8d,"extent_scan_read");
      }
      uVar5 = 0;
      puVar4 = (ulong *)(fiemap_buf.c + 0x20);
      uVar8 = fiemap_buf._32_8_;
      uVar10 = fiemap_buf._48_8_;
      do {
        if ((int)sVar12 == 0) {
          uVar7 = scan->scan_start;
          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;
LAB_0010ca97:
          peVar9 = scan->ext_info + sVar12;
          peVar9->ext_logical = uVar8;
          peVar9->ext_length = puVar4[2];
          peVar9->ext_flags = (uint)puVar4[5];
          sVar12 = (size_t)((int)sVar12 + 1);
        }
        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&
                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {
          peVar9->ext_length = uVar10 + peVar9->ext_length;
          peVar9->ext_flags = (uint)puVar4[5];
        }
        else {
          uVar7 = peVar9->ext_length + peVar9->ext_logical;
          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;
LAB_0010cb0f:
          if (uVar7 - uVar8 < (ulong)uVar10) {
            if (scan->scan_start == 0) {
              scan->initial_scan_failed = true;
            }
            goto LAB_0010cb25;
          }
          *puVar4 = uVar7;
          puVar4[2] = (uVar8 + uVar10) - uVar7;
          uVar5 = uVar5 - 1;
        }
        uVar5 = uVar5 + 1;
        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;
        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);
        uVar8 = *puVar4;
        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);
        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;
      } while( true );
    }
    uVar5 = (uint)sVar12;
    if ((peVar9->ext_flags & 1) == 0) {
      if (0x48 < uVar5) {
        if (scan->hit_final_extent != false) goto LAB_0010cb78;
        uVar7 = (ulong)(uVar5 - 1);
        scan->ei_count = uVar7;
        scan->scan_start =
             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;
        goto LAB_0010cbac;
      }
    }
    else {
      scan->hit_final_extent = true;
      if (0x48 < uVar5) {
LAB_0010cb78:
        scan->ei_count = sVar12;
LAB_0010cbac:
        local_1049 = true;
LAB_0010cb25:
        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
          return local_1049;
        }
                    /* WARNING: Subroutine does not return */
        __stack_chk_fail();
      }
    }
    scan->ei_count = sVar12;
    if ((scan->hit_final_extent != false) ||
       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))
    goto LAB_0010cbac;
  } while( true );
}



bool FUN_0010c8d3(int *param_1)

{
  undefined1 auVar1 [16];
  int iVar2;
  long lVar3;
  ulong *puVar4;
  uint uVar5;
  long lVar6;
  ulong uVar7;
  ulong *puVar8;
  ulong uVar9;
  ulong uVar10;
  ulong uVar11;
  long in_FS_OFFSET;
  byte bVar12;
  bool local_1049;
  ulong local_1048;
  ulong local_1040;
  int local_1038;
  uint local_1034;
  undefined4 local_1030;
  ulong local_1028 [509];
  long local_40;
  
  bVar12 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  puVar8 = *(ulong **)(param_1 + 10);
  uVar11 = 0;
  do {
    puVar4 = &local_1048;
    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {
      *puVar4 = 0;
      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;
    }
    local_1048 = *(ulong *)(param_1 + 2);
    local_1038 = param_1[4];
    local_1030 = 0x48;
    local_1040 = ~local_1048;
    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);
    if (iVar2 < 0) {
      local_1049 = false;
      if (*(long *)(param_1 + 2) == 0) {
        *(undefined1 *)(param_1 + 8) = 1;
      }
      goto LAB_0010cb25;
    }
    if (local_1034 == 0) {
      *(undefined1 *)((long)param_1 + 0x21) = 1;
      local_1049 = *(long *)(param_1 + 2) != 0;
      goto LAB_0010cb25;
    }
    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",
                    0x7e,"extent_scan_read");
    }
    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;
    *(ulong *)(param_1 + 6) = uVar7;
    lVar6 = *(long *)(param_1 + 10);
    auVar1._8_8_ = 0;
    auVar1._0_8_ = uVar7;
    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;
    if (local_1049) {
                    /* WARNING: Subroutine does not return */
      FUN_00114169();
    }
    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);
    *(long *)(param_1 + 10) = lVar3;
    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));
    if (local_1034 != 0) {
      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {
LAB_0010ca4d:
                    /* WARNING: Subroutine does not return */
        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",
                      "src/extent-scan.c",0x8d,"extent_scan_read");
      }
      uVar5 = 0;
      puVar4 = local_1028;
      uVar7 = local_1028[0];
      uVar9 = local_1028[2];
      do {
        if ((int)uVar11 == 0) {
          uVar10 = *(ulong *)(param_1 + 2);
          if (uVar7 < uVar10) goto LAB_0010cb0f;
LAB_0010ca97:
          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);
          *puVar8 = uVar7;
          puVar8[1] = puVar4[2];
          *(int *)(puVar8 + 2) = (int)puVar4[5];
          uVar11 = (ulong)((int)uVar11 + 1);
        }
        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&
                (puVar8[1] + *puVar8 == uVar7)) {
          puVar8[1] = uVar9 + puVar8[1];
          *(int *)(puVar8 + 2) = (int)puVar4[5];
        }
        else {
          uVar10 = puVar8[1] + *puVar8;
          if (uVar10 <= uVar7) goto LAB_0010ca97;
LAB_0010cb0f:
          if (uVar10 - uVar7 < uVar9) {
            if (*(long *)(param_1 + 2) == 0) {
              *(undefined1 *)(param_1 + 8) = 1;
            }
            goto LAB_0010cb25;
          }
          *puVar4 = uVar10;
          puVar4[2] = (uVar7 + uVar9) - uVar10;
          uVar5 = uVar5 - 1;
        }
        uVar5 = uVar5 + 1;
        if (local_1034 <= uVar5) break;
        puVar4 = local_1028 + (ulong)uVar5 * 7;
        uVar7 = *puVar4;
        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];
        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;
      } while( true );
    }
    uVar5 = (uint)uVar11;
    if ((puVar8[2] & 1) == 0) {
      if (0x48 < uVar5) {
        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;
        uVar11 = (ulong)(uVar5 - 1);
        *(ulong *)(param_1 + 6) = uVar11;
        *(long *)(param_1 + 2) =
             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +
             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);
        goto LAB_0010cbac;
      }
    }
    else {
      *(undefined1 *)((long)param_1 + 0x21) = 1;
      if (0x48 < uVar5) {
LAB_0010cb78:
        *(ulong *)(param_1 + 6) = uVar11;
LAB_0010cbac:
        local_1049 = true;
LAB_0010cb25:
        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
          return local_1049;
        }
                    /* WARNING: Subroutine does not return */
        __stack_chk_fail();
      }
    }
    *(ulong *)(param_1 + 6) = uVar11;
    if ((*(char *)((long)param_1 + 0x21) != '\0') ||
       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;
  } while( true );
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x1028
MOV RBP,RDI
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x1018],RAX
XOR EAX,EAX
MOV RBX,qword ptr [RDI + 0x28]
MOV R12D,0x0
LEA R13,[RSP + 0x10]
MOV R15,0x7fffffffffffffff
LEA R14,[R13 + 0x20]
MOV ECX,0x200
MOV EAX,0x0
MOV RDI,R13
STOSQ.REP RDI
MOV RAX,qword ptr [RBP + 0x8]
MOV qword ptr [RSP + 0x10],RAX
MOV EDX,dword ptr [RBP + 0x10]
MOV dword ptr [RSP + 0x20],EDX
MOV dword ptr [RSP + 0x28],0x48
NOT RAX
MOV qword ptr [RSP + 0x18],RAX
MOV RDX,R13
MOV ESI,0xc020660b
MOV EDI,dword ptr [RBP]
MOV EAX,0x0
CALL 0x001043b0
TEST EAX,EAX
JS 0x0010c9fd
MOV EAX,dword ptr [RSP + 0x24]
TEST EAX,EAX
JZ 0x0010ca16
MOV RCX,qword ptr [RBP + 0x18]
MOV EAX,EAX
MOV RDX,RAX
NOT RDX
CMP RCX,RDX
JA 0x0010ca29
ADD RCX,RAX
MOV qword ptr [RBP + 0x18],RCX
MOV RDI,qword ptr [RBP + 0x28]
SUB RBX,RDI
MOV EDX,0x18
MOV RAX,RDX
MUL RCX
SETO DL
MOVZX EDX,DL
TEST RAX,RAX
MOV EAX,0x1
CMOVNS RAX,RDX
MOV byte ptr [RSP + 0xf],AL
TEST AL,AL
JNZ 0x0010ca48
LEA RSI,[RCX + RCX*0x2]
SHL RSI,0x3
CALL 0x00113f82
MOV qword ptr [RBP + 0x28],RAX
ADD RBX,RAX
CMP dword ptr [RSP + 0x24],0x0
JZ 0x0010cb68
MOV RDX,qword ptr [RSP + 0x30]
MOV RSI,qword ptr [RSP + 0x40]
MOV RAX,R15
SUB RAX,RSI
CMP RDX,RAX
JA 0x0010ca4d
MOV ECX,0x0
MOV RAX,R14
JMP 0x0010caef
MOV byte ptr [RSP + 0xf],0x0
CMP qword ptr [RBP + 0x8],0x0
JNZ 0x0010cb25
MOV byte ptr [RBP + 0x20],0x1
JMP 0x0010cb25
MOV byte ptr [RBP + 0x21],0x1
CMP qword ptr [RBP + 0x8],0x0
SETNZ byte ptr [RSP + 0xf]
JMP 0x0010cb25
LEA RCX,[0x11d820]
MOV EDX,0x7e
LEA RSI,[0x11d78e]
LEA RDI,[0x11d7a0]
CALL 0x00104370
CALL 0x00114169
LEA RCX,[0x11d820]
MOV EDX,0x8d
LEA RSI,[0x11d78e]
LEA RDI,[0x11d7d8]
CALL 0x00104370
MOV RDI,qword ptr [RBX + 0x8]
MOV R8,RDI
ADD R8,qword ptr [RBX]
CMP R8,RDX
JNZ 0x0010cb03
ADD RSI,RDI
MOV qword ptr [RBX + 0x8],RSI
MOV EAX,dword ptr [RAX + 0x28]
MOV dword ptr [RBX + 0x10],EAX
JMP 0x0010cabb
MOV RDI,qword ptr [RBP + 0x8]
CMP RDI,RDX
JA 0x0010cb0f
MOV ESI,R12D
LEA RDI,[RSI + RSI*0x2]
MOV RSI,qword ptr [RBP + 0x28]
LEA RBX,[RSI + RDI*0x8]
MOV qword ptr [RBX],RDX
MOV RDX,qword ptr [RAX + 0x10]
MOV qword ptr [RBX + 0x8],RDX
MOV EAX,dword ptr [RAX + 0x28]
MOV dword ptr [RBX + 0x10],EAX
ADD R12D,0x1
ADD ECX,0x1
CMP dword ptr [RSP + 0x24],ECX
JBE 0x0010cb68
MOV EDX,ECX
LEA RAX,[RDX*0x8]
SUB RAX,RDX
LEA RAX,[R14 + RAX*0x8]
MOV RDX,qword ptr [RAX]
MOV RSI,qword ptr [RAX + 0x10]
MOV RDI,R15
SUB RDI,RSI
CMP RDX,RDI
JA 0x0010ca4d
TEST R12D,R12D
JZ 0x0010ca8e
MOV EDI,dword ptr [RAX + 0x28]
AND EDI,0xfffffffe
CMP dword ptr [RBX + 0x10],EDI
JZ 0x0010ca6c
MOV RDI,qword ptr [RBX + 0x8]
ADD RDI,qword ptr [RBX]
CMP RDI,RDX
JBE 0x0010ca97
MOV R8,RDI
SUB R8,RDX
CMP R8,RSI
JNC 0x0010cb53
CMP qword ptr [RBP + 0x8],0x0
JNZ 0x0010cb25
MOV byte ptr [RBP + 0x20],0x1
MOVZX EAX,byte ptr [RSP + 0xf]
MOV RCX,qword ptr [RSP + 0x1018]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x0010cbda
ADD RSP,0x1028
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV qword ptr [RAX],RDI
ADD RDX,RSI
SUB RDX,RDI
MOV qword ptr [RAX + 0x10],RDX
SUB ECX,0x1
JMP 0x0010cabb
TEST byte ptr [RBX + 0x10],0x1
JZ 0x0010cb81
MOV byte ptr [RBP + 0x21],0x1
CMP R12D,0x48
JBE 0x0010cbb6
MOV EAX,R12D
MOV qword ptr [RBP + 0x18],RAX
JMP 0x0010cbac
CMP R12D,0x48
JBE 0x0010cbb6
CMP byte ptr [RBP + 0x21],0x0
JNZ 0x0010cb78
LEA EAX,[R12 + -0x1]
LEA RCX,[RAX + RAX*0x2]
MOV RDX,qword ptr [RBP + 0x28]
MOV qword ptr [RBP + 0x18],RAX
MOV RAX,qword ptr [RDX + RCX*0x8 + -0x10]
ADD RAX,qword ptr [RDX + RCX*0x8 + -0x18]
MOV qword ptr [RBP + 0x8],RAX
MOV byte ptr [RSP + 0xf],0x1
JMP 0x0010cb25
MOV EAX,R12D
MOV qword ptr [RBP + 0x18],RAX
CMP byte ptr [RBP + 0x21],0x0
JNZ 0x0010cbac
MOV RAX,qword ptr [RBX + 0x8]
ADD RAX,qword ptr [RBX]
MOV qword ptr [RBP + 0x8],RAX
CMP R12D,0x47
JBE 0x0010c917
JMP 0x0010cbac
CALL 0x001042a0
(translation_unit "bool FUN_0010c8d3(int *param_1)\n\n{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}\n\n" (function_definition "bool FUN_0010c8d3(int *param_1)\n\n{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}" primitive_type (function_declarator "FUN_0010c8d3(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}" { (declaration "undefined1 auVar1 [16];" type_identifier (array_declarator "auVar1 [16]" identifier [ number_literal ]) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "ulong *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "bool local_1049;" primitive_type identifier ;) (declaration "ulong local_1048;" type_identifier identifier ;) (declaration "ulong local_1040;" type_identifier identifier ;) (declaration "int local_1038;" primitive_type identifier ;) (declaration "uint local_1034;" type_identifier identifier ;) (declaration "undefined4 local_1030;" type_identifier identifier ;) (declaration "ulong local_1028 [509];" type_identifier (array_declarator "local_1028 [509]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = *(ulong **)(param_1 + 10);" (assignment_expression "puVar8 = *(ulong **)(param_1 + 10)" identifier = (pointer_expression "*(ulong **)(param_1 + 10)" * (cast_expression "(ulong **)(param_1 + 10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );" do (compound_statement "{\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  }" { (expression_statement "puVar4 = &local_1048;" (assignment_expression "puVar4 = &local_1048" identifier = (pointer_expression "&local_1048" & identifier)) ;) (for_statement "for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }" for ( (assignment_expression "lVar6 = 0x200" identifier = number_literal) ; (binary_expression "lVar6 != 0" identifier != number_literal) ; (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }" { (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;" (assignment_expression "puVar4 = puVar4 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "puVar4 + (ulong)bVar12 * -2 + 1" (binary_expression "puVar4 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_1048 = *(ulong *)(param_1 + 2);" (assignment_expression "local_1048 = *(ulong *)(param_1 + 2)" identifier = (pointer_expression "*(ulong *)(param_1 + 2)" * (cast_expression "(ulong *)(param_1 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_1038 = param_1[4];" (assignment_expression "local_1038 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_1030 = 0x48;" (assignment_expression "local_1030 = 0x48" identifier = number_literal) ;) (expression_statement "local_1040 = ~local_1048;" (assignment_expression "local_1040 = ~local_1048" identifier = (unary_expression "~local_1048" ~ identifier)) ;) (expression_statement "iVar2 = ioctl(*param_1,0xc020660b,&local_1048);" (assignment_expression "iVar2 = ioctl(*param_1,0xc020660b,&local_1048)" identifier = (call_expression "ioctl(*param_1,0xc020660b,&local_1048)" identifier (argument_list "(*param_1,0xc020660b,&local_1048)" ( (pointer_expression "*param_1" * identifier) , number_literal , (pointer_expression "&local_1048" & identifier) )))) ;) (if_statement "if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }" { (expression_statement "local_1049 = false;" (assignment_expression "local_1049 = false" identifier = false) ;) (if_statement "if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }" if (parenthesized_expression "(*(long *)(param_1 + 2) == 0)" ( (binary_expression "*(long *)(param_1 + 2) == 0" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        *(undefined1 *)(param_1 + 8) = 1;\n      }" { (expression_statement "*(undefined1 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 1" (pointer_expression "*(undefined1 *)(param_1 + 8)" * (cast_expression "(undefined1 *)(param_1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) })) (if_statement "if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }" if (parenthesized_expression "(local_1034 == 0)" ( (binary_expression "local_1034 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }" { (expression_statement "*(undefined1 *)((long)param_1 + 0x21) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x21) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x21)" * (cast_expression "(undefined1 *)((long)param_1 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_1049 = *(long *)(param_1 + 2) != 0;" (assignment_expression "local_1049 = *(long *)(param_1 + 2) != 0" identifier = (binary_expression "*(long *)(param_1 + 2) != 0" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) != number_literal)) ;) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) })) (if_statement "if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" if (parenthesized_expression "(~(ulong)local_1034 < *(ulong *)(param_1 + 6))" ( (binary_expression "~(ulong)local_1034 < *(ulong *)(param_1 + 6)" (unary_expression "~(ulong)local_1034" ~ (cast_expression "(ulong)local_1034" ( (type_descriptor "ulong" type_identifier) ) identifier)) < (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" { comment (expression_statement "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");" (call_expression "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" identifier (argument_list "("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" ( (string_literal ""scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents"" " string_content ") , (string_literal ""src/extent-scan.c"" " string_content ") , number_literal , (string_literal ""extent_scan_read"" " string_content ") ))) ;) })) (expression_statement "uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;" (assignment_expression "uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034" identifier = (binary_expression "*(ulong *)(param_1 + 6) + (ulong)local_1034" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) + (cast_expression "(ulong)local_1034" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "*(ulong *)(param_1 + 6) = uVar7;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar7" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar6 = *(long *)(param_1 + 10);" (assignment_expression "lVar6 = *(long *)(param_1 + 10)" identifier = (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) ))))) ;) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar1._0_8_ = uVar7;" (assignment_expression "auVar1._0_8_ = uVar7" (field_expression "auVar1._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;" (assignment_expression "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" identifier = (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,0)" identifier (argument_list "(ZEXT816(0x18) * auVar1,0)" ( (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" identifier (argument_list "(0x18)" ( number_literal ))) * identifier) , number_literal ))) < number_literal) || (binary_expression "SUB168(ZEXT816(0x18) * auVar1,8) != 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,8)" identifier (argument_list "(ZEXT816(0x18) * auVar1,8)" ( (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" identifier (argument_list "(0x18)" ( number_literal ))) * identifier) , number_literal ))) != number_literal))) ;) (if_statement "if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00114169();\n    }" if (parenthesized_expression "(local_1049)" ( identifier )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00114169();\n    }" { comment (expression_statement "FUN_00114169();" (call_expression "FUN_00114169()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);" (assignment_expression "lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18)" identifier = (call_expression "FUN_00113f82(lVar6,uVar7 * 0x18)" identifier (argument_list "(lVar6,uVar7 * 0x18)" ( identifier , (binary_expression "uVar7 * 0x18" identifier * number_literal) )))) ;) (expression_statement "*(long *)(param_1 + 10) = lVar3;" (assignment_expression "*(long *)(param_1 + 10) = lVar3" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));" (assignment_expression "puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6))" identifier = (cast_expression "(ulong *)((long)puVar8 + (lVar3 - lVar6))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (lVar3 - lVar6))" ( (binary_expression "(long)puVar8 + (lVar3 - lVar6)" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(lVar3 - lVar6)" ( (binary_expression "lVar3 - lVar6" identifier - identifier) ))) )))) ;) (if_statement "if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }" if (parenthesized_expression "(local_1034 != 0)" ( (binary_expression "local_1034 != 0" identifier != number_literal) )) (compound_statement "{\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }" { (if_statement "if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" if (parenthesized_expression "(0x7fffffffffffffff - local_1028[2] < local_1028[0])" ( (binary_expression "0x7fffffffffffffff - local_1028[2] < local_1028[0]" (binary_expression "0x7fffffffffffffff - local_1028[2]" number_literal - (subscript_expression "local_1028[2]" identifier [ number_literal ])) < (subscript_expression "local_1028[0]" identifier [ number_literal ])) )) (compound_statement "{\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" { (labeled_statement "LAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" statement_identifier : comment (expression_statement "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" (call_expression "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" identifier (argument_list "("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" ( (string_literal ""fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length"" " string_content ") , (string_literal ""src/extent-scan.c"" " string_content ") , number_literal , (string_literal ""extent_scan_read"" " string_content ") ))) ;)) })) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "puVar4 = local_1028;" (assignment_expression "puVar4 = local_1028" identifier = identifier) ;) (expression_statement "uVar7 = local_1028[0];" (assignment_expression "uVar7 = local_1028[0]" identifier = (subscript_expression "local_1028[0]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = local_1028[2];" (assignment_expression "uVar9 = local_1028[2]" identifier = (subscript_expression "local_1028[2]" identifier [ number_literal ])) ;) (do_statement "do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );" do (compound_statement "{\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      }" { (if_statement "if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" if (parenthesized_expression "((int)uVar11 == 0)" ( (binary_expression "(int)uVar11 == 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }" { (expression_statement "uVar10 = *(ulong *)(param_1 + 2);" (assignment_expression "uVar10 = *(ulong *)(param_1 + 2)" identifier = (pointer_expression "*(ulong *)(param_1 + 2)" * (cast_expression "(ulong *)(param_1 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (uVar7 < uVar10) goto LAB_0010cb0f;" if (parenthesized_expression "(uVar7 < uVar10)" ( (binary_expression "uVar7 < uVar10" identifier < identifier) )) (goto_statement "goto LAB_0010cb0f;" goto statement_identifier ;)) (labeled_statement "LAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);" statement_identifier : (expression_statement "puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);" (assignment_expression "puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18)" identifier = (cast_expression "(ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 10) + uVar11 * 0x18)" ( (binary_expression "*(long *)(param_1 + 10) + uVar11 * 0x18" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))) ;)) (expression_statement "*puVar8 = uVar7;" (assignment_expression "*puVar8 = uVar7" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = puVar4[2];" (assignment_expression "puVar8[1] = puVar4[2]" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (subscript_expression "puVar4[2]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar8 + 2) = (int)puVar4[5];" (assignment_expression "*(int *)(puVar8 + 2) = (int)puVar4[5]" (pointer_expression "*(int *)(puVar8 + 2)" * (cast_expression "(int *)(puVar8 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 2)" ( (binary_expression "puVar8 + 2" identifier + number_literal) )))) = (cast_expression "(int)puVar4[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar4[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = (ulong)((int)uVar11 + 1);" (assignment_expression "uVar11 = (ulong)((int)uVar11 + 1)" identifier = (call_expression "(ulong)((int)uVar11 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar11 + 1)" ( (binary_expression "(int)uVar11 + 1" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" else (if_statement "if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" if (parenthesized_expression "(((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7))" ( (binary_expression "((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)" (parenthesized_expression "((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe))" ( (binary_expression "(uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)" (cast_expression "(uint)puVar8[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar8[2]" identifier [ number_literal ])) == (parenthesized_expression "((uint)puVar4[5] & 0xfffffffe)" ( (binary_expression "(uint)puVar4[5] & 0xfffffffe" (cast_expression "(uint)puVar4[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[5]" identifier [ number_literal ])) & number_literal) ))) )) && (parenthesized_expression "(puVar8[1] + *puVar8 == uVar7)" ( (binary_expression "puVar8[1] + *puVar8 == uVar7" (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + (pointer_expression "*puVar8" * identifier)) == identifier) ))) )) (compound_statement "{\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }" { (expression_statement "puVar8[1] = uVar9 + puVar8[1];" (assignment_expression "puVar8[1] = uVar9 + puVar8[1]" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (binary_expression "uVar9 + puVar8[1]" identifier + (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "*(int *)(puVar8 + 2) = (int)puVar4[5];" (assignment_expression "*(int *)(puVar8 + 2) = (int)puVar4[5]" (pointer_expression "*(int *)(puVar8 + 2)" * (cast_expression "(int *)(puVar8 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 2)" ( (binary_expression "puVar8 + 2" identifier + number_literal) )))) = (cast_expression "(int)puVar4[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar4[5]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" else (compound_statement "{\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" { (expression_statement "uVar10 = puVar8[1] + *puVar8;" (assignment_expression "uVar10 = puVar8[1] + *puVar8" identifier = (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + (pointer_expression "*puVar8" * identifier))) ;) (if_statement "if (uVar10 <= uVar7) goto LAB_0010ca97;" if (parenthesized_expression "(uVar10 <= uVar7)" ( (binary_expression "uVar10 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_0010ca97;" goto statement_identifier ;)) (labeled_statement "LAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" statement_identifier : (if_statement "if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" if (parenthesized_expression "(uVar10 - uVar7 < uVar9)" ( (binary_expression "uVar10 - uVar7 < uVar9" (binary_expression "uVar10 - uVar7" identifier - identifier) < identifier) )) (compound_statement "{\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" { (if_statement "if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }" if (parenthesized_expression "(*(long *)(param_1 + 2) == 0)" ( (binary_expression "*(long *)(param_1 + 2) == 0" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(undefined1 *)(param_1 + 8) = 1;\n            }" { (expression_statement "*(undefined1 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 1" (pointer_expression "*(undefined1 *)(param_1 + 8)" * (cast_expression "(undefined1 *)(param_1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) }))) (expression_statement "*puVar4 = uVar10;" (assignment_expression "*puVar4 = uVar10" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4[2] = (uVar7 + uVar9) - uVar10;" (assignment_expression "puVar4[2] = (uVar7 + uVar9) - uVar10" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = (binary_expression "(uVar7 + uVar9) - uVar10" (parenthesized_expression "(uVar7 + uVar9)" ( (binary_expression "uVar7 + uVar9" identifier + identifier) )) - identifier)) ;) (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" identifier = (binary_expression "uVar5 - 1" identifier - number_literal)) ;) }))))) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (if_statement "if (local_1034 <= uVar5) break;" if (parenthesized_expression "(local_1034 <= uVar5)" ( (binary_expression "local_1034 <= uVar5" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "puVar4 = local_1028 + (ulong)uVar5 * 7;" (assignment_expression "puVar4 = local_1028 + (ulong)uVar5 * 7" identifier = (binary_expression "local_1028 + (ulong)uVar5 * 7" identifier + (binary_expression "(ulong)uVar5 * 7" (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "uVar7 = *puVar4;" (assignment_expression "uVar7 = *puVar4" identifier = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "uVar9 = local_1028[(ulong)uVar5 * 7 + 2];" (assignment_expression "uVar9 = local_1028[(ulong)uVar5 * 7 + 2]" identifier = (subscript_expression "local_1028[(ulong)uVar5 * 7 + 2]" identifier [ (binary_expression "(ulong)uVar5 * 7 + 2" (binary_expression "(ulong)uVar5 * 7" (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + number_literal) ])) ;) (if_statement "if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;" if (parenthesized_expression "(0x7fffffffffffffff - uVar9 < uVar7)" ( (binary_expression "0x7fffffffffffffff - uVar9 < uVar7" (binary_expression "0x7fffffffffffffff - uVar9" number_literal - identifier) < identifier) )) (goto_statement "goto LAB_0010ca4d;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "uVar5 = (uint)uVar11;" (assignment_expression "uVar5 = (uint)uVar11" identifier = (cast_expression "(uint)uVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }" if (parenthesized_expression "((puVar8[2] & 1) == 0)" ( (binary_expression "(puVar8[2] & 1) == 0" (parenthesized_expression "(puVar8[2] & 1)" ( (binary_expression "puVar8[2] & 1" (subscript_expression "puVar8[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }" { (if_statement "if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }" if (parenthesized_expression "(0x48 < uVar5)" ( (binary_expression "0x48 < uVar5" number_literal < identifier) )) (compound_statement "{\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }" { (if_statement "if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;" if (parenthesized_expression "(*(char *)((long)param_1 + 0x21) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x21) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x21)" * (cast_expression "(char *)((long)param_1 + 0x21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010cb78;" goto statement_identifier ;)) (expression_statement "uVar11 = (ulong)(uVar5 - 1);" (assignment_expression "uVar11 = (ulong)(uVar5 - 1)" identifier = (call_expression "(ulong)(uVar5 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 - 1)" ( (binary_expression "uVar5 - 1" identifier - number_literal) )))) ;) (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);" (assignment_expression "*(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = (binary_expression "*(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (pointer_expression "*(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" * (cast_expression "(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" ( (binary_expression "*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18" (binary_expression "*(long *)(param_1 + 10) + -0x10" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))) + (pointer_expression "*(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" * (cast_expression "(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" ( (binary_expression "*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18" (binary_expression "*(long *)(param_1 + 10) + -0x18" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))))) ;) (goto_statement "goto LAB_0010cbac;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }" else (compound_statement "{\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }" { (expression_statement "*(undefined1 *)((long)param_1 + 0x21) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x21) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x21)" * (cast_expression "(undefined1 *)((long)param_1 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }" if (parenthesized_expression "(0x48 < uVar5)" ( (binary_expression "0x48 < uVar5" number_literal < identifier) )) (compound_statement "{\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }" { (labeled_statement "LAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;" statement_identifier : (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;)) (labeled_statement "LAB_0010cbac:\n        local_1049 = true;" statement_identifier : (expression_statement "local_1049 = true;" (assignment_expression "local_1049 = true" identifier = true) ;)) (labeled_statement "LAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n          return local_1049;\n        }" { (return_statement "return local_1049;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;" if (parenthesized_expression "((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5))" ( (binary_expression "(*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)" (parenthesized_expression "(*(char *)((long)param_1 + 0x21) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x21) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x21)" * (cast_expression "(char *)((long)param_1 + 0x21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)" ( (comma_expression "*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5" (assignment_expression "*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8" (pointer_expression "*(ulong *)(param_1 + 2)" * (cast_expression "(ulong *)(param_1 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + (pointer_expression "*puVar8" * identifier))) , (binary_expression "0x47 < uVar5" number_literal < identifier)) ))) )) (goto_statement "goto LAB_0010cbac;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "_Bool extent_scan_read(extent_scan *scan)\n\n{\n  extent_info *p;\n  undefined1 auVar1 [16];\n  int iVar2;\n  extent_info *peVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  undefined8 uVar8;\n  extent_info *peVar9;\n  undefined8 uVar10;\n  anon_union_4096_2_94730044 *paVar11;\n  size_t sVar12;\n  long in_FS_OFFSET;\n  byte bVar13;\n  bool local_1049;\n  anon_union_4096_2_94730044 fiemap_buf;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  peVar9 = scan->ext_info;\n  sVar12 = 0;\n  do {\n    paVar11 = &fiemap_buf;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      (paVar11->f).fm_start = 0;\n      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);\n    }\n    fiemap_buf.f.fm_start = scan->scan_start;\n    fiemap_buf.f.fm_flags = scan->fm_flags;\n    fiemap_buf.f.fm_extent_count = 0x48;\n    fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;\n    iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }\n      goto LAB_0010cb25;\n    }\n    if (fiemap_buf.f.fm_mapped_extents == 0) {\n      scan->hit_final_extent = true;\n      local_1049 = scan->scan_start != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents;\n    scan->ei_count = uVar7;\n    p = scan->ext_info;\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n    peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18);\n    scan->ext_info = peVar3;\n    peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3);\n    if (fiemap_buf.f.fm_mapped_extents != 0) {\n      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = (ulong *)(fiemap_buf.c + 0x20);\n      uVar8 = fiemap_buf._32_8_;\n      uVar10 = fiemap_buf._48_8_;\n      do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)sVar12;\n    if ((peVar9->ext_flags & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    scan->ei_count = sVar12;\n    if ((scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))\n    goto LAB_0010cbac;\n  } while( true );\n}\n\n" (function_definition "_Bool extent_scan_read(extent_scan *scan)\n\n{\n  extent_info *p;\n  undefined1 auVar1 [16];\n  int iVar2;\n  extent_info *peVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  undefined8 uVar8;\n  extent_info *peVar9;\n  undefined8 uVar10;\n  anon_union_4096_2_94730044 *paVar11;\n  size_t sVar12;\n  long in_FS_OFFSET;\n  byte bVar13;\n  bool local_1049;\n  anon_union_4096_2_94730044 fiemap_buf;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  peVar9 = scan->ext_info;\n  sVar12 = 0;\n  do {\n    paVar11 = &fiemap_buf;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      (paVar11->f).fm_start = 0;\n      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);\n    }\n    fiemap_buf.f.fm_start = scan->scan_start;\n    fiemap_buf.f.fm_flags = scan->fm_flags;\n    fiemap_buf.f.fm_extent_count = 0x48;\n    fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;\n    iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }\n      goto LAB_0010cb25;\n    }\n    if (fiemap_buf.f.fm_mapped_extents == 0) {\n      scan->hit_final_extent = true;\n      local_1049 = scan->scan_start != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents;\n    scan->ei_count = uVar7;\n    p = scan->ext_info;\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n    peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18);\n    scan->ext_info = peVar3;\n    peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3);\n    if (fiemap_buf.f.fm_mapped_extents != 0) {\n      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = (ulong *)(fiemap_buf.c + 0x20);\n      uVar8 = fiemap_buf._32_8_;\n      uVar10 = fiemap_buf._48_8_;\n      do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)sVar12;\n    if ((peVar9->ext_flags & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    scan->ei_count = sVar12;\n    if ((scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))\n    goto LAB_0010cbac;\n  } while( true );\n}" type_identifier (function_declarator "extent_scan_read(extent_scan *scan)" identifier (parameter_list "(extent_scan *scan)" ( (parameter_declaration "extent_scan *scan" type_identifier (pointer_declarator "*scan" * identifier)) ))) (compound_statement "{\n  extent_info *p;\n  undefined1 auVar1 [16];\n  int iVar2;\n  extent_info *peVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  undefined8 uVar8;\n  extent_info *peVar9;\n  undefined8 uVar10;\n  anon_union_4096_2_94730044 *paVar11;\n  size_t sVar12;\n  long in_FS_OFFSET;\n  byte bVar13;\n  bool local_1049;\n  anon_union_4096_2_94730044 fiemap_buf;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  peVar9 = scan->ext_info;\n  sVar12 = 0;\n  do {\n    paVar11 = &fiemap_buf;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      (paVar11->f).fm_start = 0;\n      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);\n    }\n    fiemap_buf.f.fm_start = scan->scan_start;\n    fiemap_buf.f.fm_flags = scan->fm_flags;\n    fiemap_buf.f.fm_extent_count = 0x48;\n    fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;\n    iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }\n      goto LAB_0010cb25;\n    }\n    if (fiemap_buf.f.fm_mapped_extents == 0) {\n      scan->hit_final_extent = true;\n      local_1049 = scan->scan_start != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents;\n    scan->ei_count = uVar7;\n    p = scan->ext_info;\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n    peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18);\n    scan->ext_info = peVar3;\n    peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3);\n    if (fiemap_buf.f.fm_mapped_extents != 0) {\n      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = (ulong *)(fiemap_buf.c + 0x20);\n      uVar8 = fiemap_buf._32_8_;\n      uVar10 = fiemap_buf._48_8_;\n      do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)sVar12;\n    if ((peVar9->ext_flags & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    scan->ei_count = sVar12;\n    if ((scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))\n    goto LAB_0010cbac;\n  } while( true );\n}" { (declaration "extent_info *p;" type_identifier (pointer_declarator "*p" * identifier) ;) (declaration "undefined1 auVar1 [16];" type_identifier (array_declarator "auVar1 [16]" identifier [ number_literal ]) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "extent_info *peVar3;" type_identifier (pointer_declarator "*peVar3" * identifier) ;) (declaration "ulong *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "extent_info *peVar9;" type_identifier (pointer_declarator "*peVar9" * identifier) ;) (declaration "undefined8 uVar10;" type_identifier identifier ;) (declaration "anon_union_4096_2_94730044 *paVar11;" type_identifier (pointer_declarator "*paVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "bool local_1049;" primitive_type identifier ;) (declaration "anon_union_4096_2_94730044 fiemap_buf;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "peVar9 = scan->ext_info;" (assignment_expression "peVar9 = scan->ext_info" identifier = (field_expression "scan->ext_info" identifier -> field_identifier)) ;) (expression_statement "sVar12 = 0;" (assignment_expression "sVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n    paVar11 = &fiemap_buf;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      (paVar11->f).fm_start = 0;\n      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);\n    }\n    fiemap_buf.f.fm_start = scan->scan_start;\n    fiemap_buf.f.fm_flags = scan->fm_flags;\n    fiemap_buf.f.fm_extent_count = 0x48;\n    fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;\n    iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }\n      goto LAB_0010cb25;\n    }\n    if (fiemap_buf.f.fm_mapped_extents == 0) {\n      scan->hit_final_extent = true;\n      local_1049 = scan->scan_start != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents;\n    scan->ei_count = uVar7;\n    p = scan->ext_info;\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n    peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18);\n    scan->ext_info = peVar3;\n    peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3);\n    if (fiemap_buf.f.fm_mapped_extents != 0) {\n      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = (ulong *)(fiemap_buf.c + 0x20);\n      uVar8 = fiemap_buf._32_8_;\n      uVar10 = fiemap_buf._48_8_;\n      do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)sVar12;\n    if ((peVar9->ext_flags & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    scan->ei_count = sVar12;\n    if ((scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))\n    goto LAB_0010cbac;\n  } while( true );" do (compound_statement "{\n    paVar11 = &fiemap_buf;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      (paVar11->f).fm_start = 0;\n      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);\n    }\n    fiemap_buf.f.fm_start = scan->scan_start;\n    fiemap_buf.f.fm_flags = scan->fm_flags;\n    fiemap_buf.f.fm_extent_count = 0x48;\n    fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;\n    iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }\n      goto LAB_0010cb25;\n    }\n    if (fiemap_buf.f.fm_mapped_extents == 0) {\n      scan->hit_final_extent = true;\n      local_1049 = scan->scan_start != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents;\n    scan->ei_count = uVar7;\n    p = scan->ext_info;\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }\n    peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18);\n    scan->ext_info = peVar3;\n    peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3);\n    if (fiemap_buf.f.fm_mapped_extents != 0) {\n      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = (ulong *)(fiemap_buf.c + 0x20);\n      uVar8 = fiemap_buf._32_8_;\n      uVar10 = fiemap_buf._48_8_;\n      do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)sVar12;\n    if ((peVar9->ext_flags & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }\n    scan->ei_count = sVar12;\n    if ((scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))\n    goto LAB_0010cbac;\n  }" { (expression_statement "paVar11 = &fiemap_buf;" (assignment_expression "paVar11 = &fiemap_buf" identifier = (pointer_expression "&fiemap_buf" & identifier)) ;) (for_statement "for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      (paVar11->f).fm_start = 0;\n      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);\n    }" for ( (assignment_expression "lVar6 = 0x200" identifier = number_literal) ; (binary_expression "lVar6 != 0" identifier != number_literal) ; (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n      (paVar11->f).fm_start = 0;\n      paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);\n    }" { (expression_statement "(paVar11->f).fm_start = 0;" (assignment_expression "(paVar11->f).fm_start = 0" (field_expression "(paVar11->f).fm_start" (parenthesized_expression "(paVar11->f)" ( (field_expression "paVar11->f" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8);" (assignment_expression "paVar11 = (anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8)" identifier = (cast_expression "(anon_union_4096_2_94730044 *)((long)paVar11 + (ulong)bVar13 * -0x10 + 8)" ( (type_descriptor "anon_union_4096_2_94730044 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)paVar11 + (ulong)bVar13 * -0x10 + 8)" ( (binary_expression "(long)paVar11 + (ulong)bVar13 * -0x10 + 8" (binary_expression "(long)paVar11 + (ulong)bVar13 * -0x10" (cast_expression "(long)paVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar13 * -0x10" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) (expression_statement "fiemap_buf.f.fm_start = scan->scan_start;" (assignment_expression "fiemap_buf.f.fm_start = scan->scan_start" (field_expression "fiemap_buf.f.fm_start" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier) = (field_expression "scan->scan_start" identifier -> field_identifier)) ;) (expression_statement "fiemap_buf.f.fm_flags = scan->fm_flags;" (assignment_expression "fiemap_buf.f.fm_flags = scan->fm_flags" (field_expression "fiemap_buf.f.fm_flags" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier) = (field_expression "scan->fm_flags" identifier -> field_identifier)) ;) (expression_statement "fiemap_buf.f.fm_extent_count = 0x48;" (assignment_expression "fiemap_buf.f.fm_extent_count = 0x48" (field_expression "fiemap_buf.f.fm_extent_count" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;" (assignment_expression "fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start" (field_expression "fiemap_buf.f.fm_length" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier) = (unary_expression "~fiemap_buf.f.fm_start" ~ (field_expression "fiemap_buf.f.fm_start" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier))) ;) (expression_statement "iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf);" (assignment_expression "iVar2 = ioctl(scan->fd,0xc020660b,&fiemap_buf)" identifier = (call_expression "ioctl(scan->fd,0xc020660b,&fiemap_buf)" identifier (argument_list "(scan->fd,0xc020660b,&fiemap_buf)" ( (field_expression "scan->fd" identifier -> field_identifier) , number_literal , (pointer_expression "&fiemap_buf" & identifier) )))) ;) (if_statement "if (iVar2 < 0) {\n      local_1049 = false;\n      if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }\n      goto LAB_0010cb25;\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n      local_1049 = false;\n      if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }\n      goto LAB_0010cb25;\n    }" { (expression_statement "local_1049 = false;" (assignment_expression "local_1049 = false" identifier = false) ;) (if_statement "if (scan->scan_start == 0) {\n        scan->initial_scan_failed = true;\n      }" if (parenthesized_expression "(scan->scan_start == 0)" ( (binary_expression "scan->scan_start == 0" (field_expression "scan->scan_start" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        scan->initial_scan_failed = true;\n      }" { (expression_statement "scan->initial_scan_failed = true;" (assignment_expression "scan->initial_scan_failed = true" (field_expression "scan->initial_scan_failed" identifier -> field_identifier) = true) ;) })) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) })) (if_statement "if (fiemap_buf.f.fm_mapped_extents == 0) {\n      scan->hit_final_extent = true;\n      local_1049 = scan->scan_start != 0;\n      goto LAB_0010cb25;\n    }" if (parenthesized_expression "(fiemap_buf.f.fm_mapped_extents == 0)" ( (binary_expression "fiemap_buf.f.fm_mapped_extents == 0" (field_expression "fiemap_buf.f.fm_mapped_extents" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n      scan->hit_final_extent = true;\n      local_1049 = scan->scan_start != 0;\n      goto LAB_0010cb25;\n    }" { (expression_statement "scan->hit_final_extent = true;" (assignment_expression "scan->hit_final_extent = true" (field_expression "scan->hit_final_extent" identifier -> field_identifier) = true) ;) (expression_statement "local_1049 = scan->scan_start != 0;" (assignment_expression "local_1049 = scan->scan_start != 0" identifier = (binary_expression "scan->scan_start != 0" (field_expression "scan->scan_start" identifier -> field_identifier) != number_literal)) ;) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) })) (if_statement "if (~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" if (parenthesized_expression "(~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count)" ( (binary_expression "~(ulong)fiemap_buf.f.fm_mapped_extents < scan->ei_count" (unary_expression "~(ulong)fiemap_buf.f.fm_mapped_extents" ~ (cast_expression "(ulong)fiemap_buf.f.fm_mapped_extents" ( (type_descriptor "ulong" type_identifier) ) (field_expression "fiemap_buf.f.fm_mapped_extents" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier))) < (field_expression "scan->ei_count" identifier -> field_identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" { comment (expression_statement "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");" (call_expression "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" identifier (argument_list "("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" ( (string_literal ""scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents"" " string_content ") , (string_literal ""src/extent-scan.c"" " string_content ") , number_literal , (string_literal ""extent_scan_read"" " string_content ") ))) ;) })) (expression_statement "uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents;" (assignment_expression "uVar7 = scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents" identifier = (binary_expression "scan->ei_count + (ulong)fiemap_buf.f.fm_mapped_extents" (field_expression "scan->ei_count" identifier -> field_identifier) + (cast_expression "(ulong)fiemap_buf.f.fm_mapped_extents" ( (type_descriptor "ulong" type_identifier) ) (field_expression "fiemap_buf.f.fm_mapped_extents" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier)))) ;) (expression_statement "scan->ei_count = uVar7;" (assignment_expression "scan->ei_count = uVar7" (field_expression "scan->ei_count" identifier -> field_identifier) = identifier) ;) (expression_statement "p = scan->ext_info;" (assignment_expression "p = scan->ext_info" identifier = (field_expression "scan->ext_info" identifier -> field_identifier)) ;) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar1._0_8_ = uVar7;" (assignment_expression "auVar1._0_8_ = uVar7" (field_expression "auVar1._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;" (assignment_expression "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" identifier = (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,0)" identifier (argument_list "(ZEXT816(0x18) * auVar1,0)" ( (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" identifier (argument_list "(0x18)" ( number_literal ))) * identifier) , number_literal ))) < number_literal) || (binary_expression "SUB168(ZEXT816(0x18) * auVar1,8) != 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,8)" identifier (argument_list "(ZEXT816(0x18) * auVar1,8)" ( (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" identifier (argument_list "(0x18)" ( number_literal ))) * identifier) , number_literal ))) != number_literal))) ;) (if_statement "if (local_1049) {\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }" if (parenthesized_expression "(local_1049)" ( identifier )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      xalloc_die();\n    }" { comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18);" (assignment_expression "peVar3 = (extent_info *)xrealloc(p,uVar7 * 0x18)" identifier = (cast_expression "(extent_info *)xrealloc(p,uVar7 * 0x18)" ( (type_descriptor "extent_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(p,uVar7 * 0x18)" identifier (argument_list "(p,uVar7 * 0x18)" ( identifier , (binary_expression "uVar7 * 0x18" identifier * number_literal) ))))) ;) (expression_statement "scan->ext_info = peVar3;" (assignment_expression "scan->ext_info = peVar3" (field_expression "scan->ext_info" identifier -> field_identifier) = identifier) ;) (expression_statement "peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3);" (assignment_expression "peVar9 = (extent_info *)(((long)peVar9 - (long)p) + (long)peVar3)" identifier = (cast_expression "(extent_info *)(((long)peVar9 - (long)p) + (long)peVar3)" ( (type_descriptor "extent_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((long)peVar9 - (long)p) + (long)peVar3)" ( (binary_expression "((long)peVar9 - (long)p) + (long)peVar3" (parenthesized_expression "((long)peVar9 - (long)p)" ( (binary_expression "(long)peVar9 - (long)p" (cast_expression "(long)peVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) + (cast_expression "(long)peVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) (if_statement "if (fiemap_buf.f.fm_mapped_extents != 0) {\n      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = (ulong *)(fiemap_buf.c + 0x20);\n      uVar8 = fiemap_buf._32_8_;\n      uVar10 = fiemap_buf._48_8_;\n      do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );\n    }" if (parenthesized_expression "(fiemap_buf.f.fm_mapped_extents != 0)" ( (binary_expression "fiemap_buf.f.fm_mapped_extents != 0" (field_expression "fiemap_buf.f.fm_mapped_extents" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = (ulong *)(fiemap_buf.c + 0x20);\n      uVar8 = fiemap_buf._32_8_;\n      uVar10 = fiemap_buf._48_8_;\n      do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );\n    }" { (if_statement "if (0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_) {\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" if (parenthesized_expression "(0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_)" ( (binary_expression "0x7fffffffffffffff - fiemap_buf._48_8_ < (ulong)fiemap_buf._32_8_" (binary_expression "0x7fffffffffffffff - fiemap_buf._48_8_" number_literal - (field_expression "fiemap_buf._48_8_" identifier . field_identifier)) < (cast_expression "(ulong)fiemap_buf._32_8_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "fiemap_buf._32_8_" identifier . field_identifier))) )) (compound_statement "{\nLAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" { (labeled_statement "LAB_0010ca4d:\n                    /* WARNING: Subroutine does not return */\n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" statement_identifier : comment (expression_statement "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" (call_expression "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" identifier (argument_list "("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" ( (string_literal ""fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length"" " string_content ") , (string_literal ""src/extent-scan.c"" " string_content ") , number_literal , (string_literal ""extent_scan_read"" " string_content ") ))) ;)) })) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "puVar4 = (ulong *)(fiemap_buf.c + 0x20);" (assignment_expression "puVar4 = (ulong *)(fiemap_buf.c + 0x20)" identifier = (cast_expression "(ulong *)(fiemap_buf.c + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(fiemap_buf.c + 0x20)" ( (binary_expression "fiemap_buf.c + 0x20" (field_expression "fiemap_buf.c" identifier . field_identifier) + number_literal) )))) ;) (expression_statement "uVar8 = fiemap_buf._32_8_;" (assignment_expression "uVar8 = fiemap_buf._32_8_" identifier = (field_expression "fiemap_buf._32_8_" identifier . field_identifier)) ;) (expression_statement "uVar10 = fiemap_buf._48_8_;" (assignment_expression "uVar10 = fiemap_buf._48_8_" identifier = (field_expression "fiemap_buf._48_8_" identifier . field_identifier)) ;) (do_statement "do {\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      } while( true );" do (compound_statement "{\n        if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;\n        puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);\n        uVar8 = *puVar4;\n        uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);\n        if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;\n      }" { (if_statement "if ((int)sVar12 == 0) {\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }\n        else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }" if (parenthesized_expression "((int)sVar12 == 0)" ( (binary_expression "(int)sVar12 == 0" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n          uVar7 = scan->scan_start;\n          if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;\nLAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;\n          peVar9->ext_logical = uVar8;\n          peVar9->ext_length = puVar4[2];\n          peVar9->ext_flags = (uint)puVar4[5];\n          sVar12 = (size_t)((int)sVar12 + 1);\n        }" { (expression_statement "uVar7 = scan->scan_start;" (assignment_expression "uVar7 = scan->scan_start" identifier = (field_expression "scan->scan_start" identifier -> field_identifier)) ;) (if_statement "if ((ulong)uVar8 < uVar7) goto LAB_0010cb0f;" if (parenthesized_expression "((ulong)uVar8 < uVar7)" ( (binary_expression "(ulong)uVar8 < uVar7" (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) < identifier) )) (goto_statement "goto LAB_0010cb0f;" goto statement_identifier ;)) (labeled_statement "LAB_0010ca97:\n          peVar9 = scan->ext_info + sVar12;" statement_identifier : (expression_statement "peVar9 = scan->ext_info + sVar12;" (assignment_expression "peVar9 = scan->ext_info + sVar12" identifier = (binary_expression "scan->ext_info + sVar12" (field_expression "scan->ext_info" identifier -> field_identifier) + identifier)) ;)) (expression_statement "peVar9->ext_logical = uVar8;" (assignment_expression "peVar9->ext_logical = uVar8" (field_expression "peVar9->ext_logical" identifier -> field_identifier) = identifier) ;) (expression_statement "peVar9->ext_length = puVar4[2];" (assignment_expression "peVar9->ext_length = puVar4[2]" (field_expression "peVar9->ext_length" identifier -> field_identifier) = (subscript_expression "puVar4[2]" identifier [ number_literal ])) ;) (expression_statement "peVar9->ext_flags = (uint)puVar4[5];" (assignment_expression "peVar9->ext_flags = (uint)puVar4[5]" (field_expression "peVar9->ext_flags" identifier -> field_identifier) = (cast_expression "(uint)puVar4[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[5]" identifier [ number_literal ]))) ;) (expression_statement "sVar12 = (size_t)((int)sVar12 + 1);" (assignment_expression "sVar12 = (size_t)((int)sVar12 + 1)" identifier = (cast_expression "(size_t)((int)sVar12 + 1)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "((int)sVar12 + 1)" ( (binary_expression "(int)sVar12 + 1" (cast_expression "(int)sVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }" else (if_statement "if ((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)) {\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }\n        else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }" if (parenthesized_expression "((peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8))" ( (binary_expression "(peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (peVar9->ext_length + peVar9->ext_logical == uVar8)" (parenthesized_expression "(peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe))" ( (binary_expression "peVar9->ext_flags == ((uint)puVar4[5] & 0xfffffffe)" (field_expression "peVar9->ext_flags" identifier -> field_identifier) == (parenthesized_expression "((uint)puVar4[5] & 0xfffffffe)" ( (binary_expression "(uint)puVar4[5] & 0xfffffffe" (cast_expression "(uint)puVar4[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[5]" identifier [ number_literal ])) & number_literal) ))) )) && (parenthesized_expression "(peVar9->ext_length + peVar9->ext_logical == uVar8)" ( (binary_expression "peVar9->ext_length + peVar9->ext_logical == uVar8" (binary_expression "peVar9->ext_length + peVar9->ext_logical" (field_expression "peVar9->ext_length" identifier -> field_identifier) + (field_expression "peVar9->ext_logical" identifier -> field_identifier)) == identifier) ))) )) (compound_statement "{\n          peVar9->ext_length = uVar10 + peVar9->ext_length;\n          peVar9->ext_flags = (uint)puVar4[5];\n        }" { (expression_statement "peVar9->ext_length = uVar10 + peVar9->ext_length;" (assignment_expression "peVar9->ext_length = uVar10 + peVar9->ext_length" (field_expression "peVar9->ext_length" identifier -> field_identifier) = (binary_expression "uVar10 + peVar9->ext_length" identifier + (field_expression "peVar9->ext_length" identifier -> field_identifier))) ;) (expression_statement "peVar9->ext_flags = (uint)puVar4[5];" (assignment_expression "peVar9->ext_flags = (uint)puVar4[5]" (field_expression "peVar9->ext_flags" identifier -> field_identifier) = (cast_expression "(uint)puVar4[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[5]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }" else (compound_statement "{\n          uVar7 = peVar9->ext_length + peVar9->ext_logical;\n          if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar7;\n          puVar4[2] = (uVar8 + uVar10) - uVar7;\n          uVar5 = uVar5 - 1;\n        }" { (expression_statement "uVar7 = peVar9->ext_length + peVar9->ext_logical;" (assignment_expression "uVar7 = peVar9->ext_length + peVar9->ext_logical" identifier = (binary_expression "peVar9->ext_length + peVar9->ext_logical" (field_expression "peVar9->ext_length" identifier -> field_identifier) + (field_expression "peVar9->ext_logical" identifier -> field_identifier))) ;) (if_statement "if (uVar7 <= (ulong)uVar8) goto LAB_0010ca97;" if (parenthesized_expression "(uVar7 <= (ulong)uVar8)" ( (binary_expression "uVar7 <= (ulong)uVar8" identifier <= (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (goto_statement "goto LAB_0010ca97;" goto statement_identifier ;)) (labeled_statement "LAB_0010cb0f:\n          if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }" statement_identifier : (if_statement "if (uVar7 - uVar8 < (ulong)uVar10) {\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }" if (parenthesized_expression "(uVar7 - uVar8 < (ulong)uVar10)" ( (binary_expression "uVar7 - uVar8 < (ulong)uVar10" (binary_expression "uVar7 - uVar8" identifier - identifier) < (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n            if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }\n            goto LAB_0010cb25;\n          }" { (if_statement "if (scan->scan_start == 0) {\n              scan->initial_scan_failed = true;\n            }" if (parenthesized_expression "(scan->scan_start == 0)" ( (binary_expression "scan->scan_start == 0" (field_expression "scan->scan_start" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              scan->initial_scan_failed = true;\n            }" { (expression_statement "scan->initial_scan_failed = true;" (assignment_expression "scan->initial_scan_failed = true" (field_expression "scan->initial_scan_failed" identifier -> field_identifier) = true) ;) })) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) }))) (expression_statement "*puVar4 = uVar7;" (assignment_expression "*puVar4 = uVar7" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4[2] = (uVar8 + uVar10) - uVar7;" (assignment_expression "puVar4[2] = (uVar8 + uVar10) - uVar7" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = (binary_expression "(uVar8 + uVar10) - uVar7" (parenthesized_expression "(uVar8 + uVar10)" ( (binary_expression "uVar8 + uVar10" identifier + identifier) )) - identifier)) ;) (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" identifier = (binary_expression "uVar5 - 1" identifier - number_literal)) ;) }))))) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (if_statement "if (fiemap_buf.f.fm_mapped_extents <= uVar5) break;" if (parenthesized_expression "(fiemap_buf.f.fm_mapped_extents <= uVar5)" ( (binary_expression "fiemap_buf.f.fm_mapped_extents <= uVar5" (field_expression "fiemap_buf.f.fm_mapped_extents" (field_expression "fiemap_buf.f" identifier . field_identifier) . field_identifier) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8);" (assignment_expression "puVar4 = (ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8)" identifier = (cast_expression "(ulong *)((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8)" ( (binary_expression "(long)(fiemap_buf.c + 0x20) + (ulong)uVar5 * 7 * 8" (cast_expression "(long)(fiemap_buf.c + 0x20)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(fiemap_buf.c + 0x20)" ( (binary_expression "fiemap_buf.c + 0x20" (field_expression "fiemap_buf.c" identifier . field_identifier) + number_literal) ))) + (binary_expression "(ulong)uVar5 * 7 * 8" (binary_expression "(ulong)uVar5 * 7" (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) * number_literal)) )))) ;) (expression_statement "uVar8 = *puVar4;" (assignment_expression "uVar8 = *puVar4" identifier = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30);" (assignment_expression "uVar10 = *(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30)" identifier = (pointer_expression "*(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30)" * (cast_expression "(ulong *)((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30)" ( (binary_expression "(long)&fiemap_buf + (ulong)uVar5 * 0x38 + 0x30" (binary_expression "(long)&fiemap_buf + (ulong)uVar5 * 0x38" (cast_expression "(long)&fiemap_buf" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&fiemap_buf" & identifier)) + (binary_expression "(ulong)uVar5 * 0x38" (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) ))))) ;) (if_statement "if (0x7fffffffffffffff - uVar10 < (ulong)uVar8) goto LAB_0010ca4d;" if (parenthesized_expression "(0x7fffffffffffffff - uVar10 < (ulong)uVar8)" ( (binary_expression "0x7fffffffffffffff - uVar10 < (ulong)uVar8" (binary_expression "0x7fffffffffffffff - uVar10" number_literal - identifier) < (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (goto_statement "goto LAB_0010ca4d;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "uVar5 = (uint)sVar12;" (assignment_expression "uVar5 = (uint)sVar12" identifier = (cast_expression "(uint)sVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((peVar9->ext_flags & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }" if (parenthesized_expression "((peVar9->ext_flags & 1) == 0)" ( (binary_expression "(peVar9->ext_flags & 1) == 0" (parenthesized_expression "(peVar9->ext_flags & 1)" ( (binary_expression "peVar9->ext_flags & 1" (field_expression "peVar9->ext_flags" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }\n    }" { (if_statement "if (0x48 < uVar5) {\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }" if (parenthesized_expression "(0x48 < uVar5)" ( (binary_expression "0x48 < uVar5" number_literal < identifier) )) (compound_statement "{\n        if (scan->hit_final_extent != false) goto LAB_0010cb78;\n        uVar7 = (ulong)(uVar5 - 1);\n        scan->ei_count = uVar7;\n        scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;\n        goto LAB_0010cbac;\n      }" { (if_statement "if (scan->hit_final_extent != false) goto LAB_0010cb78;" if (parenthesized_expression "(scan->hit_final_extent != false)" ( (binary_expression "scan->hit_final_extent != false" (field_expression "scan->hit_final_extent" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_0010cb78;" goto statement_identifier ;)) (expression_statement "uVar7 = (ulong)(uVar5 - 1);" (assignment_expression "uVar7 = (ulong)(uVar5 - 1)" identifier = (call_expression "(ulong)(uVar5 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 - 1)" ( (binary_expression "uVar5 - 1" identifier - number_literal) )))) ;) (expression_statement "scan->ei_count = uVar7;" (assignment_expression "scan->ei_count = uVar7" (field_expression "scan->ei_count" identifier -> field_identifier) = identifier) ;) (expression_statement "scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical;" (assignment_expression "scan->scan_start =\n             scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical" (field_expression "scan->scan_start" identifier -> field_identifier) = (binary_expression "scan->ext_info[uVar7 - 1].ext_length + scan->ext_info[uVar7 - 1].ext_logical" (field_expression "scan->ext_info[uVar7 - 1].ext_length" (subscript_expression "scan->ext_info[uVar7 - 1]" (field_expression "scan->ext_info" identifier -> field_identifier) [ (binary_expression "uVar7 - 1" identifier - number_literal) ]) . field_identifier) + (field_expression "scan->ext_info[uVar7 - 1].ext_logical" (subscript_expression "scan->ext_info[uVar7 - 1]" (field_expression "scan->ext_info" identifier -> field_identifier) [ (binary_expression "uVar7 - 1" identifier - number_literal) ]) . field_identifier))) ;) (goto_statement "goto LAB_0010cbac;" goto statement_identifier ;) })) }) (else_clause "else {\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }" else (compound_statement "{\n      scan->hit_final_extent = true;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }\n    }" { (expression_statement "scan->hit_final_extent = true;" (assignment_expression "scan->hit_final_extent = true" (field_expression "scan->hit_final_extent" identifier -> field_identifier) = true) ;) (if_statement "if (0x48 < uVar5) {\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }" if (parenthesized_expression "(0x48 < uVar5)" ( (binary_expression "0x48 < uVar5" number_literal < identifier) )) (compound_statement "{\nLAB_0010cb78:\n        scan->ei_count = sVar12;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail();\n      }" { (labeled_statement "LAB_0010cb78:\n        scan->ei_count = sVar12;" statement_identifier : (expression_statement "scan->ei_count = sVar12;" (assignment_expression "scan->ei_count = sVar12" (field_expression "scan->ei_count" identifier -> field_identifier) = identifier) ;)) (labeled_statement "LAB_0010cbac:\n        local_1049 = true;" statement_identifier : (expression_statement "local_1049 = true;" (assignment_expression "local_1049 = true" identifier = true) ;)) (labeled_statement "LAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n          return local_1049;\n        }" { (return_statement "return local_1049;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "scan->ei_count = sVar12;" (assignment_expression "scan->ei_count = sVar12" (field_expression "scan->ei_count" identifier -> field_identifier) = identifier) ;) (if_statement "if ((scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))\n    goto LAB_0010cbac;" if (parenthesized_expression "((scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5))" ( (binary_expression "(scan->hit_final_extent != false) ||\n       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5)" (parenthesized_expression "(scan->hit_final_extent != false)" ( (binary_expression "scan->hit_final_extent != false" (field_expression "scan->hit_final_extent" identifier -> field_identifier) != false) )) || (parenthesized_expression "(scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5)" ( (comma_expression "scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < uVar5" (assignment_expression "scan->scan_start = peVar9->ext_length + peVar9->ext_logical" (field_expression "scan->scan_start" identifier -> field_identifier) = (binary_expression "peVar9->ext_length + peVar9->ext_logical" (field_expression "peVar9->ext_length" identifier -> field_identifier) + (field_expression "peVar9->ext_logical" identifier -> field_identifier))) , (binary_expression "0x47 < uVar5" number_literal < identifier)) ))) )) (goto_statement "goto LAB_0010cbac;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "bool FUN_0010c8d3(int *param_1)\n\n{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}\n\n" (function_definition "bool FUN_0010c8d3(int *param_1)\n\n{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}" primitive_type (function_declarator "FUN_0010c8d3(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}" { (declaration "undefined1 auVar1 [16];" type_identifier (array_declarator "auVar1 [16]" identifier [ number_literal ]) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "ulong *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "bool local_1049;" primitive_type identifier ;) (declaration "ulong local_1048;" type_identifier identifier ;) (declaration "ulong local_1040;" type_identifier identifier ;) (declaration "int local_1038;" primitive_type identifier ;) (declaration "uint local_1034;" type_identifier identifier ;) (declaration "undefined4 local_1030;" type_identifier identifier ;) (declaration "ulong local_1028 [509];" type_identifier (array_declarator "local_1028 [509]" identifier [ number_literal ]) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = *(ulong **)(param_1 + 10);" (assignment_expression "puVar8 = *(ulong **)(param_1 + 10)" identifier = (pointer_expression "*(ulong **)(param_1 + 10)" * (cast_expression "(ulong **)(param_1 + 10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );" do (compound_statement "{\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  }" { (expression_statement "puVar4 = &local_1048;" (assignment_expression "puVar4 = &local_1048" identifier = (pointer_expression "&local_1048" & identifier)) ;) (for_statement "for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }" for ( (assignment_expression "lVar6 = 0x200" identifier = number_literal) ; (binary_expression "lVar6 != 0" identifier != number_literal) ; (assignment_expression "lVar6 = lVar6 + -1" identifier = (binary_expression "lVar6 + -1" identifier + number_literal)) ) (compound_statement "{\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }" { (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;" (assignment_expression "puVar4 = puVar4 + (ulong)bVar12 * -2 + 1" identifier = (binary_expression "puVar4 + (ulong)bVar12 * -2 + 1" (binary_expression "puVar4 + (ulong)bVar12 * -2" identifier + (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_1048 = *(ulong *)(param_1 + 2);" (assignment_expression "local_1048 = *(ulong *)(param_1 + 2)" identifier = (pointer_expression "*(ulong *)(param_1 + 2)" * (cast_expression "(ulong *)(param_1 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (expression_statement "local_1038 = param_1[4];" (assignment_expression "local_1038 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "local_1030 = 0x48;" (assignment_expression "local_1030 = 0x48" identifier = number_literal) ;) (expression_statement "local_1040 = ~local_1048;" (assignment_expression "local_1040 = ~local_1048" identifier = (unary_expression "~local_1048" ~ identifier)) ;) (expression_statement "iVar2 = ioctl(*param_1,0xc020660b,&local_1048);" (assignment_expression "iVar2 = ioctl(*param_1,0xc020660b,&local_1048)" identifier = (call_expression "ioctl(*param_1,0xc020660b,&local_1048)" identifier (argument_list "(*param_1,0xc020660b,&local_1048)" ( (pointer_expression "*param_1" * identifier) , number_literal , (pointer_expression "&local_1048" & identifier) )))) ;) (if_statement "if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }" { (expression_statement "local_1049 = false;" (assignment_expression "local_1049 = false" identifier = false) ;) (if_statement "if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }" if (parenthesized_expression "(*(long *)(param_1 + 2) == 0)" ( (binary_expression "*(long *)(param_1 + 2) == 0" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        *(undefined1 *)(param_1 + 8) = 1;\n      }" { (expression_statement "*(undefined1 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 1" (pointer_expression "*(undefined1 *)(param_1 + 8)" * (cast_expression "(undefined1 *)(param_1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) })) (if_statement "if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }" if (parenthesized_expression "(local_1034 == 0)" ( (binary_expression "local_1034 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }" { (expression_statement "*(undefined1 *)((long)param_1 + 0x21) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x21) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x21)" * (cast_expression "(undefined1 *)((long)param_1 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_1049 = *(long *)(param_1 + 2) != 0;" (assignment_expression "local_1049 = *(long *)(param_1 + 2) != 0" identifier = (binary_expression "*(long *)(param_1 + 2) != 0" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) != number_literal)) ;) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) })) (if_statement "if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" if (parenthesized_expression "(~(ulong)local_1034 < *(ulong *)(param_1 + 6))" ( (binary_expression "~(ulong)local_1034 < *(ulong *)(param_1 + 6)" (unary_expression "~(ulong)local_1034" ~ (cast_expression "(ulong)local_1034" ( (type_descriptor "ulong" type_identifier) ) identifier)) < (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" { (expression_statement "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");" (call_expression "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" identifier (argument_list "("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" ( (string_literal ""scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents"" " string_content ") , (string_literal ""src/extent-scan.c"" " string_content ") , number_literal , (string_literal ""extent_scan_read"" " string_content ") ))) ;) })) (expression_statement "uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;" (assignment_expression "uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034" identifier = (binary_expression "*(ulong *)(param_1 + 6) + (ulong)local_1034" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) + (cast_expression "(ulong)local_1034" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "*(ulong *)(param_1 + 6) = uVar7;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar7" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "lVar6 = *(long *)(param_1 + 10);" (assignment_expression "lVar6 = *(long *)(param_1 + 10)" identifier = (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) ))))) ;) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" identifier . field_identifier) = number_literal) ;) (expression_statement "auVar1._0_8_ = uVar7;" (assignment_expression "auVar1._0_8_ = uVar7" (field_expression "auVar1._0_8_" identifier . field_identifier) = identifier) ;) (expression_statement "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;" (assignment_expression "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" identifier = (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,0)" identifier (argument_list "(ZEXT816(0x18) * auVar1,0)" ( (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" identifier (argument_list "(0x18)" ( number_literal ))) * identifier) , number_literal ))) < number_literal) || (binary_expression "SUB168(ZEXT816(0x18) * auVar1,8) != 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,8)" identifier (argument_list "(ZEXT816(0x18) * auVar1,8)" ( (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" identifier (argument_list "(0x18)" ( number_literal ))) * identifier) , number_literal ))) != number_literal))) ;) (if_statement "if (local_1049) {\n                    \n      FUN_00114169();\n    }" if (parenthesized_expression "(local_1049)" ( identifier )) (compound_statement "{\n                    \n      FUN_00114169();\n    }" { (expression_statement "FUN_00114169();" (call_expression "FUN_00114169()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);" (assignment_expression "lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18)" identifier = (call_expression "FUN_00113f82(lVar6,uVar7 * 0x18)" identifier (argument_list "(lVar6,uVar7 * 0x18)" ( identifier , (binary_expression "uVar7 * 0x18" identifier * number_literal) )))) ;) (expression_statement "*(long *)(param_1 + 10) = lVar3;" (assignment_expression "*(long *)(param_1 + 10) = lVar3" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));" (assignment_expression "puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6))" identifier = (cast_expression "(ulong *)((long)puVar8 + (lVar3 - lVar6))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar8 + (lVar3 - lVar6))" ( (binary_expression "(long)puVar8 + (lVar3 - lVar6)" (cast_expression "(long)puVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (parenthesized_expression "(lVar3 - lVar6)" ( (binary_expression "lVar3 - lVar6" identifier - identifier) ))) )))) ;) (if_statement "if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }" if (parenthesized_expression "(local_1034 != 0)" ( (binary_expression "local_1034 != 0" identifier != number_literal) )) (compound_statement "{\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }" { (if_statement "if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" if (parenthesized_expression "(0x7fffffffffffffff - local_1028[2] < local_1028[0])" ( (binary_expression "0x7fffffffffffffff - local_1028[2] < local_1028[0]" (binary_expression "0x7fffffffffffffff - local_1028[2]" number_literal - (subscript_expression "local_1028[2]" identifier [ number_literal ])) < (subscript_expression "local_1028[0]" identifier [ number_literal ])) )) (compound_statement "{\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" { (labeled_statement "LAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" statement_identifier : (expression_statement "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" (call_expression "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" identifier (argument_list "("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" ( (string_literal ""fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length"" " string_content ") , (string_literal ""src/extent-scan.c"" " string_content ") , number_literal , (string_literal ""extent_scan_read"" " string_content ") ))) ;)) })) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) (expression_statement "puVar4 = local_1028;" (assignment_expression "puVar4 = local_1028" identifier = identifier) ;) (expression_statement "uVar7 = local_1028[0];" (assignment_expression "uVar7 = local_1028[0]" identifier = (subscript_expression "local_1028[0]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = local_1028[2];" (assignment_expression "uVar9 = local_1028[2]" identifier = (subscript_expression "local_1028[2]" identifier [ number_literal ])) ;) (do_statement "do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );" do (compound_statement "{\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      }" { (if_statement "if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" if (parenthesized_expression "((int)uVar11 == 0)" ( (binary_expression "(int)uVar11 == 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) == number_literal) )) (compound_statement "{\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }" { (expression_statement "uVar10 = *(ulong *)(param_1 + 2);" (assignment_expression "uVar10 = *(ulong *)(param_1 + 2)" identifier = (pointer_expression "*(ulong *)(param_1 + 2)" * (cast_expression "(ulong *)(param_1 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (if_statement "if (uVar7 < uVar10) goto LAB_0010cb0f;" if (parenthesized_expression "(uVar7 < uVar10)" ( (binary_expression "uVar7 < uVar10" identifier < identifier) )) (goto_statement "goto LAB_0010cb0f;" goto statement_identifier ;)) (labeled_statement "LAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);" statement_identifier : (expression_statement "puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);" (assignment_expression "puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18)" identifier = (cast_expression "(ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 10) + uVar11 * 0x18)" ( (binary_expression "*(long *)(param_1 + 10) + uVar11 * 0x18" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))) ;)) (expression_statement "*puVar8 = uVar7;" (assignment_expression "*puVar8 = uVar7" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = puVar4[2];" (assignment_expression "puVar8[1] = puVar4[2]" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (subscript_expression "puVar4[2]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar8 + 2) = (int)puVar4[5];" (assignment_expression "*(int *)(puVar8 + 2) = (int)puVar4[5]" (pointer_expression "*(int *)(puVar8 + 2)" * (cast_expression "(int *)(puVar8 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 2)" ( (binary_expression "puVar8 + 2" identifier + number_literal) )))) = (cast_expression "(int)puVar4[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar4[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = (ulong)((int)uVar11 + 1);" (assignment_expression "uVar11 = (ulong)((int)uVar11 + 1)" identifier = (call_expression "(ulong)((int)uVar11 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar11 + 1)" ( (binary_expression "(int)uVar11 + 1" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" else (if_statement "if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" if (parenthesized_expression "(((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7))" ( (binary_expression "((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)" (parenthesized_expression "((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe))" ( (binary_expression "(uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)" (cast_expression "(uint)puVar8[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar8[2]" identifier [ number_literal ])) == (parenthesized_expression "((uint)puVar4[5] & 0xfffffffe)" ( (binary_expression "(uint)puVar4[5] & 0xfffffffe" (cast_expression "(uint)puVar4[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar4[5]" identifier [ number_literal ])) & number_literal) ))) )) && (parenthesized_expression "(puVar8[1] + *puVar8 == uVar7)" ( (binary_expression "puVar8[1] + *puVar8 == uVar7" (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + (pointer_expression "*puVar8" * identifier)) == identifier) ))) )) (compound_statement "{\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }" { (expression_statement "puVar8[1] = uVar9 + puVar8[1];" (assignment_expression "puVar8[1] = uVar9 + puVar8[1]" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (binary_expression "uVar9 + puVar8[1]" identifier + (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "*(int *)(puVar8 + 2) = (int)puVar4[5];" (assignment_expression "*(int *)(puVar8 + 2) = (int)puVar4[5]" (pointer_expression "*(int *)(puVar8 + 2)" * (cast_expression "(int *)(puVar8 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 2)" ( (binary_expression "puVar8 + 2" identifier + number_literal) )))) = (cast_expression "(int)puVar4[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar4[5]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" else (compound_statement "{\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" { (expression_statement "uVar10 = puVar8[1] + *puVar8;" (assignment_expression "uVar10 = puVar8[1] + *puVar8" identifier = (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + (pointer_expression "*puVar8" * identifier))) ;) (if_statement "if (uVar10 <= uVar7) goto LAB_0010ca97;" if (parenthesized_expression "(uVar10 <= uVar7)" ( (binary_expression "uVar10 <= uVar7" identifier <= identifier) )) (goto_statement "goto LAB_0010ca97;" goto statement_identifier ;)) (labeled_statement "LAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" statement_identifier : (if_statement "if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" if (parenthesized_expression "(uVar10 - uVar7 < uVar9)" ( (binary_expression "uVar10 - uVar7 < uVar9" (binary_expression "uVar10 - uVar7" identifier - identifier) < identifier) )) (compound_statement "{\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" { (if_statement "if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }" if (parenthesized_expression "(*(long *)(param_1 + 2) == 0)" ( (binary_expression "*(long *)(param_1 + 2) == 0" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(undefined1 *)(param_1 + 8) = 1;\n            }" { (expression_statement "*(undefined1 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 1" (pointer_expression "*(undefined1 *)(param_1 + 8)" * (cast_expression "(undefined1 *)(param_1 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0010cb25;" goto statement_identifier ;) }))) (expression_statement "*puVar4 = uVar10;" (assignment_expression "*puVar4 = uVar10" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "puVar4[2] = (uVar7 + uVar9) - uVar10;" (assignment_expression "puVar4[2] = (uVar7 + uVar9) - uVar10" (subscript_expression "puVar4[2]" identifier [ number_literal ]) = (binary_expression "(uVar7 + uVar9) - uVar10" (parenthesized_expression "(uVar7 + uVar9)" ( (binary_expression "uVar7 + uVar9" identifier + identifier) )) - identifier)) ;) (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" identifier = (binary_expression "uVar5 - 1" identifier - number_literal)) ;) }))))) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (if_statement "if (local_1034 <= uVar5) break;" if (parenthesized_expression "(local_1034 <= uVar5)" ( (binary_expression "local_1034 <= uVar5" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "puVar4 = local_1028 + (ulong)uVar5 * 7;" (assignment_expression "puVar4 = local_1028 + (ulong)uVar5 * 7" identifier = (binary_expression "local_1028 + (ulong)uVar5 * 7" identifier + (binary_expression "(ulong)uVar5 * 7" (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal))) ;) (expression_statement "uVar7 = *puVar4;" (assignment_expression "uVar7 = *puVar4" identifier = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "uVar9 = local_1028[(ulong)uVar5 * 7 + 2];" (assignment_expression "uVar9 = local_1028[(ulong)uVar5 * 7 + 2]" identifier = (subscript_expression "local_1028[(ulong)uVar5 * 7 + 2]" identifier [ (binary_expression "(ulong)uVar5 * 7 + 2" (binary_expression "(ulong)uVar5 * 7" (cast_expression "(ulong)uVar5" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + number_literal) ])) ;) (if_statement "if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;" if (parenthesized_expression "(0x7fffffffffffffff - uVar9 < uVar7)" ( (binary_expression "0x7fffffffffffffff - uVar9 < uVar7" (binary_expression "0x7fffffffffffffff - uVar9" number_literal - identifier) < identifier) )) (goto_statement "goto LAB_0010ca4d;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "uVar5 = (uint)uVar11;" (assignment_expression "uVar5 = (uint)uVar11" identifier = (cast_expression "(uint)uVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }" if (parenthesized_expression "((puVar8[2] & 1) == 0)" ( (binary_expression "(puVar8[2] & 1) == 0" (parenthesized_expression "(puVar8[2] & 1)" ( (binary_expression "puVar8[2] & 1" (subscript_expression "puVar8[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }" { (if_statement "if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }" if (parenthesized_expression "(0x48 < uVar5)" ( (binary_expression "0x48 < uVar5" number_literal < identifier) )) (compound_statement "{\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }" { (if_statement "if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;" if (parenthesized_expression "(*(char *)((long)param_1 + 0x21) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x21) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x21)" * (cast_expression "(char *)((long)param_1 + 0x21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010cb78;" goto statement_identifier ;)) (expression_statement "uVar11 = (ulong)(uVar5 - 1);" (assignment_expression "uVar11 = (ulong)(uVar5 - 1)" identifier = (call_expression "(ulong)(uVar5 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar5 - 1)" ( (binary_expression "uVar5 - 1" identifier - number_literal) )))) ;) (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);" (assignment_expression "*(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (pointer_expression "*(long *)(param_1 + 2)" * (cast_expression "(long *)(param_1 + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = (binary_expression "*(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (pointer_expression "*(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" * (cast_expression "(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" ( (binary_expression "*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18" (binary_expression "*(long *)(param_1 + 10) + -0x10" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))) + (pointer_expression "*(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" * (cast_expression "(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" ( (binary_expression "*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18" (binary_expression "*(long *)(param_1 + 10) + -0x18" (pointer_expression "*(long *)(param_1 + 10)" * (cast_expression "(long *)(param_1 + 10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 10)" ( (binary_expression "param_1 + 10" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar11 * 0x18" identifier * number_literal)) )))))) ;) (goto_statement "goto LAB_0010cbac;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }" else (compound_statement "{\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }" { (expression_statement "*(undefined1 *)((long)param_1 + 0x21) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x21) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x21)" * (cast_expression "(undefined1 *)((long)param_1 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }" if (parenthesized_expression "(0x48 < uVar5)" ( (binary_expression "0x48 < uVar5" number_literal < identifier) )) (compound_statement "{\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }" { (labeled_statement "LAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;" statement_identifier : (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;)) (labeled_statement "LAB_0010cbac:\n        local_1049 = true;" statement_identifier : (expression_statement "local_1049 = true;" (assignment_expression "local_1049 = true" identifier = true) ;)) (labeled_statement "LAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" statement_identifier : (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" if (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n          return local_1049;\n        }" { (return_statement "return local_1049;" return identifier ;) }))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" * (cast_expression "(ulong *)(param_1 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 6)" ( (binary_expression "param_1 + 6" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;" if (parenthesized_expression "((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5))" ( (binary_expression "(*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)" (parenthesized_expression "(*(char *)((long)param_1 + 0x21) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 0x21) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x21)" * (cast_expression "(char *)((long)param_1 + 0x21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x21)" ( (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)" ( (comma_expression "*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5" (assignment_expression "*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8" (pointer_expression "*(ulong *)(param_1 + 2)" * (cast_expression "(ulong *)(param_1 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" identifier [ number_literal ]) + (pointer_expression "*puVar8" * identifier))) , (binary_expression "0x47 < uVar5" number_literal < identifier)) ))) )) (goto_statement "goto LAB_0010cbac;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (unary_expression ~ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , LIT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ~ (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression IDENT (argument_list ( (binary_expression (call_expression IDENT (argument_list ( LIT ))) * IDENT) , LIT ))) < LIT) || (binary_expression (call_expression IDENT (argument_list ( (binary_expression (call_expression IDENT (argument_list ( LIT ))) * IDENT) , LIT ))) != LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - (subscript_expression IDENT [ LIT ])) < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT)) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) }))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + LIT) ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression LIT - IDENT) < IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) )))) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) )))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT))) , (binary_expression LIT < IDENT)) ))) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "bool FUN_0010c8d3(int *param_1)\n\n{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}" (primitive_type "bool") (function_declarator "FUN_0010c8d3(int *param_1)" (identifier "FUN_0010c8d3") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined1 auVar1 [16];\n  int iVar2;\n  long lVar3;\n  ulong *puVar4;\n  uint uVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong *puVar8;\n  ulong uVar9;\n  ulong uVar10;\n  ulong uVar11;\n  long in_FS_OFFSET;\n  byte bVar12;\n  bool local_1049;\n  ulong local_1048;\n  ulong local_1040;\n  int local_1038;\n  uint local_1034;\n  undefined4 local_1030;\n  ulong local_1028 [509];\n  long local_40;\n  \n  bVar12 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  puVar8 = *(ulong **)(param_1 + 10);\n  uVar11 = 0;\n  do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );\n}" ({ "{") (declaration "undefined1 auVar1 [16];" (type_identifier "undefined1") (array_declarator "auVar1 [16]" (identifier "auVar1") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "ulong *puVar4;" (type_identifier "ulong") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "ulong *puVar8;" (type_identifier "ulong") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "ulong uVar9;" (type_identifier "ulong") (identifier "uVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "bool local_1049;" (primitive_type "bool") (identifier "local_1049") (; ";")) (declaration "ulong local_1048;" (type_identifier "ulong") (identifier "local_1048") (; ";")) (declaration "ulong local_1040;" (type_identifier "ulong") (identifier "local_1040") (; ";")) (declaration "int local_1038;" (primitive_type "int") (identifier "local_1038") (; ";")) (declaration "uint local_1034;" (type_identifier "uint") (identifier "local_1034") (; ";")) (declaration "undefined4 local_1030;" (type_identifier "undefined4") (identifier "local_1030") (; ";")) (declaration "ulong local_1028 [509];" (type_identifier "ulong") (array_declarator "local_1028 [509]" (identifier "local_1028") ([ "[") (number_literal "509") (] "]")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" (identifier "bVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "puVar8 = *(ulong **)(param_1 + 10);" (assignment_expression "puVar8 = *(ulong **)(param_1 + 10)" (identifier "puVar8") (= "=") (pointer_expression "*(ulong **)(param_1 + 10)" (* "*") (cast_expression "(ulong **)(param_1 + 10)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  } while( true );" (do "do") (compound_statement "{\n    puVar4 = &local_1048;\n    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }\n    local_1048 = *(ulong *)(param_1 + 2);\n    local_1038 = param_1[4];\n    local_1030 = 0x48;\n    local_1040 = ~local_1048;\n    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);\n    if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }\n    if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }\n    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }\n    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;\n    *(ulong *)(param_1 + 6) = uVar7;\n    lVar6 = *(long *)(param_1 + 10);\n    auVar1._8_8_ = 0;\n    auVar1._0_8_ = uVar7;\n    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;\n    if (local_1049) {\n                    \n      FUN_00114169();\n    }\n    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);\n    *(long *)(param_1 + 10) = lVar3;\n    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));\n    if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }\n    uVar5 = (uint)uVar11;\n    if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }\n    *(ulong *)(param_1 + 6) = uVar11;\n    if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;\n  }" ({ "{") (expression_statement "puVar4 = &local_1048;" (assignment_expression "puVar4 = &local_1048" (identifier "puVar4") (= "=") (pointer_expression "&local_1048" (& "&") (identifier "local_1048"))) (; ";")) (for_statement "for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }" (for "for") (( "(") (assignment_expression "lVar6 = 0x200" (identifier "lVar6") (= "=") (number_literal "0x200")) (; ";") (binary_expression "lVar6 != 0" (identifier "lVar6") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "lVar6 = lVar6 + -1" (identifier "lVar6") (= "=") (binary_expression "lVar6 + -1" (identifier "lVar6") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n      *puVar4 = 0;\n      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;\n    }" ({ "{") (expression_statement "*puVar4 = 0;" (assignment_expression "*puVar4 = 0" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;" (assignment_expression "puVar4 = puVar4 + (ulong)bVar12 * -2 + 1" (identifier "puVar4") (= "=") (binary_expression "puVar4 + (ulong)bVar12 * -2 + 1" (binary_expression "puVar4 + (ulong)bVar12 * -2" (identifier "puVar4") (+ "+") (binary_expression "(ulong)bVar12 * -2" (cast_expression "(ulong)bVar12" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar12")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_1048 = *(ulong *)(param_1 + 2);" (assignment_expression "local_1048 = *(ulong *)(param_1 + 2)" (identifier "local_1048") (= "=") (pointer_expression "*(ulong *)(param_1 + 2)" (* "*") (cast_expression "(ulong *)(param_1 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "local_1038 = param_1[4];" (assignment_expression "local_1038 = param_1[4]" (identifier "local_1038") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_1030 = 0x48;" (assignment_expression "local_1030 = 0x48" (identifier "local_1030") (= "=") (number_literal "0x48")) (; ";")) (expression_statement "local_1040 = ~local_1048;" (assignment_expression "local_1040 = ~local_1048" (identifier "local_1040") (= "=") (unary_expression "~local_1048" (~ "~") (identifier "local_1048"))) (; ";")) (expression_statement "iVar2 = ioctl(*param_1,0xc020660b,&local_1048);" (assignment_expression "iVar2 = ioctl(*param_1,0xc020660b,&local_1048)" (identifier "iVar2") (= "=") (call_expression "ioctl(*param_1,0xc020660b,&local_1048)" (identifier "ioctl") (argument_list "(*param_1,0xc020660b,&local_1048)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (number_literal "0xc020660b") (, ",") (pointer_expression "&local_1048" (& "&") (identifier "local_1048")) () ")")))) (; ";")) (if_statement "if (iVar2 < 0) {\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      local_1049 = false;\n      if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }\n      goto LAB_0010cb25;\n    }" ({ "{") (expression_statement "local_1049 = false;" (assignment_expression "local_1049 = false" (identifier "local_1049") (= "=") (false "false")) (; ";")) (if_statement "if (*(long *)(param_1 + 2) == 0) {\n        *(undefined1 *)(param_1 + 8) = 1;\n      }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 2) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 2) == 0" (pointer_expression "*(long *)(param_1 + 2)" (* "*") (cast_expression "(long *)(param_1 + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined1 *)(param_1 + 8) = 1;\n      }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 1" (pointer_expression "*(undefined1 *)(param_1 + 8)" (* "*") (cast_expression "(undefined1 *)(param_1 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (goto_statement "goto LAB_0010cb25;" (goto "goto") (statement_identifier "LAB_0010cb25") (; ";")) (} "}"))) (if_statement "if (local_1034 == 0) {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }" (if "if") (parenthesized_expression "(local_1034 == 0)" (( "(") (binary_expression "local_1034 == 0" (identifier "local_1034") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      local_1049 = *(long *)(param_1 + 2) != 0;\n      goto LAB_0010cb25;\n    }" ({ "{") (expression_statement "*(undefined1 *)((long)param_1 + 0x21) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x21) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x21)" (* "*") (cast_expression "(undefined1 *)((long)param_1 + 0x21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x21)" (( "(") (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x21")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "local_1049 = *(long *)(param_1 + 2) != 0;" (assignment_expression "local_1049 = *(long *)(param_1 + 2) != 0" (identifier "local_1049") (= "=") (binary_expression "*(long *)(param_1 + 2) != 0" (pointer_expression "*(long *)(param_1 + 2)" (* "*") (cast_expression "(long *)(param_1 + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (!= "!=") (number_literal "0"))) (; ";")) (goto_statement "goto LAB_0010cb25;" (goto "goto") (statement_identifier "LAB_0010cb25") (; ";")) (} "}"))) (if_statement "if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" (if "if") (parenthesized_expression "(~(ulong)local_1034 < *(ulong *)(param_1 + 6))" (( "(") (binary_expression "~(ulong)local_1034 < *(ulong *)(param_1 + 6)" (unary_expression "~(ulong)local_1034" (~ "~") (cast_expression "(ulong)local_1034" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_1034"))) (< "<") (pointer_expression "*(ulong *)(param_1 + 6)" (* "*") (cast_expression "(ulong *)(param_1 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 6)" (( "(") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) () ")"))))) () ")")) (compound_statement "{\n                    \n      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");\n    }" ({ "{") (expression_statement "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read");" (call_expression "__assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" (identifier "__assert_fail") (argument_list "("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",\n                    0x7e,"extent_scan_read")" (( "(") (string_literal ""scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents"" (" """) (string_content "scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents") (" """)) (, ",") (string_literal ""src/extent-scan.c"" (" """) (string_content "src/extent-scan.c") (" """)) (, ",") (number_literal "0x7e") (, ",") (string_literal ""extent_scan_read"" (" """) (string_content "extent_scan_read") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;" (assignment_expression "uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034" (identifier "uVar7") (= "=") (binary_expression "*(ulong *)(param_1 + 6) + (ulong)local_1034" (pointer_expression "*(ulong *)(param_1 + 6)" (* "*") (cast_expression "(ulong *)(param_1 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 6)" (( "(") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) () ")")))) (+ "+") (cast_expression "(ulong)local_1034" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_1034")))) (; ";")) (expression_statement "*(ulong *)(param_1 + 6) = uVar7;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar7" (pointer_expression "*(ulong *)(param_1 + 6)" (* "*") (cast_expression "(ulong *)(param_1 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 6)" (( "(") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "lVar6 = *(long *)(param_1 + 10);" (assignment_expression "lVar6 = *(long *)(param_1 + 10)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(param_1 + 10)" (* "*") (cast_expression "(long *)(param_1 + 10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "auVar1._8_8_ = 0;" (assignment_expression "auVar1._8_8_ = 0" (field_expression "auVar1._8_8_" (identifier "auVar1") (. ".") (field_identifier "_8_8_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "auVar1._0_8_ = uVar7;" (assignment_expression "auVar1._0_8_ = uVar7" (field_expression "auVar1._0_8_" (identifier "auVar1") (. ".") (field_identifier "_0_8_")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;" (assignment_expression "local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" (identifier "local_1049") (= "=") (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0" (binary_expression "SUB168(ZEXT816(0x18) * auVar1,0) < 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,0)" (identifier "SUB168") (argument_list "(ZEXT816(0x18) * auVar1,0)" (( "(") (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" (identifier "ZEXT816") (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")"))) (* "*") (identifier "auVar1")) (, ",") (number_literal "0") () ")"))) (< "<") (number_literal "0")) (|| "||") (binary_expression "SUB168(ZEXT816(0x18) * auVar1,8) != 0" (call_expression "SUB168(ZEXT816(0x18) * auVar1,8)" (identifier "SUB168") (argument_list "(ZEXT816(0x18) * auVar1,8)" (( "(") (binary_expression "ZEXT816(0x18) * auVar1" (call_expression "ZEXT816(0x18)" (identifier "ZEXT816") (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")"))) (* "*") (identifier "auVar1")) (, ",") (number_literal "8") () ")"))) (!= "!=") (number_literal "0")))) (; ";")) (if_statement "if (local_1049) {\n                    \n      FUN_00114169();\n    }" (if "if") (parenthesized_expression "(local_1049)" (( "(") (identifier "local_1049") () ")")) (compound_statement "{\n                    \n      FUN_00114169();\n    }" ({ "{") (expression_statement "FUN_00114169();" (call_expression "FUN_00114169()" (identifier "FUN_00114169") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);" (assignment_expression "lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18)" (identifier "lVar3") (= "=") (call_expression "FUN_00113f82(lVar6,uVar7 * 0x18)" (identifier "FUN_00113f82") (argument_list "(lVar6,uVar7 * 0x18)" (( "(") (identifier "lVar6") (, ",") (binary_expression "uVar7 * 0x18" (identifier "uVar7") (* "*") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "*(long *)(param_1 + 10) = lVar3;" (assignment_expression "*(long *)(param_1 + 10) = lVar3" (pointer_expression "*(long *)(param_1 + 10)" (* "*") (cast_expression "(long *)(param_1 + 10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (= "=") (identifier "lVar3")) (; ";")) (expression_statement "puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));" (assignment_expression "puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6))" (identifier "puVar8") (= "=") (cast_expression "(ulong *)((long)puVar8 + (lVar3 - lVar6))" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar8 + (lVar3 - lVar6))" (( "(") (binary_expression "(long)puVar8 + (lVar3 - lVar6)" (cast_expression "(long)puVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar8")) (+ "+") (parenthesized_expression "(lVar3 - lVar6)" (( "(") (binary_expression "lVar3 - lVar6" (identifier "lVar3") (- "-") (identifier "lVar6")) () ")"))) () ")")))) (; ";")) (if_statement "if (local_1034 != 0) {\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(local_1034 != 0)" (( "(") (binary_expression "local_1034 != 0" (identifier "local_1034") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }\n      uVar5 = 0;\n      puVar4 = local_1028;\n      uVar7 = local_1028[0];\n      uVar9 = local_1028[2];\n      do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );\n    }" ({ "{") (if_statement "if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" (if "if") (parenthesized_expression "(0x7fffffffffffffff - local_1028[2] < local_1028[0])" (( "(") (binary_expression "0x7fffffffffffffff - local_1028[2] < local_1028[0]" (binary_expression "0x7fffffffffffffff - local_1028[2]" (number_literal "0x7fffffffffffffff") (- "-") (subscript_expression "local_1028[2]" (identifier "local_1028") ([ "[") (number_literal "2") (] "]"))) (< "<") (subscript_expression "local_1028[0]" (identifier "local_1028") ([ "[") (number_literal "0") (] "]"))) () ")")) (compound_statement "{\nLAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");\n      }" ({ "{") (labeled_statement "LAB_0010ca4d:\n                    \n        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" (statement_identifier "LAB_0010ca4d") (: ":") (expression_statement "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read");" (call_expression "__assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" (identifier "__assert_fail") (argument_list "("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",\n                      "src/extent-scan.c",0x8d,"extent_scan_read")" (( "(") (string_literal ""fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length"" (" """) (string_content "fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length") (" """)) (, ",") (string_literal ""src/extent-scan.c"" (" """) (string_content "src/extent-scan.c") (" """)) (, ",") (number_literal "0x8d") (, ",") (string_literal ""extent_scan_read"" (" """) (string_content "extent_scan_read") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4 = local_1028;" (assignment_expression "puVar4 = local_1028" (identifier "puVar4") (= "=") (identifier "local_1028")) (; ";")) (expression_statement "uVar7 = local_1028[0];" (assignment_expression "uVar7 = local_1028[0]" (identifier "uVar7") (= "=") (subscript_expression "local_1028[0]" (identifier "local_1028") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar9 = local_1028[2];" (assignment_expression "uVar9 = local_1028[2]" (identifier "uVar9") (= "=") (subscript_expression "local_1028[2]" (identifier "local_1028") ([ "[") (number_literal "2") (] "]"))) (; ";")) (do_statement "do {\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      } while( true );" (do "do") (compound_statement "{\n        if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }\n        uVar5 = uVar5 + 1;\n        if (local_1034 <= uVar5) break;\n        puVar4 = local_1028 + (ulong)uVar5 * 7;\n        uVar7 = *puVar4;\n        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];\n        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;\n      }" ({ "{") (if_statement "if ((int)uVar11 == 0) {\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }\n        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" (if "if") (parenthesized_expression "((int)uVar11 == 0)" (( "(") (binary_expression "(int)uVar11 == 0" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = *(ulong *)(param_1 + 2);\n          if (uVar7 < uVar10) goto LAB_0010cb0f;\nLAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);\n          *puVar8 = uVar7;\n          puVar8[1] = puVar4[2];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n          uVar11 = (ulong)((int)uVar11 + 1);\n        }" ({ "{") (expression_statement "uVar10 = *(ulong *)(param_1 + 2);" (assignment_expression "uVar10 = *(ulong *)(param_1 + 2)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(param_1 + 2)" (* "*") (cast_expression "(ulong *)(param_1 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (uVar7 < uVar10) goto LAB_0010cb0f;" (if "if") (parenthesized_expression "(uVar7 < uVar10)" (( "(") (binary_expression "uVar7 < uVar10" (identifier "uVar7") (< "<") (identifier "uVar10")) () ")")) (goto_statement "goto LAB_0010cb0f;" (goto "goto") (statement_identifier "LAB_0010cb0f") (; ";"))) (labeled_statement "LAB_0010ca97:\n          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);" (statement_identifier "LAB_0010ca97") (: ":") (expression_statement "puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);" (assignment_expression "puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18)" (identifier "puVar8") (= "=") (cast_expression "(ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 10) + uVar11 * 0x18)" (( "(") (binary_expression "*(long *)(param_1 + 10) + uVar11 * 0x18" (pointer_expression "*(long *)(param_1 + 10)" (* "*") (cast_expression "(long *)(param_1 + 10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (+ "+") (binary_expression "uVar11 * 0x18" (identifier "uVar11") (* "*") (number_literal "0x18"))) () ")")))) (; ";"))) (expression_statement "*puVar8 = uVar7;" (assignment_expression "*puVar8 = uVar7" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar8[1] = puVar4[2];" (assignment_expression "puVar8[1] = puVar4[2]" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar8 + 2) = (int)puVar4[5];" (assignment_expression "*(int *)(puVar8 + 2) = (int)puVar4[5]" (pointer_expression "*(int *)(puVar8 + 2)" (* "*") (cast_expression "(int *)(puVar8 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 2)" (( "(") (binary_expression "puVar8 + 2" (identifier "puVar8") (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(int)puVar4[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "uVar11 = (ulong)((int)uVar11 + 1);" (assignment_expression "uVar11 = (ulong)((int)uVar11 + 1)" (identifier "uVar11") (= "=") (call_expression "(ulong)((int)uVar11 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((int)uVar11 + 1)" (( "(") (binary_expression "(int)uVar11 + 1" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (else_clause "else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" (else "else") (if_statement "if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)) {\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }\n        else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" (if "if") (parenthesized_expression "(((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7))" (( "(") (binary_expression "((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&\n                (puVar8[1] + *puVar8 == uVar7)" (parenthesized_expression "((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe))" (( "(") (binary_expression "(uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)" (cast_expression "(uint)puVar8[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]"))) (== "==") (parenthesized_expression "((uint)puVar4[5] & 0xfffffffe)" (( "(") (binary_expression "(uint)puVar4[5] & 0xfffffffe" (cast_expression "(uint)puVar4[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]"))) (& "&") (number_literal "0xfffffffe")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar8[1] + *puVar8 == uVar7)" (( "(") (binary_expression "puVar8[1] + *puVar8 == uVar7" (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (== "==") (identifier "uVar7")) () ")"))) () ")")) (compound_statement "{\n          puVar8[1] = uVar9 + puVar8[1];\n          *(int *)(puVar8 + 2) = (int)puVar4[5];\n        }" ({ "{") (expression_statement "puVar8[1] = uVar9 + puVar8[1];" (assignment_expression "puVar8[1] = uVar9 + puVar8[1]" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar9 + puVar8[1]" (identifier "uVar9") (+ "+") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "*(int *)(puVar8 + 2) = (int)puVar4[5];" (assignment_expression "*(int *)(puVar8 + 2) = (int)puVar4[5]" (pointer_expression "*(int *)(puVar8 + 2)" (* "*") (cast_expression "(int *)(puVar8 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 2)" (( "(") (binary_expression "puVar8 + 2" (identifier "puVar8") (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(int)puVar4[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" (else "else") (compound_statement "{\n          uVar10 = puVar8[1] + *puVar8;\n          if (uVar10 <= uVar7) goto LAB_0010ca97;\nLAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }\n          *puVar4 = uVar10;\n          puVar4[2] = (uVar7 + uVar9) - uVar10;\n          uVar5 = uVar5 - 1;\n        }" ({ "{") (expression_statement "uVar10 = puVar8[1] + *puVar8;" (assignment_expression "uVar10 = puVar8[1] + *puVar8" (identifier "uVar10") (= "=") (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (; ";")) (if_statement "if (uVar10 <= uVar7) goto LAB_0010ca97;" (if "if") (parenthesized_expression "(uVar10 <= uVar7)" (( "(") (binary_expression "uVar10 <= uVar7" (identifier "uVar10") (<= "<=") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0010ca97;" (goto "goto") (statement_identifier "LAB_0010ca97") (; ";"))) (labeled_statement "LAB_0010cb0f:\n          if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" (statement_identifier "LAB_0010cb0f") (: ":") (if_statement "if (uVar10 - uVar7 < uVar9) {\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" (if "if") (parenthesized_expression "(uVar10 - uVar7 < uVar9)" (( "(") (binary_expression "uVar10 - uVar7 < uVar9" (binary_expression "uVar10 - uVar7" (identifier "uVar10") (- "-") (identifier "uVar7")) (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n            if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }\n            goto LAB_0010cb25;\n          }" ({ "{") (if_statement "if (*(long *)(param_1 + 2) == 0) {\n              *(undefined1 *)(param_1 + 8) = 1;\n            }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 2) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 2) == 0" (pointer_expression "*(long *)(param_1 + 2)" (* "*") (cast_expression "(long *)(param_1 + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined1 *)(param_1 + 8) = 1;\n            }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 8) = 1" (pointer_expression "*(undefined1 *)(param_1 + 8)" (* "*") (cast_expression "(undefined1 *)(param_1 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (goto_statement "goto LAB_0010cb25;" (goto "goto") (statement_identifier "LAB_0010cb25") (; ";")) (} "}")))) (expression_statement "*puVar4 = uVar10;" (assignment_expression "*puVar4 = uVar10" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar4[2] = (uVar7 + uVar9) - uVar10;" (assignment_expression "puVar4[2] = (uVar7 + uVar9) - uVar10" (subscript_expression "puVar4[2]" (identifier "puVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(uVar7 + uVar9) - uVar10" (parenthesized_expression "(uVar7 + uVar9)" (( "(") (binary_expression "uVar7 + uVar9" (identifier "uVar7") (+ "+") (identifier "uVar9")) () ")")) (- "-") (identifier "uVar10"))) (; ";")) (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" (identifier "uVar5") (= "=") (binary_expression "uVar5 - 1" (identifier "uVar5") (- "-") (number_literal "1"))) (; ";")) (} "}")))))) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" (identifier "uVar5") (= "=") (binary_expression "uVar5 + 1" (identifier "uVar5") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_1034 <= uVar5) break;" (if "if") (parenthesized_expression "(local_1034 <= uVar5)" (( "(") (binary_expression "local_1034 <= uVar5" (identifier "local_1034") (<= "<=") (identifier "uVar5")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar4 = local_1028 + (ulong)uVar5 * 7;" (assignment_expression "puVar4 = local_1028 + (ulong)uVar5 * 7" (identifier "puVar4") (= "=") (binary_expression "local_1028 + (ulong)uVar5 * 7" (identifier "local_1028") (+ "+") (binary_expression "(ulong)uVar5 * 7" (cast_expression "(ulong)uVar5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar5")) (* "*") (number_literal "7")))) (; ";")) (expression_statement "uVar7 = *puVar4;" (assignment_expression "uVar7 = *puVar4" (identifier "uVar7") (= "=") (pointer_expression "*puVar4" (* "*") (identifier "puVar4"))) (; ";")) (expression_statement "uVar9 = local_1028[(ulong)uVar5 * 7 + 2];" (assignment_expression "uVar9 = local_1028[(ulong)uVar5 * 7 + 2]" (identifier "uVar9") (= "=") (subscript_expression "local_1028[(ulong)uVar5 * 7 + 2]" (identifier "local_1028") ([ "[") (binary_expression "(ulong)uVar5 * 7 + 2" (binary_expression "(ulong)uVar5 * 7" (cast_expression "(ulong)uVar5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar5")) (* "*") (number_literal "7")) (+ "+") (number_literal "2")) (] "]"))) (; ";")) (if_statement "if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;" (if "if") (parenthesized_expression "(0x7fffffffffffffff - uVar9 < uVar7)" (( "(") (binary_expression "0x7fffffffffffffff - uVar9 < uVar7" (binary_expression "0x7fffffffffffffff - uVar9" (number_literal "0x7fffffffffffffff") (- "-") (identifier "uVar9")) (< "<") (identifier "uVar7")) () ")")) (goto_statement "goto LAB_0010ca4d;" (goto "goto") (statement_identifier "LAB_0010ca4d") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "uVar5 = (uint)uVar11;" (assignment_expression "uVar5 = (uint)uVar11" (identifier "uVar5") (= "=") (cast_expression "(uint)uVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar11"))) (; ";")) (if_statement "if ((puVar8[2] & 1) == 0) {\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }\n    else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }" (if "if") (parenthesized_expression "((puVar8[2] & 1) == 0)" (( "(") (binary_expression "(puVar8[2] & 1) == 0" (parenthesized_expression "(puVar8[2] & 1)" (( "(") (binary_expression "puVar8[2] & 1" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }\n    }" ({ "{") (if_statement "if (0x48 < uVar5) {\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }" (if "if") (parenthesized_expression "(0x48 < uVar5)" (( "(") (binary_expression "0x48 < uVar5" (number_literal "0x48") (< "<") (identifier "uVar5")) () ")")) (compound_statement "{\n        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;\n        uVar11 = (ulong)(uVar5 - 1);\n        *(ulong *)(param_1 + 6) = uVar11;\n        *(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);\n        goto LAB_0010cbac;\n      }" ({ "{") (if_statement "if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 0x21) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 0x21) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x21)" (* "*") (cast_expression "(char *)((long)param_1 + 0x21)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x21)" (( "(") (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x21")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0010cb78;" (goto "goto") (statement_identifier "LAB_0010cb78") (; ";"))) (expression_statement "uVar11 = (ulong)(uVar5 - 1);" (assignment_expression "uVar11 = (ulong)(uVar5 - 1)" (identifier "uVar11") (= "=") (call_expression "(ulong)(uVar5 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar5 - 1)" (( "(") (binary_expression "uVar5 - 1" (identifier "uVar5") (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" (* "*") (cast_expression "(ulong *)(param_1 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 6)" (( "(") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);" (assignment_expression "*(long *)(param_1 + 2) =\n             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (pointer_expression "*(long *)(param_1 + 2)" (* "*") (cast_expression "(long *)(param_1 + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "*(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +\n             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (pointer_expression "*(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18)" (( "(") (binary_expression "*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18" (binary_expression "*(long *)(param_1 + 10) + -0x10" (pointer_expression "*(long *)(param_1 + 10)" (* "*") (cast_expression "(long *)(param_1 + 10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (+ "+") (number_literal "-0x10")) (+ "+") (binary_expression "uVar11 * 0x18" (identifier "uVar11") (* "*") (number_literal "0x18"))) () ")")))) (+ "+") (pointer_expression "*(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18)" (( "(") (binary_expression "*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18" (binary_expression "*(long *)(param_1 + 10) + -0x18" (pointer_expression "*(long *)(param_1 + 10)" (* "*") (cast_expression "(long *)(param_1 + 10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 10)" (( "(") (binary_expression "param_1 + 10" (identifier "param_1") (+ "+") (number_literal "10")) () ")")))) (+ "+") (number_literal "-0x18")) (+ "+") (binary_expression "uVar11 * 0x18" (identifier "uVar11") (* "*") (number_literal "0x18"))) () ")")))))) (; ";")) (goto_statement "goto LAB_0010cbac;" (goto "goto") (statement_identifier "LAB_0010cbac") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined1 *)((long)param_1 + 0x21) = 1;\n      if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }\n    }" ({ "{") (expression_statement "*(undefined1 *)((long)param_1 + 0x21) = 1;" (assignment_expression "*(undefined1 *)((long)param_1 + 0x21) = 1" (pointer_expression "*(undefined1 *)((long)param_1 + 0x21)" (* "*") (cast_expression "(undefined1 *)((long)param_1 + 0x21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x21)" (( "(") (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x21")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (0x48 < uVar5) {\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }" (if "if") (parenthesized_expression "(0x48 < uVar5)" (( "(") (binary_expression "0x48 < uVar5" (number_literal "0x48") (< "<") (identifier "uVar5")) () ")")) (compound_statement "{\nLAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;\nLAB_0010cbac:\n        local_1049 = true;\nLAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }\n                    \n        __stack_chk_fail();\n      }" ({ "{") (labeled_statement "LAB_0010cb78:\n        *(ulong *)(param_1 + 6) = uVar11;" (statement_identifier "LAB_0010cb78") (: ":") (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" (* "*") (cast_expression "(ulong *)(param_1 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 6)" (( "(") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "uVar11")) (; ";"))) (labeled_statement "LAB_0010cbac:\n        local_1049 = true;" (statement_identifier "LAB_0010cbac") (: ":") (expression_statement "local_1049 = true;" (assignment_expression "local_1049 = true" (identifier "local_1049") (= "=") (true "true")) (; ";"))) (labeled_statement "LAB_0010cb25:\n        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" (statement_identifier "LAB_0010cb25") (: ":") (if_statement "if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {\n          return local_1049;\n        }" (if "if") (parenthesized_expression "(local_40 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n          return local_1049;\n        }" ({ "{") (return_statement "return local_1049;" (return "return") (identifier "local_1049") (; ";")) (} "}")))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "*(ulong *)(param_1 + 6) = uVar11;" (assignment_expression "*(ulong *)(param_1 + 6) = uVar11" (pointer_expression "*(ulong *)(param_1 + 6)" (* "*") (cast_expression "(ulong *)(param_1 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 6)" (( "(") (binary_expression "param_1 + 6" (identifier "param_1") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if ((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;" (if "if") (parenthesized_expression "((*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5))" (( "(") (binary_expression "(*(char *)((long)param_1 + 0x21) != '\0') ||\n       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)" (parenthesized_expression "(*(char *)((long)param_1 + 0x21) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 0x21) != '\0'" (pointer_expression "*(char *)((long)param_1 + 0x21)" (* "*") (cast_expression "(char *)((long)param_1 + 0x21)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x21)" (( "(") (binary_expression "(long)param_1 + 0x21" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x21")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)" (( "(") (comma_expression "*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5" (assignment_expression "*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8" (pointer_expression "*(ulong *)(param_1 + 2)" (* "*") (cast_expression "(ulong *)(param_1 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "puVar8[1] + *puVar8" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) (, ",") (binary_expression "0x47 < uVar5" (number_literal "0x47") (< "<") (identifier "uVar5"))) () ")"))) () ")")) (goto_statement "goto LAB_0010cbac;" (goto "goto") (statement_identifier "LAB_0010cbac") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

type_1 function_1(type_2 *scan)

{
  type_3 *p;
  type_4 var_8 [16];
  int var_4;
  type_3 *peVar3;
  type_5 *puVar4;
  type_6 var_15;
  long var_2;
  type_5 var_11;
  type_7 var_13;
  type_3 *peVar9;
  type_7 var_14;
  type_8 *paVar11;
  size_t var_12;
  long var_1;
  type_9 bVar13;
  bool local_1049;
  type_8 fiemap_buf;
  long var_16;
  
  bVar13 = 0;
  var_16 = *(long *)(var_1 + 0x28);
  peVar9 = scan->ext_info;
  var_12 = 0;
  do {
    paVar11 = &fiemap_buf;
    for (var_2 = 0x200; var_2 != 0; var_2 = var_2 + -1) {
      (paVar11->f).fm_start = 0;
      paVar11 = (type_8 *)((long)paVar11 + (type_5)bVar13 * -0x10 + 8);
    }
    fiemap_buf.f.fm_start = scan->scan_start;
    fiemap_buf.f.fm_flags = scan->fm_flags;
    fiemap_buf.f.fm_extent_count = 0x48;
    fiemap_buf.f.fm_length = ~fiemap_buf.f.fm_start;
    var_4 = var_3(scan->fd,0xc020660b,&fiemap_buf);
    if (var_4 < 0) {
      local_1049 = false;
      if (scan->scan_start == 0) {
        scan->initial_scan_failed = true;
      }
      goto LAB_0010cb25;
    }
    if (fiemap_buf.f.fm_mapped_extents == 0) {
      scan->hit_final_extent = true;
      local_1049 = scan->scan_start != 0;
      goto LAB_0010cb25;
    }
    if (~(type_5)fiemap_buf.f.fm_mapped_extents < scan->ei_count) {
                    /* WARNING: Subroutine does not return */
      var_5("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",
                    0x7e,"extent_scan_read");
    }
    var_11 = scan->ei_count + (type_5)fiemap_buf.f.fm_mapped_extents;
    scan->ei_count = var_11;
    p = scan->ext_info;
    var_8._8_8_ = 0;
    var_8._0_8_ = var_11;
    local_1049 = var_6(var_7(0x18) * var_8,0) < 0 || var_6(var_7(0x18) * var_8,8) != 0;
    if (local_1049) {
                    /* WARNING: Subroutine does not return */
      var_9();
    }
    peVar3 = (type_3 *)var_10(p,var_11 * 0x18);
    scan->ext_info = peVar3;
    peVar9 = (type_3 *)(((long)peVar9 - (long)p) + (long)peVar3);
    if (fiemap_buf.f.fm_mapped_extents != 0) {
      if (0x7fffffffffffffff - fiemap_buf._48_8_ < (type_5)fiemap_buf._32_8_) {
LAB_0010ca4d:
                    /* WARNING: Subroutine does not return */
        var_5("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",
                      "src/extent-scan.c",0x8d,"extent_scan_read");
      }
      var_15 = 0;
      puVar4 = (type_5 *)(fiemap_buf.c + 0x20);
      var_13 = fiemap_buf._32_8_;
      var_14 = fiemap_buf._48_8_;
      do {
        if ((int)var_12 == 0) {
          var_11 = scan->scan_start;
          if ((type_5)var_13 < var_11) goto LAB_0010cb0f;
LAB_0010ca97:
          peVar9 = scan->ext_info + var_12;
          peVar9->ext_logical = var_13;
          peVar9->ext_length = puVar4[2];
          peVar9->ext_flags = (type_6)puVar4[5];
          var_12 = (size_t)((int)var_12 + 1);
        }
        else if ((peVar9->ext_flags == ((type_6)puVar4[5] & 0xfffffffe)) &&
                (peVar9->ext_length + peVar9->ext_logical == var_13)) {
          peVar9->ext_length = var_14 + peVar9->ext_length;
          peVar9->ext_flags = (type_6)puVar4[5];
        }
        else {
          var_11 = peVar9->ext_length + peVar9->ext_logical;
          if (var_11 <= (type_5)var_13) goto LAB_0010ca97;
LAB_0010cb0f:
          if (var_11 - var_13 < (type_5)var_14) {
            if (scan->scan_start == 0) {
              scan->initial_scan_failed = true;
            }
            goto LAB_0010cb25;
          }
          *puVar4 = var_11;
          puVar4[2] = (var_13 + var_14) - var_11;
          var_15 = var_15 - 1;
        }
        var_15 = var_15 + 1;
        if (fiemap_buf.f.fm_mapped_extents <= var_15) break;
        puVar4 = (type_5 *)((long)(fiemap_buf.c + 0x20) + (type_5)var_15 * 7 * 8);
        var_13 = *puVar4;
        var_14 = *(type_5 *)((long)&fiemap_buf + (type_5)var_15 * 0x38 + 0x30);
        if (0x7fffffffffffffff - var_14 < (type_5)var_13) goto LAB_0010ca4d;
      } while( true );
    }
    var_15 = (type_6)var_12;
    if ((peVar9->ext_flags & 1) == 0) {
      if (0x48 < var_15) {
        if (scan->hit_final_extent != false) goto LAB_0010cb78;
        var_11 = (type_5)(var_15 - 1);
        scan->ei_count = var_11;
        scan->scan_start =
             scan->ext_info[var_11 - 1].ext_length + scan->ext_info[var_11 - 1].ext_logical;
        goto LAB_0010cbac;
      }
    }
    else {
      scan->hit_final_extent = true;
      if (0x48 < var_15) {
LAB_0010cb78:
        scan->ei_count = var_12;
LAB_0010cbac:
        local_1049 = true;
LAB_0010cb25:
        if (var_16 == *(long *)(var_1 + 0x28)) {
          return local_1049;
        }
                    /* WARNING: Subroutine does not return */
        var_17();
      }
    }
    scan->ei_count = var_12;
    if ((scan->hit_final_extent != false) ||
       (scan->scan_start = peVar9->ext_length + peVar9->ext_logical, 0x47 < var_15))
    goto LAB_0010cbac;
  } while( true );
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (for_statement initializer: (assignment_expression left: (identifier) right: (number_literal)) condition: (binary_expression left: (identifier) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (number_literal))) right: (identifier)) (number_literal))) right: (number_literal)) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (number_literal))) right: (identifier)) (number_literal))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (true)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) right: (binary_expression left: (number_literal) right: (identifier)))))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (true))))))

bool MASKED(int *param_1)

{
  undefined1 auVar1 [16];
  int iVar2;
  long lVar3;
  ulong *puVar4;
  uint uVar5;
  long lVar6;
  ulong uVar7;
  ulong *puVar8;
  ulong uVar9;
  ulong uVar10;
  ulong uVar11;
  long in_FS_OFFSET;
  byte bVar12;
  bool local_1049;
  ulong local_1048;
  ulong local_1040;
  int local_1038;
  uint local_1034;
  undefined4 local_1030;
  ulong local_1028 [509];
  long local_40;
  
  bVar12 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  puVar8 = *(ulong **)(param_1 + 10);
  uVar11 = 0;
  do {
    puVar4 = &local_1048;
    for (lVar6 = 0x200; lVar6 != 0; lVar6 = lVar6 + -1) {
      *puVar4 = 0;
      puVar4 = puVar4 + (ulong)bVar12 * -2 + 1;
    }
    local_1048 = *(ulong *)(param_1 + 2);
    local_1038 = param_1[4];
    local_1030 = 0x48;
    local_1040 = ~local_1048;
    iVar2 = ioctl(*param_1,0xc020660b,&local_1048);
    if (iVar2 < 0) {
      local_1049 = false;
      if (*(long *)(param_1 + 2) == 0) {
        *(undefined1 *)(param_1 + 8) = 1;
      }
      goto LAB_0010cb25;
    }
    if (local_1034 == 0) {
      *(undefined1 *)((long)param_1 + 0x21) = 1;
      local_1049 = *(long *)(param_1 + 2) != 0;
      goto LAB_0010cb25;
    }
    if (~(ulong)local_1034 < *(ulong *)(param_1 + 6)) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("scan->ei_count <= SIZE_MAX - fiemap->fm_mapped_extents","src/extent-scan.c",
                    0x7e,"extent_scan_read");
    }
    uVar7 = *(ulong *)(param_1 + 6) + (ulong)local_1034;
    *(ulong *)(param_1 + 6) = uVar7;
    lVar6 = *(long *)(param_1 + 10);
    auVar1._8_8_ = 0;
    auVar1._0_8_ = uVar7;
    local_1049 = SUB168(ZEXT816(0x18) * auVar1,0) < 0 || SUB168(ZEXT816(0x18) * auVar1,8) != 0;
    if (local_1049) {
                    /* WARNING: Subroutine does not return */
      FUN_00114169();
    }
    lVar3 = FUN_00113f82(lVar6,uVar7 * 0x18);
    *(long *)(param_1 + 10) = lVar3;
    puVar8 = (ulong *)((long)puVar8 + (lVar3 - lVar6));
    if (local_1034 != 0) {
      if (0x7fffffffffffffff - local_1028[2] < local_1028[0]) {
LAB_0010ca4d:
                    /* WARNING: Subroutine does not return */
        __assert_fail("fm_extents[i].fe_logical <= OFF_T_MAX - fm_extents[i].fe_length",
                      "src/extent-scan.c",0x8d,"extent_scan_read");
      }
      uVar5 = 0;
      puVar4 = local_1028;
      uVar7 = local_1028[0];
      uVar9 = local_1028[2];
      do {
        if ((int)uVar11 == 0) {
          uVar10 = *(ulong *)(param_1 + 2);
          if (uVar7 < uVar10) goto LAB_0010cb0f;
LAB_0010ca97:
          puVar8 = (ulong *)(*(long *)(param_1 + 10) + uVar11 * 0x18);
          *puVar8 = uVar7;
          puVar8[1] = puVar4[2];
          *(int *)(puVar8 + 2) = (int)puVar4[5];
          uVar11 = (ulong)((int)uVar11 + 1);
        }
        else if (((uint)puVar8[2] == ((uint)puVar4[5] & 0xfffffffe)) &&
                (puVar8[1] + *puVar8 == uVar7)) {
          puVar8[1] = uVar9 + puVar8[1];
          *(int *)(puVar8 + 2) = (int)puVar4[5];
        }
        else {
          uVar10 = puVar8[1] + *puVar8;
          if (uVar10 <= uVar7) goto LAB_0010ca97;
LAB_0010cb0f:
          if (uVar10 - uVar7 < uVar9) {
            if (*(long *)(param_1 + 2) == 0) {
              *(undefined1 *)(param_1 + 8) = 1;
            }
            goto LAB_0010cb25;
          }
          *puVar4 = uVar10;
          puVar4[2] = (uVar7 + uVar9) - uVar10;
          uVar5 = uVar5 - 1;
        }
        uVar5 = uVar5 + 1;
        if (local_1034 <= uVar5) break;
        puVar4 = local_1028 + (ulong)uVar5 * 7;
        uVar7 = *puVar4;
        uVar9 = local_1028[(ulong)uVar5 * 7 + 2];
        if (0x7fffffffffffffff - uVar9 < uVar7) goto LAB_0010ca4d;
      } while( true );
    }
    uVar5 = (uint)uVar11;
    if ((puVar8[2] & 1) == 0) {
      if (0x48 < uVar5) {
        if (*(char *)((long)param_1 + 0x21) != '\0') goto LAB_0010cb78;
        uVar11 = (ulong)(uVar5 - 1);
        *(ulong *)(param_1 + 6) = uVar11;
        *(long *)(param_1 + 2) =
             *(long *)(*(long *)(param_1 + 10) + -0x10 + uVar11 * 0x18) +
             *(long *)(*(long *)(param_1 + 10) + -0x18 + uVar11 * 0x18);
        goto LAB_0010cbac;
      }
    }
    else {
      *(undefined1 *)((long)param_1 + 0x21) = 1;
      if (0x48 < uVar5) {
LAB_0010cb78:
        *(ulong *)(param_1 + 6) = uVar11;
LAB_0010cbac:
        local_1049 = true;
LAB_0010cb25:
        if (local_40 == *(long *)(in_FS_OFFSET + 0x28)) {
          return local_1049;
        }
                    /* WARNING: Subroutine does not return */
        __stack_chk_fail();
      }
    }
    *(ulong *)(param_1 + 6) = uVar11;
    if ((*(char *)((long)param_1 + 0x21) != '\0') ||
       (*(ulong *)(param_1 + 2) = puVar8[1] + *puVar8, 0x47 < uVar5)) goto LAB_0010cbac;
  } while( true );
}

