
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 output_cfi_insn(cfi_insn_data *insn)

{
  cfi_escape_data *pcVar1;
  symbolS *s;
  fragS *pfVar2;
  fragS *pfVar3;
  char *pcVar4;
  symbolS *psVar5;
  int extraout_EDX;
  int extraout_EDX_00;
  uint uVar6;
  uint uVar7;
  addressT aVar8;
  valueT vVar9;
  valueT vVar10;
  int n;
  int iVar11;
  undefined4 uVar12;
  undefined4 in_stack_ffffffa8;
  addressT in_stack_ffffffb4;
  expressionS exp;
  
  iVar11 = insn->insn;
  if (iVar11 == 0xe) {
    uVar7 = (insn->u).ri.reg;
    uVar6 = (insn->u).rr.reg2;
    if (-1 < (int)uVar6) {
      uVar12 = 0xe;
      frag_append_1_char(0xe);
      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
      return;
    }
    uVar12 = 0x13;
    frag_append_1_char(0x13);
    __divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);
    out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));
    return;
  }
  if (iVar11 < 0xf) {
    if (iVar11 < 0xc) {
      if (9 < iVar11) {
        frag_append_1_char(iVar11);
        return;
      }
      if (6 < iVar11) {
        if (8 < iVar11) {
          uVar12 = 9;
          frag_append_1_char(9);
          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
          return;
        }
LAB_0001dec9:
        frag_append_1_char(iVar11);
        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));
        return;
      }
    }
    else {
      if (iVar11 == 0xc) {
        psVar5 = (insn->u).ea.exp.X_add_symbol;
        uVar7 = (insn->u).rr.reg2;
        if (-1 < (int)psVar5) {
          uVar12 = 0xc;
          frag_append_1_char(0xc);
          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
          return;
        }
        uVar12 = 0x12;
        frag_append_1_char(0x12);
        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);
        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));
        return;
      }
      if (iVar11 == 0xd) goto LAB_0001dec9;
    }
  }
  else {
    if (iVar11 == 0x80) {
      uVar7 = (insn->u).ri.reg;
      psVar5 = (insn->u).ea.exp.X_add_symbol;
      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);
      if (extraout_EDX_00 < 0) {
        iVar11 = 0x11;
LAB_0001e1a5:
        frag_append_1_char(iVar11);
        out_uleb128(CONCAT44(psVar5,iVar11));
        out_sleb128(CONCAT44(psVar5,iVar11));
        return;
      }
      if (uVar7 < 0x40) {
        iVar11 = uVar7 + 0x80;
        frag_append_1_char(iVar11);
        out_uleb128(CONCAT44(psVar5,iVar11));
        return;
      }
      iVar11 = 5;
LAB_0001df15:
      frag_append_1_char(iVar11);
      out_uleb128(CONCAT44(psVar5,iVar11));
      out_uleb128(CONCAT44(psVar5,iVar11));
      return;
    }
    if (iVar11 < 0x81) {
      if (iVar11 == 0x2d) {
        frag_append_1_char(0x2d);
        return;
      }
      if (iVar11 == 0x40) {
        psVar5 = (insn->u).ll.lab1;
        s = (insn->u).ll.lab2;
        pfVar2 = symbol_get_frag(s);
        pfVar3 = symbol_get_frag(psVar5);
        if (pfVar2 != pfVar3) {
          exp._16_1_ = 0x14;
          exp.X_add_number._0_4_ = 0;
          exp.X_add_number._4_4_ = 0;
          exp.X_add_symbol = s;
          exp.X_op_symbol = psVar5;
          pcVar4 = frag_more(1);
          *pcVar4 = '\x04';
          pfVar2 = frag_now;
          aVar8 = frag_now_fix();
          psVar5 = make_expr_symbol(&exp);
          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);
          return;
        }
        vVar9 = S_GET_VALUE(s);
        vVar10 = S_GET_VALUE(psVar5);
        uVar7 = (uint)(vVar9 - vVar10);
        iVar11 = (int)(vVar9 - vVar10 >> 0x20);
        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {
          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {
            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {
              frag_append_1_char(3);
              pcVar4 = frag_more(2);
              n = 2;
            }
            else {
              iVar11 = (int)uVar7 >> 0x1f;
              frag_append_1_char(4);
              pcVar4 = frag_more(4);
              n = 4;
            }
            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);
            return;
          }
          frag_append_1_char(2);
          frag_append_1_char(uVar7);
          return;
        }
        frag_append_1_char(uVar7 + 0x40);
        return;
      }
      if (iVar11 == 0x14) {
        psVar5 = (insn->u).ea.exp.X_add_symbol;
        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);
        if (extraout_EDX < 0) {
          iVar11 = 0x15;
          goto LAB_0001e1a5;
        }
        iVar11 = 0x14;
        goto LAB_0001df15;
      }
    }
    else {
      if (iVar11 == 0x103) {
        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {
          emit_expr(&pcVar1->exp,1);
        }
        return;
      }
      if (iVar11 < 0x104) {
        if (iVar11 == 0xc0) {
          uVar7 = (insn->u).ri.reg;
          if (uVar7 < 0x40) {
            frag_append_1_char(uVar7 + 0xc0);
            return;
          }
          uVar12 = 6;
          frag_append_1_char(6);
          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
          return;
        }
      }
      else {
        if (iVar11 == 0x105) {
          uVar7 = (insn->u).rr.reg2;
          if (uVar7 == 0xff) {
            return;
          }
          uVar12 = 0x16;
          uVar6 = uVar7 & 7;
          frag_append_1_char(0x16);
          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));
          if (uVar6 == 2) {
            uVar6 = 2;
          }
          else if (uVar6 < 3) {
            if (uVar6 != 0) {
LAB_0001e374:
                    /* WARNING: Subroutine does not return */
              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");
            }
            uVar6 = x86_dwarf2_addr_size();
          }
          else if (uVar6 == 3) {
            uVar6 = 4;
          }
          else {
            if (uVar6 != 4) goto LAB_0001e374;
            uVar6 = 8;
          }
          if ((insn->u).rr.reg2 == 0) {
            out_uleb128(in_stack_ffffffb4);
            frag_append_1_char(3);
          }
          else {
            out_uleb128(in_stack_ffffffb4);
            frag_append_1_char(0xf1);
            frag_append_1_char(uVar7);
            if ((uVar7 & 0x70) == 0x10) {
              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;
              psVar5 = symbol_temp_new_now();
              (insn->u).ea.exp.X_op_symbol = psVar5;
            }
          }
          emit_expr(&(insn->u).ea.exp,uVar6);
          return;
        }
        if (iVar11 == 0x106) {
          colon((insn->u).sym_name);
          return;
        }
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  as_abort("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn");
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 FUN_0001dd60(int param_1)

{
  undefined4 *puVar1;
  int iVar2;
  int iVar3;
  undefined1 *puVar4;
  undefined4 uVar5;
  int extraout_EDX;
  int extraout_EDX_00;
  uint uVar6;
  undefined4 uVar7;
  uint uVar8;
  longlong lVar9;
  longlong lVar10;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined1 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1dd6b;
  iVar2 = *(int *)(param_1 + 4);
  if (iVar2 == 0xe) {
    uVar7 = *(undefined4 *)(param_1 + 8);
    iVar2 = *(int *)(param_1 + 0xc);
    if (-1 < iVar2) {
      FUN_00024e20(0xe);
      FUN_0001dd20();
      return;
    }
    FUN_00024e20(0x13);
    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);
    FUN_0001dce0();
    return;
  }
  if (iVar2 < 0xf) {
    if (iVar2 < 0xc) {
      if (9 < iVar2) {
        FUN_00024e20(iVar2);
        return;
      }
      if (6 < iVar2) {
        if (8 < iVar2) {
          FUN_00024e20(9);
          FUN_0001dd20();
          FUN_0001dd20();
          return;
        }
LAB_0001dec9:
        FUN_00024e20(iVar2);
        FUN_0001dd20();
        return;
      }
    }
    else {
      if (iVar2 == 0xc) {
        iVar2 = *(int *)(param_1 + 0x10);
        uVar7 = *(undefined4 *)(param_1 + 0xc);
        if (-1 < iVar2) {
          FUN_00024e20(0xc);
          FUN_0001dd20();
          FUN_0001dd20();
          return;
        }
        FUN_00024e20(0x12);
        FUN_0001dd20();
        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);
        FUN_0001dce0();
        return;
      }
      if (iVar2 == 0xd) goto LAB_0001dec9;
    }
  }
  else {
    if (iVar2 == 0x80) {
      uVar8 = *(uint *)(param_1 + 8);
      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,
                   DAT_00089b04 >> 0x1f);
      if (extraout_EDX_00 < 0) {
        uVar7 = 0x11;
LAB_0001e1a5:
        FUN_00024e20(uVar7);
        FUN_0001dd20();
        FUN_0001dce0();
        return;
      }
      if (uVar8 < 0x40) {
        FUN_00024e20(uVar8 + 0x80);
        FUN_0001dd20();
        return;
      }
      uVar7 = 5;
LAB_0001df15:
      FUN_00024e20(uVar7);
      FUN_0001dd20();
      FUN_0001dd20();
      return;
    }
    if (iVar2 < 0x81) {
      if (iVar2 == 0x2d) {
        FUN_00024e20(0x2d);
        return;
      }
      if (iVar2 == 0x40) {
        uVar7 = *(undefined4 *)(param_1 + 8);
        uVar5 = *(undefined4 *)(param_1 + 0xc);
        iVar2 = FUN_0003b830(uVar5);
        iVar3 = FUN_0003b830(uVar7);
        if (iVar2 != iVar3) {
          local_20 = 0x14;
          local_28 = 0;
          local_24 = 0;
          local_30 = uVar5;
          local_2c = uVar7;
          puVar4 = (undefined1 *)FUN_00024b20(1);
          *puVar4 = 4;
          uVar7 = DAT_000898a0;
          lVar9 = FUN_00024dc0();
          uVar5 = FUN_00021220(&local_30);
          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);
          return;
        }
        lVar9 = FUN_0003a3c0(uVar5);
        lVar10 = FUN_0003a3c0(uVar7);
        uVar8 = (uint)(lVar9 - lVar10);
        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);
        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {
          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {
            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {
              FUN_00024e20(3);
              uVar7 = FUN_00024b20(2);
              uVar5 = 2;
            }
            else {
              iVar2 = (int)uVar8 >> 0x1f;
              FUN_00024e20(4);
              uVar7 = FUN_00024b20(4);
              uVar5 = 4;
            }
            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);
            return;
          }
          FUN_00024e20(2);
          FUN_00024e20(uVar8);
          return;
        }
        FUN_00024e20(uVar8 + 0x40);
        return;
      }
      if (iVar2 == 0x14) {
        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,
                     DAT_00089b04 >> 0x1f);
        if (extraout_EDX < 0) {
          uVar7 = 0x15;
          goto LAB_0001e1a5;
        }
        uVar7 = 0x14;
        goto LAB_0001df15;
      }
    }
    else {
      if (iVar2 == 0x103) {
        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;
            puVar1 = (undefined4 *)*puVar1) {
          FUN_00031660(puVar1 + 1,1);
        }
        return;
      }
      if (iVar2 < 0x104) {
        if (iVar2 == 0xc0) {
          if (*(uint *)(param_1 + 8) < 0x40) {
            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);
            return;
          }
          FUN_00024e20(6);
          FUN_0001dd20();
          return;
        }
      }
      else {
        if (iVar2 == 0x105) {
          uVar8 = *(uint *)(param_1 + 0xc);
          if (uVar8 == 0xff) {
            return;
          }
          uVar6 = uVar8 & 7;
          FUN_00024e20(0x16);
          FUN_0001dd20();
          if (uVar6 == 2) {
            uVar7 = 2;
          }
          else if (uVar6 < 3) {
            if (uVar6 != 0) {
LAB_0001e374:
                    /* WARNING: Subroutine does not return */
              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);
            }
            uVar7 = FUN_00054100();
          }
          else if (uVar6 == 3) {
            uVar7 = 4;
          }
          else {
            if (uVar6 != 4) goto LAB_0001e374;
            uVar7 = 8;
          }
          if (*(int *)(param_1 + 0xc) == 0) {
            FUN_0001dd20();
            FUN_00024e20(3);
          }
          else {
            FUN_0001dd20();
            FUN_00024e20(0xf1);
            FUN_00024e20(uVar8);
            if ((uVar8 & 0x70) == 0x10) {
              *(undefined1 *)(param_1 + 0x20) = 0x14;
              uVar5 = FUN_00038f70();
              *(undefined4 *)(param_1 + 0x14) = uVar5;
            }
          }
          FUN_00031660(param_1 + 0x10,uVar7);
          return;
        }
        if (iVar2 == 0x106) {
          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));
          return;
        }
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);
}


PUSH EBP
MOV EBP,EAX
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x62295
SUB ESP,0x3c
MOV EAX,dword ptr [EAX + 0x4]
CMP EAX,0xe
JZ 0x0001df50
JLE 0x0001de38
CMP EAX,0x80
JZ 0x0001df88
JLE 0x0001de00
CMP EAX,0x103
JZ 0x0001dfe0
JLE 0x0001ddd0
CMP EAX,0x105
JZ 0x0001e0b8
CMP EAX,0x106
JNZ 0x0001de1b
SUB ESP,0xc
PUSH dword ptr [EBP + 0x8]
CALL 0x0003aaa0
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP EAX,0xc0
JNZ 0x0001de1b
MOV ESI,dword ptr [EBP + 0x8]
CMP ESI,0x3f
JA 0x0001e140
SUB ESP,0xc
LEA EAX,[ESI + 0xc0]
PUSH EAX
CALL 0x00024e20
ADD ESP,0x10
JMP 0x0001ddc0
CMP EAX,0x2d
JZ 0x0001e010
CMP EAX,0x40
JZ 0x0001e028
CMP EAX,0x14
JZ 0x0001dee8
PUSH EAX
LEA EAX,[EBX + 0xfffdd9dc]
PUSH EAX
LEA EAX,[EBX + 0xfffdd80f]
PUSH 0x71a
PUSH EAX
CALL 0x0002be80
CMP EAX,0xb
JG 0x0001de80
CMP EAX,0xa
JGE 0x0001df38
CMP EAX,0x7
JL 0x0001de1b
CMP EAX,0x8
JLE 0x0001dec9
SUB ESP,0xc
PUSH 0x9
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0x8]
XOR EDX,EDX
CALL 0x0001dd20
MOV EAX,dword ptr [EBP + 0xc]
XOR EDX,EDX
CALL 0x0001dd20
ADD ESP,0x10
JMP 0x0001ddc0
CMP EAX,0xc
JNZ 0x0001dec0
MOV EDI,dword ptr [EBP + 0x10]
MOV ESI,dword ptr [EBP + 0xc]
TEST EDI,EDI
JS 0x0001e1c8
SUB ESP,0xc
PUSH 0xc
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0x8]
XOR EDX,EDX
CALL 0x0001dd20
MOV EAX,ESI
MOV EDX,EDI
CALL 0x0001dd20
ADD ESP,0x10
JMP 0x0001ddc0
CMP EAX,0xd
JNZ 0x0001de1b
SUB ESP,0xc
PUSH EAX
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0x8]
XOR EDX,EDX
CALL 0x0001dd20
ADD ESP,0x10
JMP 0x0001ddc0
LEA EAX,[EBX + 0x9b04]
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX]
CDQ
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0xc]
CALL 0x00059a10
ADD ESP,0x10
MOV EDI,EAX
MOV EBP,EDX
TEST EDX,EDX
JS 0x0001e1a0
SUB ESP,0xc
PUSH 0x14
CALL 0x00024e20
MOV EAX,ESI
XOR EDX,EDX
CALL 0x0001dd20
MOV EAX,EDI
MOV EDX,EBP
CALL 0x0001dd20
ADD ESP,0x10
JMP 0x0001ddc0
SUB ESP,0xc
PUSH EAX
CALL 0x00024e20
ADD ESP,0x10
JMP 0x0001ddc0
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EBP + 0xc]
MOV dword ptr [ESP + 0x8],EAX
MOV dword ptr [ESP + 0xc],EDX
TEST EDX,EDX
JS 0x0001e160
SUB ESP,0xc
PUSH 0xe
CALL 0x00024e20
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
CALL 0x0001dd20
ADD ESP,0x10
JMP 0x0001ddc0
LEA EAX,[EBX + 0x9b04]
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX]
CDQ
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0xc]
CALL 0x00059a10
ADD ESP,0x10
MOV EDI,EAX
MOV EBP,EDX
TEST EDX,EDX
JS 0x0001e2c8
CMP ESI,0x3f
JA 0x0001e200
SUB ESP,0xc
SUB ESI,-0x80
PUSH ESI
CALL 0x00024e20
MOV EAX,EDI
MOV EDX,EBP
CALL 0x0001dd20
ADD ESP,0x10
JMP 0x0001ddc0
MOV ESI,dword ptr [EBP + 0x8]
TEST ESI,ESI
JZ 0x0001ddc0
LEA ESI,[ESI]
NOP
SUB ESP,0x8
LEA EAX,[ESI + 0x4]
PUSH 0x1
PUSH EAX
CALL 0x00031660
MOV ESI,dword ptr [ESI]
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x0001dff0
JMP 0x0001ddc0
SUB ESP,0xc
PUSH 0x2d
CALL 0x00024e20
ADD ESP,0x10
JMP 0x0001ddc0
MOV ESI,dword ptr [EBP + 0x8]
MOV EBP,dword ptr [EBP + 0xc]
SUB ESP,0xc
PUSH EBP
CALL 0x0003b830
MOV dword ptr [ESP],ESI
MOV EDI,EAX
CALL 0x0003b830
ADD ESP,0x10
CMP EDI,EAX
JZ 0x0001e248
MOV dword ptr [ESP + 0x1c],EBP
SUB ESP,0xc
MOV dword ptr [ESP + 0x2c],ESI
MOV byte ptr [ESP + 0x38],0x14
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x34],0x0
PUSH 0x1
CALL 0x00024b20
MOV byte ptr [EAX],0x4
LEA EAX,[EBX + 0x98a0]
MOV EBP,dword ptr [EAX]
CALL 0x00024dc0
MOV ESI,EAX
POP EAX
MOV EDI,EDX
LEA EAX,[ESP + 0x28]
PUSH EAX
CALL 0x00021220
ADD ESI,-0x1
PUSH EBP
ADC EDI,-0x1
PUSH EDI
PUSH ESI
PUSH EAX
PUSH 0x8
PUSH 0x0
PUSH 0x4
PUSH 0xc
CALL 0x00024b60
ADD ESP,0x30
JMP 0x0001ddc0
MOV EDI,dword ptr [EBP + 0xc]
CMP EDI,0xff
JZ 0x0001ddc0
SUB ESP,0xc
MOV ESI,EDI
PUSH 0x16
AND ESI,0x7
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0x8]
XOR EDX,EDX
CALL 0x0001dd20
ADD ESP,0x10
CMP ESI,0x2
JZ 0x0001e318
JBE 0x0001e230
CMP ESI,0x3
JNZ 0x0001e210
MOV ESI,0x4
MOV EAX,0x4
XOR EDX,EDX
MOV ECX,dword ptr [EBP + 0xc]
TEST ECX,ECX
JNZ 0x0001e2d8
ADD EAX,0x1
ADC EDX,0x0
CALL 0x0001dd20
SUB ESP,0xc
PUSH 0x3
CALL 0x00024e20
ADD ESP,0x10
SUB ESP,0x8
ADD EBP,0x10
PUSH ESI
PUSH EBP
CALL 0x00031660
ADD ESP,0x10
JMP 0x0001ddc0
SUB ESP,0xc
PUSH 0x6
CALL 0x00024e20
MOV EAX,ESI
XOR EDX,EDX
CALL 0x0001dd20
ADD ESP,0x10
JMP 0x0001ddc0
SUB ESP,0xc
PUSH 0x13
CALL 0x00024e20
LEA ECX,[EBX + 0x9b04]
MOV ESI,dword ptr [ECX]
MOV EDI,ESI
SAR EDI,0x1f
PUSH EDI
PUSH ESI
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x24]
PUSH EDX
PUSH EAX
CALL 0x00059a10
ADD ESP,0x10
CALL 0x0001dce0
ADD ESP,0x10
JMP 0x0001ddc0
SUB ESP,0xc
PUSH 0x15
CALL 0x00024e20
MOV EAX,ESI
XOR EDX,EDX
CALL 0x0001dd20
MOV EAX,EDI
MOV EDX,EBP
CALL 0x0001dce0
ADD ESP,0x10
JMP 0x0001ddc0
SUB ESP,0xc
PUSH 0x12
CALL 0x00024e20
MOV EAX,dword ptr [EBP + 0x8]
XOR EDX,EDX
CALL 0x0001dd20
LEA EAX,[EBX + 0x9b04]
MOV EAX,dword ptr [EAX]
CDQ
PUSH EDX
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x00059a10
ADD ESP,0x10
CALL 0x0001dce0
ADD ESP,0x10
JMP 0x0001ddc0
SUB ESP,0xc
PUSH 0x5
JMP 0x0001df15
CMP ESI,0x4
JNZ 0x0001e374
MOV ESI,0x8
MOV EAX,0x8
XOR EDX,EDX
JMP 0x0001e107
TEST ESI,ESI
JNZ 0x0001e374
CALL 0x00054100
MOV ESI,EAX
CDQ
JMP 0x0001e107
SUB ESP,0xc
PUSH EBP
CALL 0x0003a3c0
MOV dword ptr [ESP],ESI
MOV EDI,EAX
MOV EBP,EDX
CALL 0x0003a3c0
SUB EDI,EAX
SBB EBP,EDX
MOV ESI,EDI
XOR EAX,EAX
MOV EDX,0x3f
ADD ESP,0x10
MOV ECX,EAX
CMP EDX,ESI
MOV EDI,EBP
SBB ECX,EBP
JNC 0x0001e324
MOV EDX,0xff
MOV ECX,EAX
CMP EDX,ESI
SBB ECX,EBP
JNC 0x0001e35a
MOV EDX,0xffff
CMP EDX,ESI
SBB EAX,EBP
JC 0x0001e338
SUB ESP,0xc
PUSH 0x3
CALL 0x00024e20
MOV dword ptr [ESP],0x2
CALL 0x00024b20
PUSH 0x2
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x000416b0
ADD ESP,0x20
JMP 0x0001ddc0
SUB ESP,0xc
PUSH 0x11
JMP 0x0001e1a5
ADD EAX,0x2
ADC EDX,0x0
CALL 0x0001dd20
SUB ESP,0xc
PUSH 0xf1
CALL 0x00024e20
MOV dword ptr [ESP],EDI
AND EDI,0x70
CALL 0x00024e20
ADD ESP,0x10
CMP EDI,0x10
JNZ 0x0001e12a
MOV byte ptr [EBP + 0x20],0x14
CALL 0x00038f70
MOV dword ptr [EBP + 0x14],EAX
JMP 0x0001e12a
MOV EAX,0x2
XOR EDX,EDX
JMP 0x0001e107
SUB ESP,0xc
LEA EDI,[ESI + 0x40]
PUSH EDI
CALL 0x00024e20
ADD ESP,0x10
JMP 0x0001ddc0
SUB ESP,0xc
MOV EDI,ESI
PUSH 0x4
SAR EDI,0x1f
CALL 0x00024e20
MOV dword ptr [ESP],0x4
CALL 0x00024b20
PUSH 0x4
JMP 0x0001e2b3
SUB ESP,0xc
PUSH 0x2
CALL 0x00024e20
MOV dword ptr [ESP],ESI
CALL 0x00024e20
ADD ESP,0x10
JMP 0x0001ddc0
LEA EAX,[EBX + 0xfffdd9dc]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffdd80f]
PUSH 0x6f4
PUSH EAX
CALL 0x0002be80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_0001dd60(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}\n\n" comment (function_definition "void __regparm3 FUN_0001dd60(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0001dd60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "longlong lVar9;" type_identifier identifier ;) (declaration "longlong lVar10;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined1 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1dd6b;" (assignment_expression "uStack_14 = 0x1dd6b" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(param_1 + 4);" (assignment_expression "iVar2 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }" if (parenthesized_expression "(iVar2 == 0xe)" ( (binary_expression "iVar2 == 0xe" identifier == number_literal) )) (compound_statement "{\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }" { (expression_statement "uVar7 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar2 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }" { (expression_statement "FUN_00024e20(0xe);" (call_expression "FUN_00024e20(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(0x13);" (call_expression "FUN_00024e20(0x13)" identifier (argument_list "(0x13)" ( number_literal ))) ;) (expression_statement "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" identifier (argument_list "(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 < 0xf)" ( (binary_expression "iVar2 < 0xf" identifier < number_literal) )) (compound_statement "{\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }" { (if_statement "if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" if (parenthesized_expression "(iVar2 < 0xc)" ( (binary_expression "iVar2 < 0xc" identifier < number_literal) )) (compound_statement "{\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }" { (if_statement "if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }" if (parenthesized_expression "(9 < iVar2)" ( (binary_expression "9 < iVar2" number_literal < identifier) )) (compound_statement "{\n        FUN_00024e20(iVar2);\n        return;\n      }" { (expression_statement "FUN_00024e20(iVar2);" (call_expression "FUN_00024e20(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }" if (parenthesized_expression "(6 < iVar2)" ( (binary_expression "6 < iVar2" number_literal < identifier) )) (compound_statement "{\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }" { (if_statement "if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" if (parenthesized_expression "(8 < iVar2)" ( (binary_expression "8 < iVar2" number_literal < identifier) )) (compound_statement "{\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" { (expression_statement "FUN_00024e20(9);" (call_expression "FUN_00024e20(9)" identifier (argument_list "(9)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0001dec9:\n        FUN_00024e20(iVar2);" statement_identifier : (expression_statement "FUN_00024e20(iVar2);" (call_expression "FUN_00024e20(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;)) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" else (compound_statement "{\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" { (if_statement "if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0xc)" ( (binary_expression "iVar2 == 0xc" identifier == number_literal) )) (compound_statement "{\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }" { (expression_statement "iVar2 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" { (expression_statement "FUN_00024e20(0xc);" (call_expression "FUN_00024e20(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(0x12);" (call_expression "FUN_00024e20(0x12)" identifier (argument_list "(0x12)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" identifier (argument_list "(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0xd) goto LAB_0001dec9;" if (parenthesized_expression "(iVar2 == 0xd)" ( (binary_expression "iVar2 == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_0001dec9;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" { (if_statement "if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0x80)" ( (binary_expression "iVar2 == 0x80" identifier == number_literal) )) (compound_statement "{\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }" { (expression_statement "uVar8 = *(uint *)(param_1 + 8);" (assignment_expression "uVar8 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f)" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f)" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (if_statement "if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }" if (parenthesized_expression "(extraout_EDX_00 < 0)" ( (binary_expression "extraout_EDX_00 < 0" identifier < number_literal) )) (compound_statement "{\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }" { (expression_statement "uVar7 = 0x11;" (assignment_expression "uVar7 = 0x11" identifier = number_literal) ;) (labeled_statement "LAB_0001e1a5:\n        FUN_00024e20(uVar7);" statement_identifier : (expression_statement "FUN_00024e20(uVar7);" (call_expression "FUN_00024e20(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;)) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }" if (parenthesized_expression "(uVar8 < 0x40)" ( (binary_expression "uVar8 < 0x40" identifier < number_literal) )) (compound_statement "{\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }" { (expression_statement "FUN_00024e20(uVar8 + 0x80);" (call_expression "FUN_00024e20(uVar8 + 0x80)" identifier (argument_list "(uVar8 + 0x80)" ( (binary_expression "uVar8 + 0x80" identifier + number_literal) ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar7 = 5;" (assignment_expression "uVar7 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0001df15:\n      FUN_00024e20(uVar7);" statement_identifier : (expression_statement "FUN_00024e20(uVar7);" (call_expression "FUN_00024e20(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;)) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 < 0x81)" ( (binary_expression "iVar2 < 0x81" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }" { (if_statement "if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0x2d)" ( (binary_expression "iVar2 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        FUN_00024e20(0x2d);\n        return;\n      }" { (expression_statement "FUN_00024e20(0x2d);" (call_expression "FUN_00024e20(0x2d)" identifier (argument_list "(0x2d)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0x40)" ( (binary_expression "iVar2 == 0x40" identifier == number_literal) )) (compound_statement "{\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }" { (expression_statement "uVar7 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar5 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = FUN_0003b830(uVar5);" (assignment_expression "iVar2 = FUN_0003b830(uVar5)" identifier = (call_expression "FUN_0003b830(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "iVar3 = FUN_0003b830(uVar7);" (assignment_expression "iVar3 = FUN_0003b830(uVar7)" identifier = (call_expression "FUN_0003b830(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }" if (parenthesized_expression "(iVar2 != iVar3)" ( (binary_expression "iVar2 != iVar3" identifier != identifier) )) (compound_statement "{\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }" { (expression_statement "local_20 = 0x14;" (assignment_expression "local_20 = 0x14" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_30 = uVar5;" (assignment_expression "local_30 = uVar5" identifier = identifier) ;) (expression_statement "local_2c = uVar7;" (assignment_expression "local_2c = uVar7" identifier = identifier) ;) (expression_statement "puVar4 = (undefined1 *)FUN_00024b20(1);" (assignment_expression "puVar4 = (undefined1 *)FUN_00024b20(1)" identifier = (cast_expression "(undefined1 *)FUN_00024b20(1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(1)" identifier (argument_list "(1)" ( number_literal ))))) ;) (expression_statement "*puVar4 = 4;" (assignment_expression "*puVar4 = 4" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "uVar7 = DAT_000898a0;" (assignment_expression "uVar7 = DAT_000898a0" identifier = identifier) ;) (expression_statement "lVar9 = FUN_00024dc0();" (assignment_expression "lVar9 = FUN_00024dc0()" identifier = (call_expression "FUN_00024dc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = FUN_00021220(&local_30);" (assignment_expression "uVar5 = FUN_00021220(&local_30)" identifier = (call_expression "FUN_00021220(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);" (call_expression "FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7)" identifier (argument_list "(0xc,4,0,8,uVar5,lVar9 + -1,uVar7)" ( number_literal , number_literal , number_literal , number_literal , identifier , (binary_expression "lVar9 + -1" identifier + number_literal) , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "lVar9 = FUN_0003a3c0(uVar5);" (assignment_expression "lVar9 = FUN_0003a3c0(uVar5)" identifier = (call_expression "FUN_0003a3c0(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "lVar10 = FUN_0003a3c0(uVar7);" (assignment_expression "lVar10 = FUN_0003a3c0(uVar7)" identifier = (call_expression "FUN_0003a3c0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "uVar8 = (uint)(lVar9 - lVar10);" (assignment_expression "uVar8 = (uint)(lVar9 - lVar10)" identifier = (call_expression "(uint)(lVar9 - lVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar9 - lVar10)" ( (binary_expression "lVar9 - lVar10" identifier - identifier) )))) ;) (expression_statement "iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);" (assignment_expression "iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(lVar9 - lVar10) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar9 - lVar10) >> 0x20)" ( (binary_expression "(ulonglong)(lVar9 - lVar10) >> 0x20" (call_expression "(ulonglong)(lVar9 - lVar10)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar9 - lVar10)" ( (binary_expression "lVar9 - lVar10" identifier - identifier) ))) >> number_literal) )))) ;) (if_statement "if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }" if (parenthesized_expression "(iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8))" ( (binary_expression "iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)" (binary_expression "iVar2 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar2 < (uint)(0x3f < uVar8)" (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3f < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3f < uVar8)" ( (binary_expression "0x3f < uVar8" number_literal < identifier) ))))) )) (compound_statement "{\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }" { (if_statement "if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }" if (parenthesized_expression "(iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8))" ( (binary_expression "iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)" (binary_expression "iVar2 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar2 < (uint)(0xff < uVar8)" (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0xff < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < uVar8)" ( (binary_expression "0xff < uVar8" number_literal < identifier) ))))) )) (compound_statement "{\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }" { (if_statement "if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" if (parenthesized_expression "(iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2)" ( (binary_expression "iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2" (binary_expression "iVar2 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffff < uVar8) <= (uint)-iVar2" (call_expression "(uint)(0xffff < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar8)" ( (binary_expression "0xffff < uVar8" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }" { (expression_statement "FUN_00024e20(3);" (call_expression "FUN_00024e20(3)" identifier (argument_list "(3)" ( number_literal ))) ;) (expression_statement "uVar7 = FUN_00024b20(2);" (assignment_expression "uVar7 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "uVar5 = 2;" (assignment_expression "uVar5 = 2" identifier = number_literal) ;) }) (else_clause "else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" else (compound_statement "{\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" { (expression_statement "iVar2 = (int)uVar8 >> 0x1f;" (assignment_expression "iVar2 = (int)uVar8 >> 0x1f" identifier = (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "uVar7 = FUN_00024b20(4);" (assignment_expression "uVar7 = FUN_00024b20(4)" identifier = (call_expression "FUN_00024b20(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (expression_statement "uVar5 = 4;" (assignment_expression "uVar5 = 4" identifier = number_literal) ;) }))) (expression_statement "FUN_000416b0(uVar7,uVar8,iVar2,uVar5);" (call_expression "FUN_000416b0(uVar7,uVar8,iVar2,uVar5)" identifier (argument_list "(uVar7,uVar8,iVar2,uVar5)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(2);" (call_expression "FUN_00024e20(2)" identifier (argument_list "(2)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(uVar8);" (call_expression "FUN_00024e20(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(uVar8 + 0x40);" (call_expression "FUN_00024e20(uVar8 + 0x40)" identifier (argument_list "(uVar8 + 0x40)" ( (binary_expression "uVar8 + 0x40" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }" if (parenthesized_expression "(iVar2 == 0x14)" ( (binary_expression "iVar2 == 0x14" identifier == number_literal) )) (compound_statement "{\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }" { (expression_statement "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f)" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f)" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (if_statement "if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }" if (parenthesized_expression "(extraout_EDX < 0)" ( (binary_expression "extraout_EDX < 0" identifier < number_literal) )) (compound_statement "{\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }" { (expression_statement "uVar7 = 0x15;" (assignment_expression "uVar7 = 0x15" identifier = number_literal) ;) (goto_statement "goto LAB_0001e1a5;" goto statement_identifier ;) })) (expression_statement "uVar7 = 0x14;" (assignment_expression "uVar7 = 0x14" identifier = number_literal) ;) (goto_statement "goto LAB_0001df15;" goto statement_identifier ;) })) }) (else_clause "else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" else (compound_statement "{\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" { (if_statement "if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0x103)" ( (binary_expression "iVar2 == 0x103" identifier == number_literal) )) (compound_statement "{\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }" { (for_statement "for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }" for ( (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 8)" * (cast_expression "(undefined4 **)(param_1 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ; (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar1 = (undefined4 *)*puVar1" identifier = (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier))) ) (compound_statement "{\n          FUN_00031660(puVar1 + 1,1);\n        }" { (expression_statement "FUN_00031660(puVar1 + 1,1);" (call_expression "FUN_00031660(puVar1 + 1,1)" identifier (argument_list "(puVar1 + 1,1)" ( (binary_expression "puVar1 + 1" identifier + number_literal) , number_literal ))) ;) })) (return_statement "return;" return ;) })) (if_statement "if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" if (parenthesized_expression "(iVar2 < 0x104)" ( (binary_expression "iVar2 < 0x104" identifier < number_literal) )) (compound_statement "{\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }" { (if_statement "if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }" if (parenthesized_expression "(iVar2 == 0xc0)" ( (binary_expression "iVar2 == 0xc0" identifier == number_literal) )) (compound_statement "{\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }" { (if_statement "if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }" if (parenthesized_expression "(*(uint *)(param_1 + 8) < 0x40)" ( (binary_expression "*(uint *)(param_1 + 8) < 0x40" (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }" { (expression_statement "FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);" (call_expression "FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0)" identifier (argument_list "(*(uint *)(param_1 + 8) + 0xc0)" ( (binary_expression "*(uint *)(param_1 + 8) + 0xc0" (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(6);" (call_expression "FUN_00024e20(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" else (compound_statement "{\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" { (if_statement "if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }" if (parenthesized_expression "(iVar2 == 0x105)" ( (binary_expression "iVar2 == 0x105" identifier == number_literal) )) (compound_statement "{\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }" { (expression_statement "uVar8 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 == 0xff) {\n            return;\n          }" if (parenthesized_expression "(uVar8 == 0xff)" ( (binary_expression "uVar8 == 0xff" identifier == number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "uVar6 = uVar8 & 7;" (assignment_expression "uVar6 = uVar8 & 7" identifier = (binary_expression "uVar8 & 7" identifier & number_literal)) ;) (expression_statement "FUN_00024e20(0x16);" (call_expression "FUN_00024e20(0x16)" identifier (argument_list "(0x16)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (if_statement "if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" if (parenthesized_expression "(uVar6 == 2)" ( (binary_expression "uVar6 == 2" identifier == number_literal) )) (compound_statement "{\n            uVar7 = 2;\n          }" { (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) }) (else_clause "else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" else (if_statement "if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" if (parenthesized_expression "(uVar6 < 3)" ( (binary_expression "uVar6 < 3" identifier < number_literal) )) (compound_statement "{\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }" { (if_statement "if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }" { (labeled_statement "LAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);" statement_identifier : comment (expression_statement "FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);" (call_expression "FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6)" identifier (argument_list "("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6)" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""output_cfi_insn"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar7 = FUN_00054100();" (assignment_expression "uVar7 = FUN_00054100()" identifier = (call_expression "FUN_00054100()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" else (if_statement "if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" if (parenthesized_expression "(uVar6 == 3)" ( (binary_expression "uVar6 == 3" identifier == number_literal) )) (compound_statement "{\n            uVar7 = 4;\n          }" { (expression_statement "uVar7 = 4;" (assignment_expression "uVar7 = 4" identifier = number_literal) ;) }) (else_clause "else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" else (compound_statement "{\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" { (if_statement "if (uVar6 != 4) goto LAB_0001e374;" if (parenthesized_expression "(uVar6 != 4)" ( (binary_expression "uVar6 != 4" identifier != number_literal) )) (goto_statement "goto LAB_0001e374;" goto statement_identifier ;)) (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) }))))))) (if_statement "if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" if (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }" { (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(3);" (call_expression "FUN_00024e20(3)" identifier (argument_list "(3)" ( number_literal ))) ;) }) (else_clause "else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" else (compound_statement "{\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" { (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(0xf1);" (call_expression "FUN_00024e20(0xf1)" identifier (argument_list "(0xf1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(uVar8);" (call_expression "FUN_00024e20(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (if_statement "if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }" if (parenthesized_expression "((uVar8 & 0x70) == 0x10)" ( (binary_expression "(uVar8 & 0x70) == 0x10" (parenthesized_expression "(uVar8 & 0x70)" ( (binary_expression "uVar8 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }" { (expression_statement "*(undefined1 *)(param_1 + 0x20) = 0x14;" (assignment_expression "*(undefined1 *)(param_1 + 0x20) = 0x14" (pointer_expression "*(undefined1 *)(param_1 + 0x20)" * (cast_expression "(undefined1 *)(param_1 + 0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = FUN_00038f70();" (assignment_expression "uVar5 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar5;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar5" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) })) }))) (expression_statement "FUN_00031660(param_1 + 0x10,uVar7);" (call_expression "FUN_00031660(param_1 + 0x10,uVar7)" identifier (argument_list "(param_1 + 0x10,uVar7)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }" if (parenthesized_expression "(iVar2 == 0x106)" ( (binary_expression "iVar2 == 0x106" identifier == number_literal) )) (compound_statement "{\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }" { (expression_statement "FUN_0003aaa0(*(undefined4 *)(param_1 + 8));" (call_expression "FUN_0003aaa0(*(undefined4 *)(param_1 + 8))" identifier (argument_list "(*(undefined4 *)(param_1 + 8))" ( (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;) })) }))) }))) }))) comment (expression_statement "FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);" (call_expression "FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2)" identifier (argument_list "("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2)" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""output_cfi_insn"" " string_content ") , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 output_cfi_insn(cfi_insn_data *insn)\n\n{\n  cfi_escape_data *pcVar1;\n  symbolS *s;\n  fragS *pfVar2;\n  fragS *pfVar3;\n  char *pcVar4;\n  symbolS *psVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  uint uVar7;\n  addressT aVar8;\n  valueT vVar9;\n  valueT vVar10;\n  int n;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 in_stack_ffffffa8;\n  addressT in_stack_ffffffb4;\n  expressionS exp;\n  \n  iVar11 = insn->insn;\n  if (iVar11 == 0xe) {\n    uVar7 = (insn->u).ri.reg;\n    uVar6 = (insn->u).rr.reg2;\n    if (-1 < (int)uVar6) {\n      uVar12 = 0xe;\n      frag_append_1_char(0xe);\n      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n      return;\n    }\n    uVar12 = 0x13;\n    frag_append_1_char(0x13);\n    __divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n    out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n    return;\n  }\n  if (iVar11 < 0xf) {\n    if (iVar11 < 0xc) {\n      if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }\n      if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }\n    }\n    else {\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar11 == 0x80) {\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }\n    if (iVar11 < 0x81) {\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn");\n}\n\n" comment (function_definition "void __regparm3 output_cfi_insn(cfi_insn_data *insn)\n\n{\n  cfi_escape_data *pcVar1;\n  symbolS *s;\n  fragS *pfVar2;\n  fragS *pfVar3;\n  char *pcVar4;\n  symbolS *psVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  uint uVar7;\n  addressT aVar8;\n  valueT vVar9;\n  valueT vVar10;\n  int n;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 in_stack_ffffffa8;\n  addressT in_stack_ffffffb4;\n  expressionS exp;\n  \n  iVar11 = insn->insn;\n  if (iVar11 == 0xe) {\n    uVar7 = (insn->u).ri.reg;\n    uVar6 = (insn->u).rr.reg2;\n    if (-1 < (int)uVar6) {\n      uVar12 = 0xe;\n      frag_append_1_char(0xe);\n      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n      return;\n    }\n    uVar12 = 0x13;\n    frag_append_1_char(0x13);\n    __divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n    out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n    return;\n  }\n  if (iVar11 < 0xf) {\n    if (iVar11 < 0xc) {\n      if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }\n      if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }\n    }\n    else {\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar11 == 0x80) {\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }\n    if (iVar11 < 0x81) {\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn");\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "output_cfi_insn(cfi_insn_data *insn)" identifier (parameter_list "(cfi_insn_data *insn)" ( (parameter_declaration "cfi_insn_data *insn" type_identifier (pointer_declarator "*insn" * identifier)) ))) (compound_statement "{\n  cfi_escape_data *pcVar1;\n  symbolS *s;\n  fragS *pfVar2;\n  fragS *pfVar3;\n  char *pcVar4;\n  symbolS *psVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  uint uVar7;\n  addressT aVar8;\n  valueT vVar9;\n  valueT vVar10;\n  int n;\n  int iVar11;\n  undefined4 uVar12;\n  undefined4 in_stack_ffffffa8;\n  addressT in_stack_ffffffb4;\n  expressionS exp;\n  \n  iVar11 = insn->insn;\n  if (iVar11 == 0xe) {\n    uVar7 = (insn->u).ri.reg;\n    uVar6 = (insn->u).rr.reg2;\n    if (-1 < (int)uVar6) {\n      uVar12 = 0xe;\n      frag_append_1_char(0xe);\n      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n      return;\n    }\n    uVar12 = 0x13;\n    frag_append_1_char(0x13);\n    __divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n    out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n    return;\n  }\n  if (iVar11 < 0xf) {\n    if (iVar11 < 0xc) {\n      if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }\n      if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }\n    }\n    else {\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar11 == 0x80) {\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }\n    if (iVar11 < 0x81) {\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn");\n}" { (declaration "cfi_escape_data *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "symbolS *s;" type_identifier (pointer_declarator "*s" * identifier) ;) (declaration "fragS *pfVar2;" type_identifier (pointer_declarator "*pfVar2" * identifier) ;) (declaration "fragS *pfVar3;" type_identifier (pointer_declarator "*pfVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "symbolS *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "addressT aVar8;" type_identifier identifier ;) (declaration "valueT vVar9;" type_identifier identifier ;) (declaration "valueT vVar10;" type_identifier identifier ;) (declaration "int n;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffffa8;" type_identifier identifier ;) (declaration "addressT in_stack_ffffffb4;" type_identifier identifier ;) (declaration "expressionS exp;" type_identifier identifier ;) (expression_statement "iVar11 = insn->insn;" (assignment_expression "iVar11 = insn->insn" identifier = (field_expression "insn->insn" identifier -> field_identifier)) ;) (if_statement "if (iVar11 == 0xe) {\n    uVar7 = (insn->u).ri.reg;\n    uVar6 = (insn->u).rr.reg2;\n    if (-1 < (int)uVar6) {\n      uVar12 = 0xe;\n      frag_append_1_char(0xe);\n      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n      return;\n    }\n    uVar12 = 0x13;\n    frag_append_1_char(0x13);\n    __divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n    out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n    return;\n  }" if (parenthesized_expression "(iVar11 == 0xe)" ( (binary_expression "iVar11 == 0xe" identifier == number_literal) )) (compound_statement "{\n    uVar7 = (insn->u).ri.reg;\n    uVar6 = (insn->u).rr.reg2;\n    if (-1 < (int)uVar6) {\n      uVar12 = 0xe;\n      frag_append_1_char(0xe);\n      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n      return;\n    }\n    uVar12 = 0x13;\n    frag_append_1_char(0x13);\n    __divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n    out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n    return;\n  }" { (expression_statement "uVar7 = (insn->u).ri.reg;" (assignment_expression "uVar7 = (insn->u).ri.reg" identifier = (field_expression "(insn->u).ri.reg" (field_expression "(insn->u).ri" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar6 = (insn->u).rr.reg2;" (assignment_expression "uVar6 = (insn->u).rr.reg2" identifier = (field_expression "(insn->u).rr.reg2" (field_expression "(insn->u).rr" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (-1 < (int)uVar6) {\n      uVar12 = 0xe;\n      frag_append_1_char(0xe);\n      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n      return;\n    }" if (parenthesized_expression "(-1 < (int)uVar6)" ( (binary_expression "-1 < (int)uVar6" number_literal < (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar12 = 0xe;\n      frag_append_1_char(0xe);\n      out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n      return;\n    }" { (expression_statement "uVar12 = 0xe;" (assignment_expression "uVar12 = 0xe" identifier = number_literal) ;) (expression_statement "frag_append_1_char(0xe);" (call_expression "frag_append_1_char(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar12 = 0x13;" (assignment_expression "uVar12 = 0x13" identifier = number_literal) ;) (expression_statement "frag_append_1_char(0x13);" (call_expression "frag_append_1_char(0x13)" identifier (argument_list "(0x13)" ( number_literal ))) ;) (expression_statement "__divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);" (call_expression "__divdi3(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" identifier (argument_list "(uVar7,uVar6,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "x86_cie_data_alignment >> 0x1f" identifier >> number_literal) ))) ;) (expression_statement "out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar11 < 0xf) {\n    if (iVar11 < 0xc) {\n      if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }\n      if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }\n    }\n    else {\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar11 == 0x80) {\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }\n    if (iVar11 < 0x81) {\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(iVar11 < 0xf)" ( (binary_expression "iVar11 < 0xf" identifier < number_literal) )) (compound_statement "{\n    if (iVar11 < 0xc) {\n      if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }\n      if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }\n    }\n    else {\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }\n  }" { (if_statement "if (iVar11 < 0xc) {\n      if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }\n      if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }\n    }\n    else {\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }" if (parenthesized_expression "(iVar11 < 0xc)" ( (binary_expression "iVar11 < 0xc" identifier < number_literal) )) (compound_statement "{\n      if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }\n      if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }\n    }" { (if_statement "if (9 < iVar11) {\n        frag_append_1_char(iVar11);\n        return;\n      }" if (parenthesized_expression "(9 < iVar11)" ( (binary_expression "9 < iVar11" number_literal < identifier) )) (compound_statement "{\n        frag_append_1_char(iVar11);\n        return;\n      }" { (expression_statement "frag_append_1_char(iVar11);" (call_expression "frag_append_1_char(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (6 < iVar11) {\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }" if (parenthesized_expression "(6 < iVar11)" ( (binary_expression "6 < iVar11" number_literal < identifier) )) (compound_statement "{\n        if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\nLAB_0001dec9:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));\n        return;\n      }" { (if_statement "if (8 < iVar11) {\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }" if (parenthesized_expression "(8 < iVar11)" ( (binary_expression "8 < iVar11" number_literal < identifier) )) (compound_statement "{\n          uVar12 = 9;\n          frag_append_1_char(9);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }" { (expression_statement "uVar12 = 9;" (assignment_expression "uVar12 = 9" identifier = number_literal) ;) (expression_statement "frag_append_1_char(9);" (call_expression "frag_append_1_char(9)" identifier (argument_list "(9)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0001dec9:\n        frag_append_1_char(iVar11);" statement_identifier : (expression_statement "frag_append_1_char(iVar11);" (call_expression "frag_append_1_char(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;)) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,iVar11))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,iVar11))" ( (call_expression "CONCAT44(in_stack_ffffffa8,iVar11)" identifier (argument_list "(in_stack_ffffffa8,iVar11)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }" else (compound_statement "{\n      if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }\n      if (iVar11 == 0xd) goto LAB_0001dec9;\n    }" { (if_statement "if (iVar11 == 0xc) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }" if (parenthesized_expression "(iVar11 == 0xc)" ( (binary_expression "iVar11 == 0xc" identifier == number_literal) )) (compound_statement "{\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        uVar7 = (insn->u).rr.reg2;\n        if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n        uVar12 = 0x12;\n        frag_append_1_char(0x12);\n        out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        __divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n        return;\n      }" { (expression_statement "psVar5 = (insn->u).ea.exp.X_add_symbol;" (assignment_expression "psVar5 = (insn->u).ea.exp.X_add_symbol" identifier = (field_expression "(insn->u).ea.exp.X_add_symbol" (field_expression "(insn->u).ea.exp" (field_expression "(insn->u).ea" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar7 = (insn->u).rr.reg2;" (assignment_expression "uVar7 = (insn->u).rr.reg2" identifier = (field_expression "(insn->u).rr.reg2" (field_expression "(insn->u).rr" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (-1 < (int)psVar5) {\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }" if (parenthesized_expression "(-1 < (int)psVar5)" ( (binary_expression "-1 < (int)psVar5" number_literal < (cast_expression "(int)psVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar12 = 0xc;\n          frag_append_1_char(0xc);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }" { (expression_statement "uVar12 = 0xc;" (assignment_expression "uVar12 = 0xc" identifier = number_literal) ;) (expression_statement "frag_append_1_char(0xc);" (call_expression "frag_append_1_char(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar12 = 0x12;" (assignment_expression "uVar12 = 0x12" identifier = number_literal) ;) (expression_statement "frag_append_1_char(0x12);" (call_expression "frag_append_1_char(0x12)" identifier (argument_list "(0x12)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (expression_statement "__divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);" (call_expression "__divdi3(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" identifier (argument_list "(uVar7,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "x86_cie_data_alignment >> 0x1f" identifier >> number_literal) ))) ;) (expression_statement "out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_sleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar11 == 0xd) goto LAB_0001dec9;" if (parenthesized_expression "(iVar11 == 0xd)" ( (binary_expression "iVar11 == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_0001dec9;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    if (iVar11 == 0x80) {\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }\n    if (iVar11 < 0x81) {\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    if (iVar11 == 0x80) {\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }\n    if (iVar11 < 0x81) {\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }\n  }" { (if_statement "if (iVar11 == 0x80) {\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }" if (parenthesized_expression "(iVar11 == 0x80)" ( (binary_expression "iVar11 == 0x80" identifier == number_literal) )) (compound_statement "{\n      uVar7 = (insn->u).ri.reg;\n      psVar5 = (insn->u).ea.exp.X_add_symbol;\n      __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }\n      iVar11 = 5;\nLAB_0001df15:\n      frag_append_1_char(iVar11);\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      out_uleb128(CONCAT44(psVar5,iVar11));\n      return;\n    }" { (expression_statement "uVar7 = (insn->u).ri.reg;" (assignment_expression "uVar7 = (insn->u).ri.reg" identifier = (field_expression "(insn->u).ri.reg" (field_expression "(insn->u).ri" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "psVar5 = (insn->u).ea.exp.X_add_symbol;" (assignment_expression "psVar5 = (insn->u).ea.exp.X_add_symbol" identifier = (field_expression "(insn->u).ea.exp.X_add_symbol" (field_expression "(insn->u).ea.exp" (field_expression "(insn->u).ea" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "__divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);" (call_expression "__divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" identifier (argument_list "((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" ( (field_expression "(insn->u).rr.reg2" (field_expression "(insn->u).rr" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier , identifier , (binary_expression "x86_cie_data_alignment >> 0x1f" identifier >> number_literal) ))) ;) (if_statement "if (extraout_EDX_00 < 0) {\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }" if (parenthesized_expression "(extraout_EDX_00 < 0)" ( (binary_expression "extraout_EDX_00 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar11 = 0x11;\nLAB_0001e1a5:\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        out_sleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }" { (expression_statement "iVar11 = 0x11;" (assignment_expression "iVar11 = 0x11" identifier = number_literal) ;) (labeled_statement "LAB_0001e1a5:\n        frag_append_1_char(iVar11);" statement_identifier : (expression_statement "frag_append_1_char(iVar11);" (call_expression "frag_append_1_char(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;)) (expression_statement "out_uleb128(CONCAT44(psVar5,iVar11));" (call_expression "out_uleb128(CONCAT44(psVar5,iVar11))" identifier (argument_list "(CONCAT44(psVar5,iVar11))" ( (call_expression "CONCAT44(psVar5,iVar11)" identifier (argument_list "(psVar5,iVar11)" ( identifier , identifier ))) ))) ;) (expression_statement "out_sleb128(CONCAT44(psVar5,iVar11));" (call_expression "out_sleb128(CONCAT44(psVar5,iVar11))" identifier (argument_list "(CONCAT44(psVar5,iVar11))" ( (call_expression "CONCAT44(psVar5,iVar11)" identifier (argument_list "(psVar5,iVar11)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar7 < 0x40) {\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }" if (parenthesized_expression "(uVar7 < 0x40)" ( (binary_expression "uVar7 < 0x40" identifier < number_literal) )) (compound_statement "{\n        iVar11 = uVar7 + 0x80;\n        frag_append_1_char(iVar11);\n        out_uleb128(CONCAT44(psVar5,iVar11));\n        return;\n      }" { (expression_statement "iVar11 = uVar7 + 0x80;" (assignment_expression "iVar11 = uVar7 + 0x80" identifier = (binary_expression "uVar7 + 0x80" identifier + number_literal)) ;) (expression_statement "frag_append_1_char(iVar11);" (call_expression "frag_append_1_char(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;) (expression_statement "out_uleb128(CONCAT44(psVar5,iVar11));" (call_expression "out_uleb128(CONCAT44(psVar5,iVar11))" identifier (argument_list "(CONCAT44(psVar5,iVar11))" ( (call_expression "CONCAT44(psVar5,iVar11)" identifier (argument_list "(psVar5,iVar11)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar11 = 5;" (assignment_expression "iVar11 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0001df15:\n      frag_append_1_char(iVar11);" statement_identifier : (expression_statement "frag_append_1_char(iVar11);" (call_expression "frag_append_1_char(iVar11)" identifier (argument_list "(iVar11)" ( identifier ))) ;)) (expression_statement "out_uleb128(CONCAT44(psVar5,iVar11));" (call_expression "out_uleb128(CONCAT44(psVar5,iVar11))" identifier (argument_list "(CONCAT44(psVar5,iVar11))" ( (call_expression "CONCAT44(psVar5,iVar11)" identifier (argument_list "(psVar5,iVar11)" ( identifier , identifier ))) ))) ;) (expression_statement "out_uleb128(CONCAT44(psVar5,iVar11));" (call_expression "out_uleb128(CONCAT44(psVar5,iVar11))" identifier (argument_list "(CONCAT44(psVar5,iVar11))" ( (call_expression "CONCAT44(psVar5,iVar11)" identifier (argument_list "(psVar5,iVar11)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar11 < 0x81) {\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }" if (parenthesized_expression "(iVar11 < 0x81)" ( (binary_expression "iVar11 < 0x81" identifier < number_literal) )) (compound_statement "{\n      if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }\n      if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }\n      if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }\n    }" { (if_statement "if (iVar11 == 0x2d) {\n        frag_append_1_char(0x2d);\n        return;\n      }" if (parenthesized_expression "(iVar11 == 0x2d)" ( (binary_expression "iVar11 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        frag_append_1_char(0x2d);\n        return;\n      }" { (expression_statement "frag_append_1_char(0x2d);" (call_expression "frag_append_1_char(0x2d)" identifier (argument_list "(0x2d)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar11 == 0x40) {\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }" if (parenthesized_expression "(iVar11 == 0x40)" ( (binary_expression "iVar11 == 0x40" identifier == number_literal) )) (compound_statement "{\n        psVar5 = (insn->u).ll.lab1;\n        s = (insn->u).ll.lab2;\n        pfVar2 = symbol_get_frag(s);\n        pfVar3 = symbol_get_frag(psVar5);\n        if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }\n        vVar9 = S_GET_VALUE(s);\n        vVar10 = S_GET_VALUE(psVar5);\n        uVar7 = (uint)(vVar9 - vVar10);\n        iVar11 = (int)(vVar9 - vVar10 >> 0x20);\n        if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }\n        frag_append_1_char(uVar7 + 0x40);\n        return;\n      }" { (expression_statement "psVar5 = (insn->u).ll.lab1;" (assignment_expression "psVar5 = (insn->u).ll.lab1" identifier = (field_expression "(insn->u).ll.lab1" (field_expression "(insn->u).ll" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "s = (insn->u).ll.lab2;" (assignment_expression "s = (insn->u).ll.lab2" identifier = (field_expression "(insn->u).ll.lab2" (field_expression "(insn->u).ll" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "pfVar2 = symbol_get_frag(s);" (assignment_expression "pfVar2 = symbol_get_frag(s)" identifier = (call_expression "symbol_get_frag(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "pfVar3 = symbol_get_frag(psVar5);" (assignment_expression "pfVar3 = symbol_get_frag(psVar5)" identifier = (call_expression "symbol_get_frag(psVar5)" identifier (argument_list "(psVar5)" ( identifier )))) ;) (if_statement "if (pfVar2 != pfVar3) {\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }" if (parenthesized_expression "(pfVar2 != pfVar3)" ( (binary_expression "pfVar2 != pfVar3" identifier != identifier) )) (compound_statement "{\n          exp._16_1_ = 0x14;\n          exp.X_add_number._0_4_ = 0;\n          exp.X_add_number._4_4_ = 0;\n          exp.X_add_symbol = s;\n          exp.X_op_symbol = psVar5;\n          pcVar4 = frag_more(1);\n          *pcVar4 = '\x04';\n          pfVar2 = frag_now;\n          aVar8 = frag_now_fix();\n          psVar5 = make_expr_symbol(&exp);\n          frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);\n          return;\n        }" { (expression_statement "exp._16_1_ = 0x14;" (assignment_expression "exp._16_1_ = 0x14" (field_expression "exp._16_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._0_4_ = 0;" (assignment_expression "exp.X_add_number._0_4_ = 0" (field_expression "exp.X_add_number._0_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_number._4_4_ = 0;" (assignment_expression "exp.X_add_number._4_4_ = 0" (field_expression "exp.X_add_number._4_4_" (field_expression "exp.X_add_number" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "exp.X_add_symbol = s;" (assignment_expression "exp.X_add_symbol = s" (field_expression "exp.X_add_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "exp.X_op_symbol = psVar5;" (assignment_expression "exp.X_op_symbol = psVar5" (field_expression "exp.X_op_symbol" identifier . field_identifier) = identifier) ;) (expression_statement "pcVar4 = frag_more(1);" (assignment_expression "pcVar4 = frag_more(1)" identifier = (call_expression "frag_more(1)" identifier (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*pcVar4 = '\x04';" (assignment_expression "*pcVar4 = '\x04'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\x04'" ' escape_sequence ')) ;) (expression_statement "pfVar2 = frag_now;" (assignment_expression "pfVar2 = frag_now" identifier = identifier) ;) (expression_statement "aVar8 = frag_now_fix();" (assignment_expression "aVar8 = frag_now_fix()" identifier = (call_expression "frag_now_fix()" identifier (argument_list "()" ( )))) ;) (expression_statement "psVar5 = make_expr_symbol(&exp);" (assignment_expression "psVar5 = make_expr_symbol(&exp)" identifier = (call_expression "make_expr_symbol(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) )))) ;) (expression_statement "frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2);" (call_expression "frag_var(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2)" identifier (argument_list "(rs_cfa,4,0,8,psVar5,aVar8 - 1,(char *)pfVar2)" ( identifier , number_literal , number_literal , number_literal , identifier , (binary_expression "aVar8 - 1" identifier - number_literal) , (cast_expression "(char *)pfVar2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "vVar9 = S_GET_VALUE(s);" (assignment_expression "vVar9 = S_GET_VALUE(s)" identifier = (call_expression "S_GET_VALUE(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "vVar10 = S_GET_VALUE(psVar5);" (assignment_expression "vVar10 = S_GET_VALUE(psVar5)" identifier = (call_expression "S_GET_VALUE(psVar5)" identifier (argument_list "(psVar5)" ( identifier )))) ;) (expression_statement "uVar7 = (uint)(vVar9 - vVar10);" (assignment_expression "uVar7 = (uint)(vVar9 - vVar10)" identifier = (call_expression "(uint)(vVar9 - vVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(vVar9 - vVar10)" ( (binary_expression "vVar9 - vVar10" identifier - identifier) )))) ;) (expression_statement "iVar11 = (int)(vVar9 - vVar10 >> 0x20);" (assignment_expression "iVar11 = (int)(vVar9 - vVar10 >> 0x20)" identifier = (cast_expression "(int)(vVar9 - vVar10 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(vVar9 - vVar10 >> 0x20)" ( (binary_expression "vVar9 - vVar10 >> 0x20" (binary_expression "vVar9 - vVar10" identifier - identifier) >> number_literal) )))) ;) (if_statement "if (iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)) {\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }" if (parenthesized_expression "(iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7))" ( (binary_expression "iVar11 != 0 || (uint)-iVar11 < (uint)(0x3f < uVar7)" (binary_expression "iVar11 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar11 < (uint)(0x3f < uVar7)" (binary_expression "(uint)-iVar11" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3f < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3f < uVar7)" ( (binary_expression "0x3f < uVar7" number_literal < identifier) ))))) )) (compound_statement "{\n          if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }\n          frag_append_1_char(2);\n          frag_append_1_char(uVar7);\n          return;\n        }" { (if_statement "if (iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)) {\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }" if (parenthesized_expression "(iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7))" ( (binary_expression "iVar11 != 0 || (uint)-iVar11 < (uint)(0xff < uVar7)" (binary_expression "iVar11 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar11 < (uint)(0xff < uVar7)" (binary_expression "(uint)-iVar11" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0xff < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < uVar7)" ( (binary_expression "0xff < uVar7" number_literal < identifier) ))))) )) (compound_statement "{\n            if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }\n            number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);\n            return;\n          }" { (if_statement "if (iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11) {\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }\n            else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }" if (parenthesized_expression "(iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11)" ( (binary_expression "iVar11 == 0 && (uint)(0xffff < uVar7) <= (uint)-iVar11" (binary_expression "iVar11 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffff < uVar7) <= (uint)-iVar11" (call_expression "(uint)(0xffff < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar7)" ( (binary_expression "0xffff < uVar7" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar11" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n              frag_append_1_char(3);\n              pcVar4 = frag_more(2);\n              n = 2;\n            }" { (expression_statement "frag_append_1_char(3);" (call_expression "frag_append_1_char(3)" identifier (argument_list "(3)" ( number_literal ))) ;) (expression_statement "pcVar4 = frag_more(2);" (assignment_expression "pcVar4 = frag_more(2)" identifier = (call_expression "frag_more(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "n = 2;" (assignment_expression "n = 2" identifier = number_literal) ;) }) (else_clause "else {\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }" else (compound_statement "{\n              iVar11 = (int)uVar7 >> 0x1f;\n              frag_append_1_char(4);\n              pcVar4 = frag_more(4);\n              n = 4;\n            }" { (expression_statement "iVar11 = (int)uVar7 >> 0x1f;" (assignment_expression "iVar11 = (int)uVar7 >> 0x1f" identifier = (binary_expression "(int)uVar7 >> 0x1f" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "frag_append_1_char(4);" (call_expression "frag_append_1_char(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "pcVar4 = frag_more(4);" (assignment_expression "pcVar4 = frag_more(4)" identifier = (call_expression "frag_more(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (expression_statement "n = 4;" (assignment_expression "n = 4" identifier = number_literal) ;) }))) (expression_statement "number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n);" (call_expression "number_to_chars_littleendian(pcVar4,CONCAT44(iVar11,uVar7),n)" identifier (argument_list "(pcVar4,CONCAT44(iVar11,uVar7),n)" ( identifier , (call_expression "CONCAT44(iVar11,uVar7)" identifier (argument_list "(iVar11,uVar7)" ( identifier , identifier ))) , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "frag_append_1_char(2);" (call_expression "frag_append_1_char(2)" identifier (argument_list "(2)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(uVar7);" (call_expression "frag_append_1_char(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "frag_append_1_char(uVar7 + 0x40);" (call_expression "frag_append_1_char(uVar7 + 0x40)" identifier (argument_list "(uVar7 + 0x40)" ( (binary_expression "uVar7 + 0x40" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar11 == 0x14) {\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }" if (parenthesized_expression "(iVar11 == 0x14)" ( (binary_expression "iVar11 == 0x14" identifier == number_literal) )) (compound_statement "{\n        psVar5 = (insn->u).ea.exp.X_add_symbol;\n        __divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);\n        if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        iVar11 = 0x14;\n        goto LAB_0001df15;\n      }" { (expression_statement "psVar5 = (insn->u).ea.exp.X_add_symbol;" (assignment_expression "psVar5 = (insn->u).ea.exp.X_add_symbol" identifier = (field_expression "(insn->u).ea.exp.X_add_symbol" (field_expression "(insn->u).ea.exp" (field_expression "(insn->u).ea" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "__divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f);" (call_expression "__divdi3((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" identifier (argument_list "((insn->u).rr.reg2,psVar5,x86_cie_data_alignment,x86_cie_data_alignment >> 0x1f)" ( (field_expression "(insn->u).rr.reg2" (field_expression "(insn->u).rr" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) , identifier , identifier , (binary_expression "x86_cie_data_alignment >> 0x1f" identifier >> number_literal) ))) ;) (if_statement "if (extraout_EDX < 0) {\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }" if (parenthesized_expression "(extraout_EDX < 0)" ( (binary_expression "extraout_EDX < 0" identifier < number_literal) )) (compound_statement "{\n          iVar11 = 0x15;\n          goto LAB_0001e1a5;\n        }" { (expression_statement "iVar11 = 0x15;" (assignment_expression "iVar11 = 0x15" identifier = number_literal) ;) (goto_statement "goto LAB_0001e1a5;" goto statement_identifier ;) })) (expression_statement "iVar11 = 0x14;" (assignment_expression "iVar11 = 0x14" identifier = number_literal) ;) (goto_statement "goto LAB_0001df15;" goto statement_identifier ;) })) }) (else_clause "else {\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }" else (compound_statement "{\n      if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }\n      if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }\n    }" { (if_statement "if (iVar11 == 0x103) {\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }" if (parenthesized_expression "(iVar11 == 0x103)" ( (binary_expression "iVar11 == 0x103" identifier == number_literal) )) (compound_statement "{\n        for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }\n        return;\n      }" { (for_statement "for (pcVar1 = (insn->u).esc; pcVar1 != (cfi_escape_data *)0x0; pcVar1 = pcVar1->next) {\n          emit_expr(&pcVar1->exp,1);\n        }" for ( (assignment_expression "pcVar1 = (insn->u).esc" identifier = (field_expression "(insn->u).esc" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier)) ; (binary_expression "pcVar1 != (cfi_escape_data *)0x0" identifier != (cast_expression "(cfi_escape_data *)0x0" ( (type_descriptor "cfi_escape_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pcVar1 = pcVar1->next" identifier = (field_expression "pcVar1->next" identifier -> field_identifier)) ) (compound_statement "{\n          emit_expr(&pcVar1->exp,1);\n        }" { (expression_statement "emit_expr(&pcVar1->exp,1);" (call_expression "emit_expr(&pcVar1->exp,1)" identifier (argument_list "(&pcVar1->exp,1)" ( (pointer_expression "&pcVar1->exp" & (field_expression "pcVar1->exp" identifier -> field_identifier)) , number_literal ))) ;) })) (return_statement "return;" return ;) })) (if_statement "if (iVar11 < 0x104) {\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }\n      else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }" if (parenthesized_expression "(iVar11 < 0x104)" ( (binary_expression "iVar11 < 0x104" identifier < number_literal) )) (compound_statement "{\n        if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }\n      }" { (if_statement "if (iVar11 == 0xc0) {\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }" if (parenthesized_expression "(iVar11 == 0xc0)" ( (binary_expression "iVar11 == 0xc0" identifier == number_literal) )) (compound_statement "{\n          uVar7 = (insn->u).ri.reg;\n          if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }\n          uVar12 = 6;\n          frag_append_1_char(6);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          return;\n        }" { (expression_statement "uVar7 = (insn->u).ri.reg;" (assignment_expression "uVar7 = (insn->u).ri.reg" identifier = (field_expression "(insn->u).ri.reg" (field_expression "(insn->u).ri" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar7 < 0x40) {\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }" if (parenthesized_expression "(uVar7 < 0x40)" ( (binary_expression "uVar7 < 0x40" identifier < number_literal) )) (compound_statement "{\n            frag_append_1_char(uVar7 + 0xc0);\n            return;\n          }" { (expression_statement "frag_append_1_char(uVar7 + 0xc0);" (call_expression "frag_append_1_char(uVar7 + 0xc0)" identifier (argument_list "(uVar7 + 0xc0)" ( (binary_expression "uVar7 + 0xc0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar12 = 6;" (assignment_expression "uVar12 = 6" identifier = number_literal) ;) (expression_statement "frag_append_1_char(6);" (call_expression "frag_append_1_char(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }" else (compound_statement "{\n        if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }\n        if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }\n      }" { (if_statement "if (iVar11 == 0x105) {\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }" if (parenthesized_expression "(iVar11 == 0x105)" ( (binary_expression "iVar11 == 0x105" identifier == number_literal) )) (compound_statement "{\n          uVar7 = (insn->u).rr.reg2;\n          if (uVar7 == 0xff) {\n            return;\n          }\n          uVar12 = 0x16;\n          uVar6 = uVar7 & 7;\n          frag_append_1_char(0x16);\n          out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));\n          if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }\n          if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }\n          emit_expr(&(insn->u).ea.exp,uVar6);\n          return;\n        }" { (expression_statement "uVar7 = (insn->u).rr.reg2;" (assignment_expression "uVar7 = (insn->u).rr.reg2" identifier = (field_expression "(insn->u).rr.reg2" (field_expression "(insn->u).rr" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar7 == 0xff) {\n            return;\n          }" if (parenthesized_expression "(uVar7 == 0xff)" ( (binary_expression "uVar7 == 0xff" identifier == number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "uVar12 = 0x16;" (assignment_expression "uVar12 = 0x16" identifier = number_literal) ;) (expression_statement "uVar6 = uVar7 & 7;" (assignment_expression "uVar6 = uVar7 & 7" identifier = (binary_expression "uVar7 & 7" identifier & number_literal)) ;) (expression_statement "frag_append_1_char(0x16);" (call_expression "frag_append_1_char(0x16)" identifier (argument_list "(0x16)" ( number_literal ))) ;) (expression_statement "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12));" (call_expression "out_uleb128(CONCAT44(in_stack_ffffffa8,uVar12))" identifier (argument_list "(CONCAT44(in_stack_ffffffa8,uVar12))" ( (call_expression "CONCAT44(in_stack_ffffffa8,uVar12)" identifier (argument_list "(in_stack_ffffffa8,uVar12)" ( identifier , identifier ))) ))) ;) (if_statement "if (uVar6 == 2) {\n            uVar6 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }" if (parenthesized_expression "(uVar6 == 2)" ( (binary_expression "uVar6 == 2" identifier == number_literal) )) (compound_statement "{\n            uVar6 = 2;\n          }" { (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) }) (else_clause "else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }" else (if_statement "if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }\n          else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }" if (parenthesized_expression "(uVar6 < 3)" ( (binary_expression "uVar6 < 3" identifier < number_literal) )) (compound_statement "{\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }\n            uVar6 = x86_dwarf2_addr_size();\n          }" { (if_statement "if (uVar6 != 0) {\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");\n            }" { (labeled_statement "LAB_0001e374:\n                    /* WARNING: Subroutine does not return */\n              as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");" statement_identifier : comment (expression_statement "as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");" (call_expression "as_abort("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn")" identifier (argument_list "("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn")" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""output_cfi_insn"" " string_content ") ))) ;)) })) (expression_statement "uVar6 = x86_dwarf2_addr_size();" (assignment_expression "uVar6 = x86_dwarf2_addr_size()" identifier = (call_expression "x86_dwarf2_addr_size()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }" else (if_statement "if (uVar6 == 3) {\n            uVar6 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }" if (parenthesized_expression "(uVar6 == 3)" ( (binary_expression "uVar6 == 3" identifier == number_literal) )) (compound_statement "{\n            uVar6 = 4;\n          }" { (expression_statement "uVar6 = 4;" (assignment_expression "uVar6 = 4" identifier = number_literal) ;) }) (else_clause "else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }" else (compound_statement "{\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar6 = 8;\n          }" { (if_statement "if (uVar6 != 4) goto LAB_0001e374;" if (parenthesized_expression "(uVar6 != 4)" ( (binary_expression "uVar6 != 4" identifier != number_literal) )) (goto_statement "goto LAB_0001e374;" goto statement_identifier ;)) (expression_statement "uVar6 = 8;" (assignment_expression "uVar6 = 8" identifier = number_literal) ;) }))))))) (if_statement "if ((insn->u).rr.reg2 == 0) {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }\n          else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }" if (parenthesized_expression "((insn->u).rr.reg2 == 0)" ( (binary_expression "(insn->u).rr.reg2 == 0" (field_expression "(insn->u).rr.reg2" (field_expression "(insn->u).rr" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(3);\n          }" { (expression_statement "out_uleb128(in_stack_ffffffb4);" (call_expression "out_uleb128(in_stack_ffffffb4)" identifier (argument_list "(in_stack_ffffffb4)" ( identifier ))) ;) (expression_statement "frag_append_1_char(3);" (call_expression "frag_append_1_char(3)" identifier (argument_list "(3)" ( number_literal ))) ;) }) (else_clause "else {\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }" else (compound_statement "{\n            out_uleb128(in_stack_ffffffb4);\n            frag_append_1_char(0xf1);\n            frag_append_1_char(uVar7);\n            if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }\n          }" { (expression_statement "out_uleb128(in_stack_ffffffb4);" (call_expression "out_uleb128(in_stack_ffffffb4)" identifier (argument_list "(in_stack_ffffffb4)" ( identifier ))) ;) (expression_statement "frag_append_1_char(0xf1);" (call_expression "frag_append_1_char(0xf1)" identifier (argument_list "(0xf1)" ( number_literal ))) ;) (expression_statement "frag_append_1_char(uVar7);" (call_expression "frag_append_1_char(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (if_statement "if ((uVar7 & 0x70) == 0x10) {\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }" if (parenthesized_expression "((uVar7 & 0x70) == 0x10)" ( (binary_expression "(uVar7 & 0x70) == 0x10" (parenthesized_expression "(uVar7 & 0x70)" ( (binary_expression "uVar7 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              *(undefined1 *)((int)&insn->u + 0x18) = 0x14;\n              psVar5 = symbol_temp_new_now();\n              (insn->u).ea.exp.X_op_symbol = psVar5;\n            }" { (expression_statement "*(undefined1 *)((int)&insn->u + 0x18) = 0x14;" (assignment_expression "*(undefined1 *)((int)&insn->u + 0x18) = 0x14" (pointer_expression "*(undefined1 *)((int)&insn->u + 0x18)" * (cast_expression "(undefined1 *)((int)&insn->u + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&insn->u + 0x18)" ( (binary_expression "(int)&insn->u + 0x18" (cast_expression "(int)&insn->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&insn->u" & (field_expression "insn->u" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "psVar5 = symbol_temp_new_now();" (assignment_expression "psVar5 = symbol_temp_new_now()" identifier = (call_expression "symbol_temp_new_now()" identifier (argument_list "()" ( )))) ;) (expression_statement "(insn->u).ea.exp.X_op_symbol = psVar5;" (assignment_expression "(insn->u).ea.exp.X_op_symbol = psVar5" (field_expression "(insn->u).ea.exp.X_op_symbol" (field_expression "(insn->u).ea.exp" (field_expression "(insn->u).ea" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) })) }))) (expression_statement "emit_expr(&(insn->u).ea.exp,uVar6);" (call_expression "emit_expr(&(insn->u).ea.exp,uVar6)" identifier (argument_list "(&(insn->u).ea.exp,uVar6)" ( (pointer_expression "&(insn->u).ea.exp" & (field_expression "(insn->u).ea.exp" (field_expression "(insn->u).ea" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar11 == 0x106) {\n          colon((insn->u).sym_name);\n          return;\n        }" if (parenthesized_expression "(iVar11 == 0x106)" ( (binary_expression "iVar11 == 0x106" identifier == number_literal) )) (compound_statement "{\n          colon((insn->u).sym_name);\n          return;\n        }" { (expression_statement "colon((insn->u).sym_name);" (call_expression "colon((insn->u).sym_name)" identifier (argument_list "((insn->u).sym_name)" ( (field_expression "(insn->u).sym_name" (parenthesized_expression "(insn->u)" ( (field_expression "insn->u" identifier -> field_identifier) )) . field_identifier) ))) ;) (return_statement "return;" return ;) })) }))) }))) }))) comment (expression_statement "as_abort("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn");" (call_expression "as_abort("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn")" identifier (argument_list "("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn")" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""output_cfi_insn"" " string_content ") ))) ;) })))
(translation_unit "void __regparm3 FUN_0001dd60(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}\n\n" (function_definition "void __regparm3 FUN_0001dd60(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0001dd60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "int extraout_EDX_00;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "longlong lVar9;" type_identifier identifier ;) (declaration "longlong lVar10;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "undefined1 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1dd6b;" (assignment_expression "uStack_14 = 0x1dd6b" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(param_1 + 4);" (assignment_expression "iVar2 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }" if (parenthesized_expression "(iVar2 == 0xe)" ( (binary_expression "iVar2 == 0xe" identifier == number_literal) )) (compound_statement "{\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }" { (expression_statement "uVar7 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar2 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }" { (expression_statement "FUN_00024e20(0xe);" (call_expression "FUN_00024e20(0xe)" identifier (argument_list "(0xe)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(0x13);" (call_expression "FUN_00024e20(0x13)" identifier (argument_list "(0x13)" ( number_literal ))) ;) (expression_statement "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" identifier (argument_list "(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(iVar2 < 0xf)" ( (binary_expression "iVar2 < 0xf" identifier < number_literal) )) (compound_statement "{\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }" { (if_statement "if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" if (parenthesized_expression "(iVar2 < 0xc)" ( (binary_expression "iVar2 < 0xc" identifier < number_literal) )) (compound_statement "{\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }" { (if_statement "if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }" if (parenthesized_expression "(9 < iVar2)" ( (binary_expression "9 < iVar2" number_literal < identifier) )) (compound_statement "{\n        FUN_00024e20(iVar2);\n        return;\n      }" { (expression_statement "FUN_00024e20(iVar2);" (call_expression "FUN_00024e20(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }" if (parenthesized_expression "(6 < iVar2)" ( (binary_expression "6 < iVar2" number_literal < identifier) )) (compound_statement "{\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }" { (if_statement "if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" if (parenthesized_expression "(8 < iVar2)" ( (binary_expression "8 < iVar2" number_literal < identifier) )) (compound_statement "{\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" { (expression_statement "FUN_00024e20(9);" (call_expression "FUN_00024e20(9)" identifier (argument_list "(9)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0001dec9:\n        FUN_00024e20(iVar2);" statement_identifier : (expression_statement "FUN_00024e20(iVar2);" (call_expression "FUN_00024e20(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;)) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" else (compound_statement "{\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" { (if_statement "if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0xc)" ( (binary_expression "iVar2 == 0xc" identifier == number_literal) )) (compound_statement "{\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }" { (expression_statement "iVar2 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" { (expression_statement "FUN_00024e20(0xc);" (call_expression "FUN_00024e20(0xc)" identifier (argument_list "(0xc)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(0x12);" (call_expression "FUN_00024e20(0x12)" identifier (argument_list "(0x12)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" identifier (argument_list "(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" ( identifier , identifier , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0xd) goto LAB_0001dec9;" if (parenthesized_expression "(iVar2 == 0xd)" ( (binary_expression "iVar2 == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_0001dec9;" goto statement_identifier ;)) }))) }) (else_clause "else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" else (compound_statement "{\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" { (if_statement "if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }" if (parenthesized_expression "(iVar2 == 0x80)" ( (binary_expression "iVar2 == 0x80" identifier == number_literal) )) (compound_statement "{\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }" { (expression_statement "uVar8 = *(uint *)(param_1 + 8);" (assignment_expression "uVar8 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f)" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f)" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (if_statement "if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }" if (parenthesized_expression "(extraout_EDX_00 < 0)" ( (binary_expression "extraout_EDX_00 < 0" identifier < number_literal) )) (compound_statement "{\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }" { (expression_statement "uVar7 = 0x11;" (assignment_expression "uVar7 = 0x11" identifier = number_literal) ;) (labeled_statement "LAB_0001e1a5:\n        FUN_00024e20(uVar7);" statement_identifier : (expression_statement "FUN_00024e20(uVar7);" (call_expression "FUN_00024e20(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;)) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }" if (parenthesized_expression "(uVar8 < 0x40)" ( (binary_expression "uVar8 < 0x40" identifier < number_literal) )) (compound_statement "{\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }" { (expression_statement "FUN_00024e20(uVar8 + 0x80);" (call_expression "FUN_00024e20(uVar8 + 0x80)" identifier (argument_list "(uVar8 + 0x80)" ( (binary_expression "uVar8 + 0x80" identifier + number_literal) ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar7 = 5;" (assignment_expression "uVar7 = 5" identifier = number_literal) ;) (labeled_statement "LAB_0001df15:\n      FUN_00024e20(uVar7);" statement_identifier : (expression_statement "FUN_00024e20(uVar7);" (call_expression "FUN_00024e20(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;)) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" if (parenthesized_expression "(iVar2 < 0x81)" ( (binary_expression "iVar2 < 0x81" identifier < number_literal) )) (compound_statement "{\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }" { (if_statement "if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0x2d)" ( (binary_expression "iVar2 == 0x2d" identifier == number_literal) )) (compound_statement "{\n        FUN_00024e20(0x2d);\n        return;\n      }" { (expression_statement "FUN_00024e20(0x2d);" (call_expression "FUN_00024e20(0x2d)" identifier (argument_list "(0x2d)" ( number_literal ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0x40)" ( (binary_expression "iVar2 == 0x40" identifier == number_literal) )) (compound_statement "{\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }" { (expression_statement "uVar7 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar5 = *(undefined4 *)(param_1 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = FUN_0003b830(uVar5);" (assignment_expression "iVar2 = FUN_0003b830(uVar5)" identifier = (call_expression "FUN_0003b830(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "iVar3 = FUN_0003b830(uVar7);" (assignment_expression "iVar3 = FUN_0003b830(uVar7)" identifier = (call_expression "FUN_0003b830(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }" if (parenthesized_expression "(iVar2 != iVar3)" ( (binary_expression "iVar2 != iVar3" identifier != identifier) )) (compound_statement "{\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }" { (expression_statement "local_20 = 0x14;" (assignment_expression "local_20 = 0x14" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_30 = uVar5;" (assignment_expression "local_30 = uVar5" identifier = identifier) ;) (expression_statement "local_2c = uVar7;" (assignment_expression "local_2c = uVar7" identifier = identifier) ;) (expression_statement "puVar4 = (undefined1 *)FUN_00024b20(1);" (assignment_expression "puVar4 = (undefined1 *)FUN_00024b20(1)" identifier = (cast_expression "(undefined1 *)FUN_00024b20(1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00024b20(1)" identifier (argument_list "(1)" ( number_literal ))))) ;) (expression_statement "*puVar4 = 4;" (assignment_expression "*puVar4 = 4" (pointer_expression "*puVar4" * identifier) = number_literal) ;) (expression_statement "uVar7 = DAT_000898a0;" (assignment_expression "uVar7 = DAT_000898a0" identifier = identifier) ;) (expression_statement "lVar9 = FUN_00024dc0();" (assignment_expression "lVar9 = FUN_00024dc0()" identifier = (call_expression "FUN_00024dc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = FUN_00021220(&local_30);" (assignment_expression "uVar5 = FUN_00021220(&local_30)" identifier = (call_expression "FUN_00021220(&local_30)" identifier (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);" (call_expression "FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7)" identifier (argument_list "(0xc,4,0,8,uVar5,lVar9 + -1,uVar7)" ( number_literal , number_literal , number_literal , number_literal , identifier , (binary_expression "lVar9 + -1" identifier + number_literal) , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "lVar9 = FUN_0003a3c0(uVar5);" (assignment_expression "lVar9 = FUN_0003a3c0(uVar5)" identifier = (call_expression "FUN_0003a3c0(uVar5)" identifier (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "lVar10 = FUN_0003a3c0(uVar7);" (assignment_expression "lVar10 = FUN_0003a3c0(uVar7)" identifier = (call_expression "FUN_0003a3c0(uVar7)" identifier (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "uVar8 = (uint)(lVar9 - lVar10);" (assignment_expression "uVar8 = (uint)(lVar9 - lVar10)" identifier = (call_expression "(uint)(lVar9 - lVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar9 - lVar10)" ( (binary_expression "lVar9 - lVar10" identifier - identifier) )))) ;) (expression_statement "iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);" (assignment_expression "iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(lVar9 - lVar10) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar9 - lVar10) >> 0x20)" ( (binary_expression "(ulonglong)(lVar9 - lVar10) >> 0x20" (call_expression "(ulonglong)(lVar9 - lVar10)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar9 - lVar10)" ( (binary_expression "lVar9 - lVar10" identifier - identifier) ))) >> number_literal) )))) ;) (if_statement "if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }" if (parenthesized_expression "(iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8))" ( (binary_expression "iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)" (binary_expression "iVar2 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar2 < (uint)(0x3f < uVar8)" (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3f < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3f < uVar8)" ( (binary_expression "0x3f < uVar8" number_literal < identifier) ))))) )) (compound_statement "{\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }" { (if_statement "if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }" if (parenthesized_expression "(iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8))" ( (binary_expression "iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)" (binary_expression "iVar2 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar2 < (uint)(0xff < uVar8)" (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0xff < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < uVar8)" ( (binary_expression "0xff < uVar8" number_literal < identifier) ))))) )) (compound_statement "{\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }" { (if_statement "if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" if (parenthesized_expression "(iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2)" ( (binary_expression "iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2" (binary_expression "iVar2 == 0" identifier == number_literal) && (binary_expression "(uint)(0xffff < uVar8) <= (uint)-iVar2" (call_expression "(uint)(0xffff < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar8)" ( (binary_expression "0xffff < uVar8" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }" { (expression_statement "FUN_00024e20(3);" (call_expression "FUN_00024e20(3)" identifier (argument_list "(3)" ( number_literal ))) ;) (expression_statement "uVar7 = FUN_00024b20(2);" (assignment_expression "uVar7 = FUN_00024b20(2)" identifier = (call_expression "FUN_00024b20(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "uVar5 = 2;" (assignment_expression "uVar5 = 2" identifier = number_literal) ;) }) (else_clause "else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" else (compound_statement "{\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" { (expression_statement "iVar2 = (int)uVar8 >> 0x1f;" (assignment_expression "iVar2 = (int)uVar8 >> 0x1f" identifier = (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" identifier (argument_list "(4)" ( number_literal ))) ;) (expression_statement "uVar7 = FUN_00024b20(4);" (assignment_expression "uVar7 = FUN_00024b20(4)" identifier = (call_expression "FUN_00024b20(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (expression_statement "uVar5 = 4;" (assignment_expression "uVar5 = 4" identifier = number_literal) ;) }))) (expression_statement "FUN_000416b0(uVar7,uVar8,iVar2,uVar5);" (call_expression "FUN_000416b0(uVar7,uVar8,iVar2,uVar5)" identifier (argument_list "(uVar7,uVar8,iVar2,uVar5)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(2);" (call_expression "FUN_00024e20(2)" identifier (argument_list "(2)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(uVar8);" (call_expression "FUN_00024e20(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(uVar8 + 0x40);" (call_expression "FUN_00024e20(uVar8 + 0x40)" identifier (argument_list "(uVar8 + 0x40)" ( (binary_expression "uVar8 + 0x40" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }" if (parenthesized_expression "(iVar2 == 0x14)" ( (binary_expression "iVar2 == 0x14" identifier == number_literal) )) (compound_statement "{\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }" { (expression_statement "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f)" identifier (argument_list "(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f)" ( (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier , (binary_expression "DAT_00089b04 >> 0x1f" identifier >> number_literal) ))) ;) (if_statement "if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }" if (parenthesized_expression "(extraout_EDX < 0)" ( (binary_expression "extraout_EDX < 0" identifier < number_literal) )) (compound_statement "{\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }" { (expression_statement "uVar7 = 0x15;" (assignment_expression "uVar7 = 0x15" identifier = number_literal) ;) (goto_statement "goto LAB_0001e1a5;" goto statement_identifier ;) })) (expression_statement "uVar7 = 0x14;" (assignment_expression "uVar7 = 0x14" identifier = number_literal) ;) (goto_statement "goto LAB_0001df15;" goto statement_identifier ;) })) }) (else_clause "else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" else (compound_statement "{\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" { (if_statement "if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0x103)" ( (binary_expression "iVar2 == 0x103" identifier == number_literal) )) (compound_statement "{\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }" { (for_statement "for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }" for ( (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 8)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 8)" * (cast_expression "(undefined4 **)(param_1 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ; (binary_expression "puVar1 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar1 = (undefined4 *)*puVar1" identifier = (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier))) ) (compound_statement "{\n          FUN_00031660(puVar1 + 1,1);\n        }" { (expression_statement "FUN_00031660(puVar1 + 1,1);" (call_expression "FUN_00031660(puVar1 + 1,1)" identifier (argument_list "(puVar1 + 1,1)" ( (binary_expression "puVar1 + 1" identifier + number_literal) , number_literal ))) ;) })) (return_statement "return;" return ;) })) (if_statement "if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" if (parenthesized_expression "(iVar2 < 0x104)" ( (binary_expression "iVar2 < 0x104" identifier < number_literal) )) (compound_statement "{\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }" { (if_statement "if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }" if (parenthesized_expression "(iVar2 == 0xc0)" ( (binary_expression "iVar2 == 0xc0" identifier == number_literal) )) (compound_statement "{\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }" { (if_statement "if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }" if (parenthesized_expression "(*(uint *)(param_1 + 8) < 0x40)" ( (binary_expression "*(uint *)(param_1 + 8) < 0x40" (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }" { (expression_statement "FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);" (call_expression "FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0)" identifier (argument_list "(*(uint *)(param_1 + 8) + 0xc0)" ( (binary_expression "*(uint *)(param_1 + 8) + 0xc0" (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_00024e20(6);" (call_expression "FUN_00024e20(6)" identifier (argument_list "(6)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" else (compound_statement "{\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" { (if_statement "if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }" if (parenthesized_expression "(iVar2 == 0x105)" ( (binary_expression "iVar2 == 0x105" identifier == number_literal) )) (compound_statement "{\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }" { (expression_statement "uVar8 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (uVar8 == 0xff) {\n            return;\n          }" if (parenthesized_expression "(uVar8 == 0xff)" ( (binary_expression "uVar8 == 0xff" identifier == number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (expression_statement "uVar6 = uVar8 & 7;" (assignment_expression "uVar6 = uVar8 & 7" identifier = (binary_expression "uVar8 & 7" identifier & number_literal)) ;) (expression_statement "FUN_00024e20(0x16);" (call_expression "FUN_00024e20(0x16)" identifier (argument_list "(0x16)" ( number_literal ))) ;) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (if_statement "if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" if (parenthesized_expression "(uVar6 == 2)" ( (binary_expression "uVar6 == 2" identifier == number_literal) )) (compound_statement "{\n            uVar7 = 2;\n          }" { (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" identifier = number_literal) ;) }) (else_clause "else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" else (if_statement "if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" if (parenthesized_expression "(uVar6 < 3)" ( (binary_expression "uVar6 < 3" identifier < number_literal) )) (compound_statement "{\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }" { (if_statement "if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }" { (labeled_statement "LAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);" statement_identifier : (expression_statement "FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);" (call_expression "FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6)" identifier (argument_list "("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6)" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""output_cfi_insn"" " string_content ") , identifier ))) ;)) })) (expression_statement "uVar7 = FUN_00054100();" (assignment_expression "uVar7 = FUN_00054100()" identifier = (call_expression "FUN_00054100()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" else (if_statement "if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" if (parenthesized_expression "(uVar6 == 3)" ( (binary_expression "uVar6 == 3" identifier == number_literal) )) (compound_statement "{\n            uVar7 = 4;\n          }" { (expression_statement "uVar7 = 4;" (assignment_expression "uVar7 = 4" identifier = number_literal) ;) }) (else_clause "else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" else (compound_statement "{\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" { (if_statement "if (uVar6 != 4) goto LAB_0001e374;" if (parenthesized_expression "(uVar6 != 4)" ( (binary_expression "uVar6 != 4" identifier != number_literal) )) (goto_statement "goto LAB_0001e374;" goto statement_identifier ;)) (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" identifier = number_literal) ;) }))))))) (if_statement "if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" if (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }" { (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(3);" (call_expression "FUN_00024e20(3)" identifier (argument_list "(3)" ( number_literal ))) ;) }) (else_clause "else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" else (compound_statement "{\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" { (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00024e20(0xf1);" (call_expression "FUN_00024e20(0xf1)" identifier (argument_list "(0xf1)" ( number_literal ))) ;) (expression_statement "FUN_00024e20(uVar8);" (call_expression "FUN_00024e20(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (if_statement "if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }" if (parenthesized_expression "((uVar8 & 0x70) == 0x10)" ( (binary_expression "(uVar8 & 0x70) == 0x10" (parenthesized_expression "(uVar8 & 0x70)" ( (binary_expression "uVar8 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }" { (expression_statement "*(undefined1 *)(param_1 + 0x20) = 0x14;" (assignment_expression "*(undefined1 *)(param_1 + 0x20) = 0x14" (pointer_expression "*(undefined1 *)(param_1 + 0x20)" * (cast_expression "(undefined1 *)(param_1 + 0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar5 = FUN_00038f70();" (assignment_expression "uVar5 = FUN_00038f70()" identifier = (call_expression "FUN_00038f70()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar5;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar5" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" * (cast_expression "(undefined4 *)(param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = identifier) ;) })) }))) (expression_statement "FUN_00031660(param_1 + 0x10,uVar7);" (call_expression "FUN_00031660(param_1 + 0x10,uVar7)" identifier (argument_list "(param_1 + 0x10,uVar7)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) , identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }" if (parenthesized_expression "(iVar2 == 0x106)" ( (binary_expression "iVar2 == 0x106" identifier == number_literal) )) (compound_statement "{\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }" { (expression_statement "FUN_0003aaa0(*(undefined4 *)(param_1 + 8));" (call_expression "FUN_0003aaa0(*(undefined4 *)(param_1 + 8))" identifier (argument_list "(*(undefined4 *)(param_1 + 8))" ( (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) ))) ;) (return_statement "return;" return ;) })) }))) }))) }))) (expression_statement "FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);" (call_expression "FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2)" identifier (argument_list "("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2)" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""output_cfi_insn"" " string_content ") , identifier ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 == LIT) )) (compound_statement { (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT >> LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression 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) ))))) ;) (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 LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT >> LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression 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) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (binary_expression IDENT >> LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression 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) ))))) ;) (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) ))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (binary_expression IDENT >> LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (for_statement for ( (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;) })) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression 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 == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))))))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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) ;) (expression_statement (assignment_expression IDENT = (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) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (return_statement return ;) })) }))) }))) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })))
(function_definition "void __regparm3 FUN_0001dd60(int param_1)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0001dd60(int param_1)" (identifier "FUN_0001dd60") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined4 uVar5;\n  int extraout_EDX;\n  int extraout_EDX_00;\n  uint uVar6;\n  undefined4 uVar7;\n  uint uVar8;\n  longlong lVar9;\n  longlong lVar10;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  undefined1 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1dd6b;\n  iVar2 = *(int *)(param_1 + 4);\n  if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }\n  if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined1 *puVar4;" (type_identifier "undefined1") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int extraout_EDX;" (primitive_type "int") (identifier "extraout_EDX") (; ";")) (declaration "int extraout_EDX_00;" (primitive_type "int") (identifier "extraout_EDX_00") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "longlong lVar9;" (type_identifier "longlong") (identifier "lVar9") (; ";")) (declaration "longlong lVar10;" (type_identifier "longlong") (identifier "lVar10") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "undefined1 local_20;" (type_identifier "undefined1") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x1dd6b;" (assignment_expression "uStack_14 = 0x1dd6b" (identifier "uStack_14") (= "=") (number_literal "0x1dd6b")) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 4);" (assignment_expression "iVar2 = *(int *)(param_1 + 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0xe) {\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0xe)" (( "(") (binary_expression "iVar2 == 0xe" (identifier "iVar2") (== "==") (number_literal "0xe")) () ")")) (compound_statement "{\n    uVar7 = *(undefined4 *)(param_1 + 8);\n    iVar2 = *(int *)(param_1 + 0xc);\n    if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }\n    FUN_00024e20(0x13);\n    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n    FUN_0001dce0();\n    return;\n  }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar2 = *(int *)(param_1 + 0xc)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (-1 < iVar2) {\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }" (if "if") (parenthesized_expression "(-1 < iVar2)" (( "(") (binary_expression "-1 < iVar2" (number_literal "-1") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n      FUN_00024e20(0xe);\n      FUN_0001dd20();\n      return;\n    }" ({ "{") (expression_statement "FUN_00024e20(0xe);" (call_expression "FUN_00024e20(0xe)" (identifier "FUN_00024e20") (argument_list "(0xe)" (( "(") (number_literal "0xe") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00024e20(0x13);" (call_expression "FUN_00024e20(0x13)" (identifier "FUN_00024e20") (argument_list "(0x13)" (( "(") (number_literal "0x13") () ")"))) (; ";")) (expression_statement "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" (identifier "FUN_00059a10") (argument_list "(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" (( "(") (identifier "uVar7") (, ",") (identifier "iVar2") (, ",") (identifier "DAT_00089b04") (, ",") (binary_expression "DAT_00089b04 >> 0x1f" (identifier "DAT_00089b04") (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" (identifier "FUN_0001dce0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar2 < 0xf) {\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }\n  else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar2 < 0xf)" (( "(") (binary_expression "iVar2 < 0xf" (identifier "iVar2") (< "<") (number_literal "0xf")) () ")")) (compound_statement "{\n    if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }\n  }" ({ "{") (if_statement "if (iVar2 < 0xc) {\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }\n    else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" (if "if") (parenthesized_expression "(iVar2 < 0xc)" (( "(") (binary_expression "iVar2 < 0xc" (identifier "iVar2") (< "<") (number_literal "0xc")) () ")")) (compound_statement "{\n      if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }\n      if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }\n    }" ({ "{") (if_statement "if (9 < iVar2) {\n        FUN_00024e20(iVar2);\n        return;\n      }" (if "if") (parenthesized_expression "(9 < iVar2)" (( "(") (binary_expression "9 < iVar2" (number_literal "9") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n        FUN_00024e20(iVar2);\n        return;\n      }" ({ "{") (expression_statement "FUN_00024e20(iVar2);" (call_expression "FUN_00024e20(iVar2)" (identifier "FUN_00024e20") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (6 < iVar2) {\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }" (if "if") (parenthesized_expression "(6 < iVar2)" (( "(") (binary_expression "6 < iVar2" (number_literal "6") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n        if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\nLAB_0001dec9:\n        FUN_00024e20(iVar2);\n        FUN_0001dd20();\n        return;\n      }" ({ "{") (if_statement "if (8 < iVar2) {\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" (if "if") (parenthesized_expression "(8 < iVar2)" (( "(") (binary_expression "8 < iVar2" (number_literal "8") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n          FUN_00024e20(9);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" ({ "{") (expression_statement "FUN_00024e20(9);" (call_expression "FUN_00024e20(9)" (identifier "FUN_00024e20") (argument_list "(9)" (( "(") (number_literal "9") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_0001dec9:\n        FUN_00024e20(iVar2);" (statement_identifier "LAB_0001dec9") (: ":") (expression_statement "FUN_00024e20(iVar2);" (call_expression "FUN_00024e20(iVar2)" (identifier "FUN_00024e20") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";"))) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" (else "else") (compound_statement "{\n      if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }\n      if (iVar2 == 0xd) goto LAB_0001dec9;\n    }" ({ "{") (if_statement "if (iVar2 == 0xc) {\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0xc)" (( "(") (binary_expression "iVar2 == 0xc" (identifier "iVar2") (== "==") (number_literal "0xc")) () ")")) (compound_statement "{\n        iVar2 = *(int *)(param_1 + 0x10);\n        uVar7 = *(undefined4 *)(param_1 + 0xc);\n        if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }\n        FUN_00024e20(0x12);\n        FUN_0001dd20();\n        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);\n        FUN_0001dce0();\n        return;\n      }" ({ "{") (expression_statement "iVar2 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x10)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (-1 < iVar2) {\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" (if "if") (parenthesized_expression "(-1 < iVar2)" (( "(") (binary_expression "-1 < iVar2" (number_literal "-1") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n          FUN_00024e20(0xc);\n          FUN_0001dd20();\n          FUN_0001dd20();\n          return;\n        }" ({ "{") (expression_statement "FUN_00024e20(0xc);" (call_expression "FUN_00024e20(0xc)" (identifier "FUN_00024e20") (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00024e20(0x12);" (call_expression "FUN_00024e20(0x12)" (identifier "FUN_00024e20") (argument_list "(0x12)" (( "(") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" (identifier "FUN_00059a10") (argument_list "(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f)" (( "(") (identifier "uVar7") (, ",") (identifier "iVar2") (, ",") (identifier "DAT_00089b04") (, ",") (binary_expression "DAT_00089b04 >> 0x1f" (identifier "DAT_00089b04") (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" (identifier "FUN_0001dce0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar2 == 0xd) goto LAB_0001dec9;" (if "if") (parenthesized_expression "(iVar2 == 0xd)" (( "(") (binary_expression "iVar2 == 0xd" (identifier "iVar2") (== "==") (number_literal "0xd")) () ")")) (goto_statement "goto LAB_0001dec9;" (goto "goto") (statement_identifier "LAB_0001dec9") (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }\n    if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }\n  }" ({ "{") (if_statement "if (iVar2 == 0x80) {\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0x80)" (( "(") (binary_expression "iVar2 == 0x80" (identifier "iVar2") (== "==") (number_literal "0x80")) () ")")) (compound_statement "{\n      uVar8 = *(uint *)(param_1 + 8);\n      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);\n      if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }\n      if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }\n      uVar7 = 5;\nLAB_0001df15:\n      FUN_00024e20(uVar7);\n      FUN_0001dd20();\n      FUN_0001dd20();\n      return;\n    }" ({ "{") (expression_statement "uVar8 = *(uint *)(param_1 + 8);" (assignment_expression "uVar8 = *(uint *)(param_1 + 8)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 8)" (* "*") (cast_expression "(uint *)(param_1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f)" (identifier "FUN_00059a10") (argument_list "(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                   DAT_00089b04 >> 0x1f)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "DAT_00089b04") (, ",") (binary_expression "DAT_00089b04 >> 0x1f" (identifier "DAT_00089b04") (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (if_statement "if (extraout_EDX_00 < 0) {\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }" (if "if") (parenthesized_expression "(extraout_EDX_00 < 0)" (( "(") (binary_expression "extraout_EDX_00 < 0" (identifier "extraout_EDX_00") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = 0x11;\nLAB_0001e1a5:\n        FUN_00024e20(uVar7);\n        FUN_0001dd20();\n        FUN_0001dce0();\n        return;\n      }" ({ "{") (expression_statement "uVar7 = 0x11;" (assignment_expression "uVar7 = 0x11" (identifier "uVar7") (= "=") (number_literal "0x11")) (; ";")) (labeled_statement "LAB_0001e1a5:\n        FUN_00024e20(uVar7);" (statement_identifier "LAB_0001e1a5") (: ":") (expression_statement "FUN_00024e20(uVar7);" (call_expression "FUN_00024e20(uVar7)" (identifier "FUN_00024e20") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";"))) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001dce0();" (call_expression "FUN_0001dce0()" (identifier "FUN_0001dce0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (uVar8 < 0x40) {\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }" (if "if") (parenthesized_expression "(uVar8 < 0x40)" (( "(") (binary_expression "uVar8 < 0x40" (identifier "uVar8") (< "<") (number_literal "0x40")) () ")")) (compound_statement "{\n        FUN_00024e20(uVar8 + 0x80);\n        FUN_0001dd20();\n        return;\n      }" ({ "{") (expression_statement "FUN_00024e20(uVar8 + 0x80);" (call_expression "FUN_00024e20(uVar8 + 0x80)" (identifier "FUN_00024e20") (argument_list "(uVar8 + 0x80)" (( "(") (binary_expression "uVar8 + 0x80" (identifier "uVar8") (+ "+") (number_literal "0x80")) () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar7 = 5;" (assignment_expression "uVar7 = 5" (identifier "uVar7") (= "=") (number_literal "5")) (; ";")) (labeled_statement "LAB_0001df15:\n      FUN_00024e20(uVar7);" (statement_identifier "LAB_0001df15") (: ":") (expression_statement "FUN_00024e20(uVar7);" (call_expression "FUN_00024e20(uVar7)" (identifier "FUN_00024e20") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";"))) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar2 < 0x81) {\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }\n    else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar2 < 0x81)" (( "(") (binary_expression "iVar2 < 0x81" (identifier "iVar2") (< "<") (number_literal "0x81")) () ")")) (compound_statement "{\n      if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }\n      if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }\n      if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }\n    }" ({ "{") (if_statement "if (iVar2 == 0x2d) {\n        FUN_00024e20(0x2d);\n        return;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0x2d)" (( "(") (binary_expression "iVar2 == 0x2d" (identifier "iVar2") (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n        FUN_00024e20(0x2d);\n        return;\n      }" ({ "{") (expression_statement "FUN_00024e20(0x2d);" (call_expression "FUN_00024e20(0x2d)" (identifier "FUN_00024e20") (argument_list "(0x2d)" (( "(") (number_literal "0x2d") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar2 == 0x40) {\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0x40)" (( "(") (binary_expression "iVar2 == 0x40" (identifier "iVar2") (== "==") (number_literal "0x40")) () ")")) (compound_statement "{\n        uVar7 = *(undefined4 *)(param_1 + 8);\n        uVar5 = *(undefined4 *)(param_1 + 0xc);\n        iVar2 = FUN_0003b830(uVar5);\n        iVar3 = FUN_0003b830(uVar7);\n        if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }\n        lVar9 = FUN_0003a3c0(uVar5);\n        lVar10 = FUN_0003a3c0(uVar7);\n        uVar8 = (uint)(lVar9 - lVar10);\n        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);\n        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }\n        FUN_00024e20(uVar8 + 0x40);\n        return;\n      }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(param_1 + 8);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 8)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(param_1 + 0xc);" (assignment_expression "uVar5 = *(undefined4 *)(param_1 + 0xc)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar2 = FUN_0003b830(uVar5);" (assignment_expression "iVar2 = FUN_0003b830(uVar5)" (identifier "iVar2") (= "=") (call_expression "FUN_0003b830(uVar5)" (identifier "FUN_0003b830") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "iVar3 = FUN_0003b830(uVar7);" (assignment_expression "iVar3 = FUN_0003b830(uVar7)" (identifier "iVar3") (= "=") (call_expression "FUN_0003b830(uVar7)" (identifier "FUN_0003b830") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar2 != iVar3) {\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }" (if "if") (parenthesized_expression "(iVar2 != iVar3)" (( "(") (binary_expression "iVar2 != iVar3" (identifier "iVar2") (!= "!=") (identifier "iVar3")) () ")")) (compound_statement "{\n          local_20 = 0x14;\n          local_28 = 0;\n          local_24 = 0;\n          local_30 = uVar5;\n          local_2c = uVar7;\n          puVar4 = (undefined1 *)FUN_00024b20(1);\n          *puVar4 = 4;\n          uVar7 = DAT_000898a0;\n          lVar9 = FUN_00024dc0();\n          uVar5 = FUN_00021220(&local_30);\n          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);\n          return;\n        }" ({ "{") (expression_statement "local_20 = 0x14;" (assignment_expression "local_20 = 0x14" (identifier "local_20") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = uVar5;" (assignment_expression "local_30 = uVar5" (identifier "local_30") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "local_2c = uVar7;" (assignment_expression "local_2c = uVar7" (identifier "local_2c") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar4 = (undefined1 *)FUN_00024b20(1);" (assignment_expression "puVar4 = (undefined1 *)FUN_00024b20(1)" (identifier "puVar4") (= "=") (cast_expression "(undefined1 *)FUN_00024b20(1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00024b20(1)" (identifier "FUN_00024b20") (argument_list "(1)" (( "(") (number_literal "1") () ")"))))) (; ";")) (expression_statement "*puVar4 = 4;" (assignment_expression "*puVar4 = 4" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (number_literal "4")) (; ";")) (expression_statement "uVar7 = DAT_000898a0;" (assignment_expression "uVar7 = DAT_000898a0" (identifier "uVar7") (= "=") (identifier "DAT_000898a0")) (; ";")) (expression_statement "lVar9 = FUN_00024dc0();" (assignment_expression "lVar9 = FUN_00024dc0()" (identifier "lVar9") (= "=") (call_expression "FUN_00024dc0()" (identifier "FUN_00024dc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar5 = FUN_00021220(&local_30);" (assignment_expression "uVar5 = FUN_00021220(&local_30)" (identifier "uVar5") (= "=") (call_expression "FUN_00021220(&local_30)" (identifier "FUN_00021220") (argument_list "(&local_30)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (expression_statement "FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);" (call_expression "FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7)" (identifier "FUN_00024b60") (argument_list "(0xc,4,0,8,uVar5,lVar9 + -1,uVar7)" (( "(") (number_literal "0xc") (, ",") (number_literal "4") (, ",") (number_literal "0") (, ",") (number_literal "8") (, ",") (identifier "uVar5") (, ",") (binary_expression "lVar9 + -1" (identifier "lVar9") (+ "+") (number_literal "-1")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "lVar9 = FUN_0003a3c0(uVar5);" (assignment_expression "lVar9 = FUN_0003a3c0(uVar5)" (identifier "lVar9") (= "=") (call_expression "FUN_0003a3c0(uVar5)" (identifier "FUN_0003a3c0") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "lVar10 = FUN_0003a3c0(uVar7);" (assignment_expression "lVar10 = FUN_0003a3c0(uVar7)" (identifier "lVar10") (= "=") (call_expression "FUN_0003a3c0(uVar7)" (identifier "FUN_0003a3c0") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "uVar8 = (uint)(lVar9 - lVar10);" (assignment_expression "uVar8 = (uint)(lVar9 - lVar10)" (identifier "uVar8") (= "=") (call_expression "(uint)(lVar9 - lVar10)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar9 - lVar10)" (( "(") (binary_expression "lVar9 - lVar10" (identifier "lVar9") (- "-") (identifier "lVar10")) () ")")))) (; ";")) (expression_statement "iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);" (assignment_expression "iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20)" (identifier "iVar2") (= "=") (cast_expression "(int)((ulonglong)(lVar9 - lVar10) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(lVar9 - lVar10) >> 0x20)" (( "(") (binary_expression "(ulonglong)(lVar9 - lVar10) >> 0x20" (call_expression "(ulonglong)(lVar9 - lVar10)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar9 - lVar10)" (( "(") (binary_expression "lVar9 - lVar10" (identifier "lVar9") (- "-") (identifier "lVar10")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }" (if "if") (parenthesized_expression "(iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8))" (( "(") (binary_expression "iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)" (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar2 < (uint)(0x3f < uVar8)" (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar2")) (< "<") (call_expression "(uint)(0x3f < uVar8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3f < uVar8)" (( "(") (binary_expression "0x3f < uVar8" (number_literal "0x3f") (< "<") (identifier "uVar8")) () ")"))))) () ")")) (compound_statement "{\n          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }\n          FUN_00024e20(2);\n          FUN_00024e20(uVar8);\n          return;\n        }" ({ "{") (if_statement "if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }" (if "if") (parenthesized_expression "(iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8))" (( "(") (binary_expression "iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)" (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar2 < (uint)(0xff < uVar8)" (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar2")) (< "<") (call_expression "(uint)(0xff < uVar8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xff < uVar8)" (( "(") (binary_expression "0xff < uVar8" (number_literal "0xff") (< "<") (identifier "uVar8")) () ")"))))) () ")")) (compound_statement "{\n            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }\n            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);\n            return;\n          }" ({ "{") (if_statement "if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }\n            else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" (if "if") (parenthesized_expression "(iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2)" (( "(") (binary_expression "iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2" (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0xffff < uVar8) <= (uint)-iVar2" (call_expression "(uint)(0xffff < uVar8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffff < uVar8)" (( "(") (binary_expression "0xffff < uVar8" (number_literal "0xffff") (< "<") (identifier "uVar8")) () ")"))) (<= "<=") (binary_expression "(uint)-iVar2" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar2")))) () ")")) (compound_statement "{\n              FUN_00024e20(3);\n              uVar7 = FUN_00024b20(2);\n              uVar5 = 2;\n            }" ({ "{") (expression_statement "FUN_00024e20(3);" (call_expression "FUN_00024e20(3)" (identifier "FUN_00024e20") (argument_list "(3)" (( "(") (number_literal "3") () ")"))) (; ";")) (expression_statement "uVar7 = FUN_00024b20(2);" (assignment_expression "uVar7 = FUN_00024b20(2)" (identifier "uVar7") (= "=") (call_expression "FUN_00024b20(2)" (identifier "FUN_00024b20") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar5 = 2;" (assignment_expression "uVar5 = 2" (identifier "uVar5") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" (else "else") (compound_statement "{\n              iVar2 = (int)uVar8 >> 0x1f;\n              FUN_00024e20(4);\n              uVar7 = FUN_00024b20(4);\n              uVar5 = 4;\n            }" ({ "{") (expression_statement "iVar2 = (int)uVar8 >> 0x1f;" (assignment_expression "iVar2 = (int)uVar8 >> 0x1f" (identifier "iVar2") (= "=") (binary_expression "(int)uVar8 >> 0x1f" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "FUN_00024e20(4);" (call_expression "FUN_00024e20(4)" (identifier "FUN_00024e20") (argument_list "(4)" (( "(") (number_literal "4") () ")"))) (; ";")) (expression_statement "uVar7 = FUN_00024b20(4);" (assignment_expression "uVar7 = FUN_00024b20(4)" (identifier "uVar7") (= "=") (call_expression "FUN_00024b20(4)" (identifier "FUN_00024b20") (argument_list "(4)" (( "(") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar5 = 4;" (assignment_expression "uVar5 = 4" (identifier "uVar5") (= "=") (number_literal "4")) (; ";")) (} "}")))) (expression_statement "FUN_000416b0(uVar7,uVar8,iVar2,uVar5);" (call_expression "FUN_000416b0(uVar7,uVar8,iVar2,uVar5)" (identifier "FUN_000416b0") (argument_list "(uVar7,uVar8,iVar2,uVar5)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar8") (, ",") (identifier "iVar2") (, ",") (identifier "uVar5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00024e20(2);" (call_expression "FUN_00024e20(2)" (identifier "FUN_00024e20") (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (expression_statement "FUN_00024e20(uVar8);" (call_expression "FUN_00024e20(uVar8)" (identifier "FUN_00024e20") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00024e20(uVar8 + 0x40);" (call_expression "FUN_00024e20(uVar8 + 0x40)" (identifier "FUN_00024e20") (argument_list "(uVar8 + 0x40)" (( "(") (binary_expression "uVar8 + 0x40" (identifier "uVar8") (+ "+") (number_literal "0x40")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar2 == 0x14) {\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0x14)" (( "(") (binary_expression "iVar2 == 0x14" (identifier "iVar2") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\n        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);\n        if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }\n        uVar7 = 0x14;\n        goto LAB_0001df15;\n      }" ({ "{") (expression_statement "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f);" (call_expression "FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f)" (identifier "FUN_00059a10") (argument_list "(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,\n                     DAT_00089b04 >> 0x1f)" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "DAT_00089b04") (, ",") (binary_expression "DAT_00089b04 >> 0x1f" (identifier "DAT_00089b04") (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (if_statement "if (extraout_EDX < 0) {\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }" (if "if") (parenthesized_expression "(extraout_EDX < 0)" (( "(") (binary_expression "extraout_EDX < 0" (identifier "extraout_EDX") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          uVar7 = 0x15;\n          goto LAB_0001e1a5;\n        }" ({ "{") (expression_statement "uVar7 = 0x15;" (assignment_expression "uVar7 = 0x15" (identifier "uVar7") (= "=") (number_literal "0x15")) (; ";")) (goto_statement "goto LAB_0001e1a5;" (goto "goto") (statement_identifier "LAB_0001e1a5") (; ";")) (} "}"))) (expression_statement "uVar7 = 0x14;" (assignment_expression "uVar7 = 0x14" (identifier "uVar7") (= "=") (number_literal "0x14")) (; ";")) (goto_statement "goto LAB_0001df15;" (goto "goto") (statement_identifier "LAB_0001df15") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }\n      if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }\n    }" ({ "{") (if_statement "if (iVar2 == 0x103) {\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0x103)" (( "(") (binary_expression "iVar2 == 0x103" (identifier "iVar2") (== "==") (number_literal "0x103")) () ")")) (compound_statement "{\n        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }\n        return;\n      }" ({ "{") (for_statement "for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;\n            puVar1 = (undefined4 *)*puVar1) {\n          FUN_00031660(puVar1 + 1,1);\n        }" (for "for") (( "(") (assignment_expression "puVar1 = *(undefined4 **)(param_1 + 8)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 8)" (* "*") (cast_expression "(undefined4 **)(param_1 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";") (binary_expression "puVar1 != (undefined4 *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar1 = (undefined4 *)*puVar1" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)*puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) () ")") (compound_statement "{\n          FUN_00031660(puVar1 + 1,1);\n        }" ({ "{") (expression_statement "FUN_00031660(puVar1 + 1,1);" (call_expression "FUN_00031660(puVar1 + 1,1)" (identifier "FUN_00031660") (argument_list "(puVar1 + 1,1)" (( "(") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar2 < 0x104) {\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }\n      else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(iVar2 < 0x104)" (( "(") (binary_expression "iVar2 < 0x104" (identifier "iVar2") (< "<") (number_literal "0x104")) () ")")) (compound_statement "{\n        if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }\n      }" ({ "{") (if_statement "if (iVar2 == 0xc0) {\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }" (if "if") (parenthesized_expression "(iVar2 == 0xc0)" (( "(") (binary_expression "iVar2 == 0xc0" (identifier "iVar2") (== "==") (number_literal "0xc0")) () ")")) (compound_statement "{\n          if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }\n          FUN_00024e20(6);\n          FUN_0001dd20();\n          return;\n        }" ({ "{") (if_statement "if (*(uint *)(param_1 + 8) < 0x40) {\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 8) < 0x40)" (( "(") (binary_expression "*(uint *)(param_1 + 8) < 0x40" (pointer_expression "*(uint *)(param_1 + 8)" (* "*") (cast_expression "(uint *)(param_1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (< "<") (number_literal "0x40")) () ")")) (compound_statement "{\n            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);\n            return;\n          }" ({ "{") (expression_statement "FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);" (call_expression "FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0)" (identifier "FUN_00024e20") (argument_list "(*(uint *)(param_1 + 8) + 0xc0)" (( "(") (binary_expression "*(uint *)(param_1 + 8) + 0xc0" (pointer_expression "*(uint *)(param_1 + 8)" (* "*") (cast_expression "(uint *)(param_1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0xc0")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00024e20(6);" (call_expression "FUN_00024e20(6)" (identifier "FUN_00024e20") (argument_list "(6)" (( "(") (number_literal "6") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }\n        if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }\n      }" ({ "{") (if_statement "if (iVar2 == 0x105) {\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }" (if "if") (parenthesized_expression "(iVar2 == 0x105)" (( "(") (binary_expression "iVar2 == 0x105" (identifier "iVar2") (== "==") (number_literal "0x105")) () ")")) (compound_statement "{\n          uVar8 = *(uint *)(param_1 + 0xc);\n          if (uVar8 == 0xff) {\n            return;\n          }\n          uVar6 = uVar8 & 7;\n          FUN_00024e20(0x16);\n          FUN_0001dd20();\n          if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }\n          if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }\n          FUN_00031660(param_1 + 0x10,uVar7);\n          return;\n        }" ({ "{") (expression_statement "uVar8 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0xc)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (uVar8 == 0xff) {\n            return;\n          }" (if "if") (parenthesized_expression "(uVar8 == 0xff)" (( "(") (binary_expression "uVar8 == 0xff" (identifier "uVar8") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar6 = uVar8 & 7;" (assignment_expression "uVar6 = uVar8 & 7" (identifier "uVar6") (= "=") (binary_expression "uVar8 & 7" (identifier "uVar8") (& "&") (number_literal "7"))) (; ";")) (expression_statement "FUN_00024e20(0x16);" (call_expression "FUN_00024e20(0x16)" (identifier "FUN_00024e20") (argument_list "(0x16)" (( "(") (number_literal "0x16") () ")"))) (; ";")) (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (uVar6 == 2) {\n            uVar7 = 2;\n          }\n          else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" (if "if") (parenthesized_expression "(uVar6 == 2)" (( "(") (binary_expression "uVar6 == 2" (identifier "uVar6") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            uVar7 = 2;\n          }" ({ "{") (expression_statement "uVar7 = 2;" (assignment_expression "uVar7 = 2" (identifier "uVar7") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" (else "else") (if_statement "if (uVar6 < 3) {\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }\n          else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" (if "if") (parenthesized_expression "(uVar6 < 3)" (( "(") (binary_expression "uVar6 < 3" (identifier "uVar6") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n            if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }\n            uVar7 = FUN_00054100();\n          }" ({ "{") (if_statement "if (uVar6 != 0) {\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);\n            }" ({ "{") (labeled_statement "LAB_0001e374:\n                    \n              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);" (statement_identifier "LAB_0001e374") (: ":") (expression_statement "FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);" (call_expression "FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6)" (identifier "FUN_0002be80") (argument_list "("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6)" (( "(") (string_literal ""../../gas/dw2gencfi.c"" (" """) (string_content "../../gas/dw2gencfi.c") (" """)) (, ",") (number_literal "0x6f4") (, ",") (string_literal ""output_cfi_insn"" (" """) (string_content "output_cfi_insn") (" """)) (, ",") (identifier "uVar6") () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar7 = FUN_00054100();" (assignment_expression "uVar7 = FUN_00054100()" (identifier "uVar7") (= "=") (call_expression "FUN_00054100()" (identifier "FUN_00054100") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" (else "else") (if_statement "if (uVar6 == 3) {\n            uVar7 = 4;\n          }\n          else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" (if "if") (parenthesized_expression "(uVar6 == 3)" (( "(") (binary_expression "uVar6 == 3" (identifier "uVar6") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n            uVar7 = 4;\n          }" ({ "{") (expression_statement "uVar7 = 4;" (assignment_expression "uVar7 = 4" (identifier "uVar7") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" (else "else") (compound_statement "{\n            if (uVar6 != 4) goto LAB_0001e374;\n            uVar7 = 8;\n          }" ({ "{") (if_statement "if (uVar6 != 4) goto LAB_0001e374;" (if "if") (parenthesized_expression "(uVar6 != 4)" (( "(") (binary_expression "uVar6 != 4" (identifier "uVar6") (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_0001e374;" (goto "goto") (statement_identifier "LAB_0001e374") (; ";"))) (expression_statement "uVar7 = 8;" (assignment_expression "uVar7 = 8" (identifier "uVar7") (= "=") (number_literal "8")) (; ";")) (} "}")))))))) (if_statement "if (*(int *)(param_1 + 0xc) == 0) {\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }\n          else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            FUN_0001dd20();\n            FUN_00024e20(3);\n          }" ({ "{") (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024e20(3);" (call_expression "FUN_00024e20(3)" (identifier "FUN_00024e20") (argument_list "(3)" (( "(") (number_literal "3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" (else "else") (compound_statement "{\n            FUN_0001dd20();\n            FUN_00024e20(0xf1);\n            FUN_00024e20(uVar8);\n            if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }\n          }" ({ "{") (expression_statement "FUN_0001dd20();" (call_expression "FUN_0001dd20()" (identifier "FUN_0001dd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00024e20(0xf1);" (call_expression "FUN_00024e20(0xf1)" (identifier "FUN_00024e20") (argument_list "(0xf1)" (( "(") (number_literal "0xf1") () ")"))) (; ";")) (expression_statement "FUN_00024e20(uVar8);" (call_expression "FUN_00024e20(uVar8)" (identifier "FUN_00024e20") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (if_statement "if ((uVar8 & 0x70) == 0x10) {\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }" (if "if") (parenthesized_expression "((uVar8 & 0x70) == 0x10)" (( "(") (binary_expression "(uVar8 & 0x70) == 0x10" (parenthesized_expression "(uVar8 & 0x70)" (( "(") (binary_expression "uVar8 & 0x70" (identifier "uVar8") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n              *(undefined1 *)(param_1 + 0x20) = 0x14;\n              uVar5 = FUN_00038f70();\n              *(undefined4 *)(param_1 + 0x14) = uVar5;\n            }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x20) = 0x14;" (assignment_expression "*(undefined1 *)(param_1 + 0x20) = 0x14" (pointer_expression "*(undefined1 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0x14")) (; ";")) (expression_statement "uVar5 = FUN_00038f70();" (assignment_expression "uVar5 = FUN_00038f70()" (identifier "uVar5") (= "=") (call_expression "FUN_00038f70()" (identifier "FUN_00038f70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x14) = uVar5;" (assignment_expression "*(undefined4 *)(param_1 + 0x14) = uVar5" (pointer_expression "*(undefined4 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_00031660(param_1 + 0x10,uVar7);" (call_expression "FUN_00031660(param_1 + 0x10,uVar7)" (identifier "FUN_00031660") (argument_list "(param_1 + 0x10,uVar7)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (iVar2 == 0x106) {\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }" (if "if") (parenthesized_expression "(iVar2 == 0x106)" (( "(") (binary_expression "iVar2 == 0x106" (identifier "iVar2") (== "==") (number_literal "0x106")) () ")")) (compound_statement "{\n          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));\n          return;\n        }" ({ "{") (expression_statement "FUN_0003aaa0(*(undefined4 *)(param_1 + 8));" (call_expression "FUN_0003aaa0(*(undefined4 *)(param_1 + 8))" (identifier "FUN_0003aaa0") (argument_list "(*(undefined4 *)(param_1 + 8))" (( "(") (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (} "}")))) (} "}")))) (expression_statement "FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);" (call_expression "FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2)" (identifier "FUN_0002be80") (argument_list "("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2)" (( "(") (string_literal ""../../gas/dw2gencfi.c"" (" """) (string_content "../../gas/dw2gencfi.c") (" """)) (, ",") (number_literal "0x71a") (, ",") (string_literal ""output_cfi_insn"" (" """) (string_content "output_cfi_insn") (" """)) (, ",") (identifier "iVar2") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 function_1(type_1 *insn)

{
  type_2 *var_23;
  type_3 *s;
  type_4 *var_11;
  type_4 *var_12;
  char *pcVar4;
  type_3 *psVar5;
  int var_22;
  int var_8;
  type_5 var_25;
  type_5 var_9;
  type_6 var_17;
  type_7 var_19;
  type_7 var_20;
  int n;
  int var_1;
  type_8 uVar12;
  type_8 in_stack_ffffffa8;
  type_6 in_stack_ffffffb4;
  type_9 exp;
  
  var_1 = insn->insn;
  if (var_1 == 0xe) {
    var_9 = (insn->u).ri.reg;
    var_25 = (insn->u).rr.reg2;
    if (-1 < (int)var_25) {
      uVar12 = 0xe;
      var_2(0xe);
      var_3(var_4(in_stack_ffffffa8,uVar12));
      return;
    }
    uVar12 = 0x13;
    var_2(0x13);
    var_5(var_9,var_25,var_6,var_6 >> 0x1f);
    var_7(var_4(in_stack_ffffffa8,uVar12));
    return;
  }
  if (var_1 < 0xf) {
    if (var_1 < 0xc) {
      if (9 < var_1) {
        var_2(var_1);
        return;
      }
      if (6 < var_1) {
        if (8 < var_1) {
          uVar12 = 9;
          var_2(9);
          var_3(var_4(in_stack_ffffffa8,uVar12));
          var_3(var_4(in_stack_ffffffa8,uVar12));
          return;
        }
LAB_0001dec9:
        var_2(var_1);
        var_3(var_4(in_stack_ffffffa8,var_1));
        return;
      }
    }
    else {
      if (var_1 == 0xc) {
        psVar5 = (insn->u).ea.exp.X_add_symbol;
        var_9 = (insn->u).rr.reg2;
        if (-1 < (int)psVar5) {
          uVar12 = 0xc;
          var_2(0xc);
          var_3(var_4(in_stack_ffffffa8,uVar12));
          var_3(var_4(in_stack_ffffffa8,uVar12));
          return;
        }
        uVar12 = 0x12;
        var_2(0x12);
        var_3(var_4(in_stack_ffffffa8,uVar12));
        var_5(var_9,psVar5,var_6,var_6 >> 0x1f);
        var_7(var_4(in_stack_ffffffa8,uVar12));
        return;
      }
      if (var_1 == 0xd) goto LAB_0001dec9;
    }
  }
  else {
    if (var_1 == 0x80) {
      var_9 = (insn->u).ri.reg;
      psVar5 = (insn->u).ea.exp.X_add_symbol;
      var_5((insn->u).rr.reg2,psVar5,var_6,var_6 >> 0x1f);
      if (var_8 < 0) {
        var_1 = 0x11;
LAB_0001e1a5:
        var_2(var_1);
        var_3(var_4(psVar5,var_1));
        var_7(var_4(psVar5,var_1));
        return;
      }
      if (var_9 < 0x40) {
        var_1 = var_9 + 0x80;
        var_2(var_1);
        var_3(var_4(psVar5,var_1));
        return;
      }
      var_1 = 5;
LAB_0001df15:
      var_2(var_1);
      var_3(var_4(psVar5,var_1));
      var_3(var_4(psVar5,var_1));
      return;
    }
    if (var_1 < 0x81) {
      if (var_1 == 0x2d) {
        var_2(0x2d);
        return;
      }
      if (var_1 == 0x40) {
        psVar5 = (insn->u).ll.lab1;
        s = (insn->u).ll.lab2;
        var_11 = var_10(s);
        var_12 = var_10(psVar5);
        if (var_11 != var_12) {
          exp._16_1_ = 0x14;
          exp.X_add_number._0_4_ = 0;
          exp.X_add_number._4_4_ = 0;
          exp.X_add_symbol = s;
          exp.X_op_symbol = psVar5;
          pcVar4 = var_13(1);
          *pcVar4 = '\x04';
          var_11 = frag_now;
          var_17 = var_14();
          psVar5 = var_15(&exp);
          var_16(rs_cfa,4,0,8,psVar5,var_17 - 1,(char *)var_11);
          return;
        }
        var_19 = var_18(s);
        var_20 = var_18(psVar5);
        var_9 = (type_5)(var_19 - var_20);
        var_1 = (int)(var_19 - var_20 >> 0x20);
        if (var_1 != 0 || (type_5)-var_1 < (type_5)(0x3f < var_9)) {
          if (var_1 != 0 || (type_5)-var_1 < (type_5)(0xff < var_9)) {
            if (var_1 == 0 && (type_5)(0xffff < var_9) <= (type_5)-var_1) {
              var_2(3);
              pcVar4 = var_13(2);
              n = 2;
            }
            else {
              var_1 = (int)var_9 >> 0x1f;
              var_2(4);
              pcVar4 = var_13(4);
              n = 4;
            }
            var_21(pcVar4,var_4(var_1,var_9),n);
            return;
          }
          var_2(2);
          var_2(var_9);
          return;
        }
        var_2(var_9 + 0x40);
        return;
      }
      if (var_1 == 0x14) {
        psVar5 = (insn->u).ea.exp.X_add_symbol;
        var_5((insn->u).rr.reg2,psVar5,var_6,var_6 >> 0x1f);
        if (var_22 < 0) {
          var_1 = 0x15;
          goto LAB_0001e1a5;
        }
        var_1 = 0x14;
        goto LAB_0001df15;
      }
    }
    else {
      if (var_1 == 0x103) {
        for (var_23 = (insn->u).esc; var_23 != (type_2 *)0x0; var_23 = var_23->next) {
          var_24(&var_23->exp,1);
        }
        return;
      }
      if (var_1 < 0x104) {
        if (var_1 == 0xc0) {
          var_9 = (insn->u).ri.reg;
          if (var_9 < 0x40) {
            var_2(var_9 + 0xc0);
            return;
          }
          uVar12 = 6;
          var_2(6);
          var_3(var_4(in_stack_ffffffa8,uVar12));
          return;
        }
      }
      else {
        if (var_1 == 0x105) {
          var_9 = (insn->u).rr.reg2;
          if (var_9 == 0xff) {
            return;
          }
          uVar12 = 0x16;
          var_25 = var_9 & 7;
          var_2(0x16);
          var_3(var_4(in_stack_ffffffa8,uVar12));
          if (var_25 == 2) {
            var_25 = 2;
          }
          else if (var_25 < 3) {
            if (var_25 != 0) {
LAB_0001e374:
                    /* WARNING: Subroutine does not return */
              var_26("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn");
            }
            var_25 = var_27();
          }
          else if (var_25 == 3) {
            var_25 = 4;
          }
          else {
            if (var_25 != 4) goto LAB_0001e374;
            var_25 = 8;
          }
          if ((insn->u).rr.reg2 == 0) {
            var_3(in_stack_ffffffb4);
            var_2(3);
          }
          else {
            var_3(in_stack_ffffffb4);
            var_2(0xf1);
            var_2(var_9);
            if ((var_9 & 0x70) == 0x10) {
              *(type_10 *)((int)&insn->u + 0x18) = 0x14;
              psVar5 = var_28();
              (insn->u).ea.exp.X_op_symbol = psVar5;
            }
          }
          var_24(&(insn->u).ea.exp,var_25);
          return;
        }
        if (var_1 == 0x106) {
          var_29((insn->u).sym_name);
          return;
        }
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  var_26("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn");
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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))))) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) (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: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (number_literal) (number_literal) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (number_literal) right: (identifier)))) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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))))) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (for_statement initializer: (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)))))) condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (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: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (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: (number_literal))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))))) (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: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (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)))))))) (return_statement)))))))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 MASKED(int param_1)

{
  undefined4 *puVar1;
  int iVar2;
  int iVar3;
  undefined1 *puVar4;
  undefined4 uVar5;
  int extraout_EDX;
  int extraout_EDX_00;
  uint uVar6;
  undefined4 uVar7;
  uint uVar8;
  longlong lVar9;
  longlong lVar10;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined4 local_24;
  undefined1 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1dd6b;
  iVar2 = *(int *)(param_1 + 4);
  if (iVar2 == 0xe) {
    uVar7 = *(undefined4 *)(param_1 + 8);
    iVar2 = *(int *)(param_1 + 0xc);
    if (-1 < iVar2) {
      FUN_00024e20(0xe);
      FUN_0001dd20();
      return;
    }
    FUN_00024e20(0x13);
    FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);
    FUN_0001dce0();
    return;
  }
  if (iVar2 < 0xf) {
    if (iVar2 < 0xc) {
      if (9 < iVar2) {
        FUN_00024e20(iVar2);
        return;
      }
      if (6 < iVar2) {
        if (8 < iVar2) {
          FUN_00024e20(9);
          FUN_0001dd20();
          FUN_0001dd20();
          return;
        }
LAB_0001dec9:
        FUN_00024e20(iVar2);
        FUN_0001dd20();
        return;
      }
    }
    else {
      if (iVar2 == 0xc) {
        iVar2 = *(int *)(param_1 + 0x10);
        uVar7 = *(undefined4 *)(param_1 + 0xc);
        if (-1 < iVar2) {
          FUN_00024e20(0xc);
          FUN_0001dd20();
          FUN_0001dd20();
          return;
        }
        FUN_00024e20(0x12);
        FUN_0001dd20();
        FUN_00059a10(uVar7,iVar2,DAT_00089b04,DAT_00089b04 >> 0x1f);
        FUN_0001dce0();
        return;
      }
      if (iVar2 == 0xd) goto LAB_0001dec9;
    }
  }
  else {
    if (iVar2 == 0x80) {
      uVar8 = *(uint *)(param_1 + 8);
      FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,
                   DAT_00089b04 >> 0x1f);
      if (extraout_EDX_00 < 0) {
        uVar7 = 0x11;
LAB_0001e1a5:
        FUN_00024e20(uVar7);
        FUN_0001dd20();
        FUN_0001dce0();
        return;
      }
      if (uVar8 < 0x40) {
        FUN_00024e20(uVar8 + 0x80);
        FUN_0001dd20();
        return;
      }
      uVar7 = 5;
LAB_0001df15:
      FUN_00024e20(uVar7);
      FUN_0001dd20();
      FUN_0001dd20();
      return;
    }
    if (iVar2 < 0x81) {
      if (iVar2 == 0x2d) {
        FUN_00024e20(0x2d);
        return;
      }
      if (iVar2 == 0x40) {
        uVar7 = *(undefined4 *)(param_1 + 8);
        uVar5 = *(undefined4 *)(param_1 + 0xc);
        iVar2 = FUN_0003b830(uVar5);
        iVar3 = FUN_0003b830(uVar7);
        if (iVar2 != iVar3) {
          local_20 = 0x14;
          local_28 = 0;
          local_24 = 0;
          local_30 = uVar5;
          local_2c = uVar7;
          puVar4 = (undefined1 *)FUN_00024b20(1);
          *puVar4 = 4;
          uVar7 = DAT_000898a0;
          lVar9 = FUN_00024dc0();
          uVar5 = FUN_00021220(&local_30);
          FUN_00024b60(0xc,4,0,8,uVar5,lVar9 + -1,uVar7);
          return;
        }
        lVar9 = FUN_0003a3c0(uVar5);
        lVar10 = FUN_0003a3c0(uVar7);
        uVar8 = (uint)(lVar9 - lVar10);
        iVar2 = (int)((ulonglong)(lVar9 - lVar10) >> 0x20);
        if (iVar2 != 0 || (uint)-iVar2 < (uint)(0x3f < uVar8)) {
          if (iVar2 != 0 || (uint)-iVar2 < (uint)(0xff < uVar8)) {
            if (iVar2 == 0 && (uint)(0xffff < uVar8) <= (uint)-iVar2) {
              FUN_00024e20(3);
              uVar7 = FUN_00024b20(2);
              uVar5 = 2;
            }
            else {
              iVar2 = (int)uVar8 >> 0x1f;
              FUN_00024e20(4);
              uVar7 = FUN_00024b20(4);
              uVar5 = 4;
            }
            FUN_000416b0(uVar7,uVar8,iVar2,uVar5);
            return;
          }
          FUN_00024e20(2);
          FUN_00024e20(uVar8);
          return;
        }
        FUN_00024e20(uVar8 + 0x40);
        return;
      }
      if (iVar2 == 0x14) {
        FUN_00059a10(*(undefined4 *)(param_1 + 0xc),*(undefined4 *)(param_1 + 0x10),DAT_00089b04,
                     DAT_00089b04 >> 0x1f);
        if (extraout_EDX < 0) {
          uVar7 = 0x15;
          goto LAB_0001e1a5;
        }
        uVar7 = 0x14;
        goto LAB_0001df15;
      }
    }
    else {
      if (iVar2 == 0x103) {
        for (puVar1 = *(undefined4 **)(param_1 + 8); puVar1 != (undefined4 *)0x0;
            puVar1 = (undefined4 *)*puVar1) {
          FUN_00031660(puVar1 + 1,1);
        }
        return;
      }
      if (iVar2 < 0x104) {
        if (iVar2 == 0xc0) {
          if (*(uint *)(param_1 + 8) < 0x40) {
            FUN_00024e20(*(uint *)(param_1 + 8) + 0xc0);
            return;
          }
          FUN_00024e20(6);
          FUN_0001dd20();
          return;
        }
      }
      else {
        if (iVar2 == 0x105) {
          uVar8 = *(uint *)(param_1 + 0xc);
          if (uVar8 == 0xff) {
            return;
          }
          uVar6 = uVar8 & 7;
          FUN_00024e20(0x16);
          FUN_0001dd20();
          if (uVar6 == 2) {
            uVar7 = 2;
          }
          else if (uVar6 < 3) {
            if (uVar6 != 0) {
LAB_0001e374:
                    /* WARNING: Subroutine does not return */
              FUN_0002be80("../../gas/dw2gencfi.c",0x6f4,"output_cfi_insn",uVar6);
            }
            uVar7 = FUN_00054100();
          }
          else if (uVar6 == 3) {
            uVar7 = 4;
          }
          else {
            if (uVar6 != 4) goto LAB_0001e374;
            uVar7 = 8;
          }
          if (*(int *)(param_1 + 0xc) == 0) {
            FUN_0001dd20();
            FUN_00024e20(3);
          }
          else {
            FUN_0001dd20();
            FUN_00024e20(0xf1);
            FUN_00024e20(uVar8);
            if ((uVar8 & 0x70) == 0x10) {
              *(undefined1 *)(param_1 + 0x20) = 0x14;
              uVar5 = FUN_00038f70();
              *(undefined4 *)(param_1 + 0x14) = uVar5;
            }
          }
          FUN_00031660(param_1 + 0x10,uVar7);
          return;
        }
        if (iVar2 == 0x106) {
          FUN_0003aaa0(*(undefined4 *)(param_1 + 8));
          return;
        }
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be80("../../gas/dw2gencfi.c",0x71a,"output_cfi_insn",iVar2);
}

