
void list_page_codes(int scsi_ptype,_Bool encserv,_Bool mchngr,int t_proto)

{
  undefined *puVar1;
  int iVar2;
  page_code_desc *ppVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  EVP_PKEY_CTX *ctx;
  undefined3 in_register_00000014;
  int *piVar7;
  undefined3 in_register_00000018;
  int iVar8;
  undefined4 *puVar9;
  int *piVar10;
  int *piVar11;
  int *piVar12;
  int *piVar13;
  code *pcVar14;
  undefined *puVar15;
  int num;
  int num_ptype;
  char b [64];
  
  puVar1 = PTR___stack_chk_guard_000288dc;
  puVar15 = PTR_00028838;
  piVar12 = &num;
  iVar2 = *(int *)PTR___stack_chk_guard_000288dc;
  iVar8 = CONCAT31(in_register_00000018,mchngr);
  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);
  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);
  pcVar14 = (code *)(PTR_00028838 + 0x37a8);
  ppVar3 = get_mpage_tbl_size(-1,piVar12);
  piVar7 = &num_ptype;
  piVar4 = (int *)(*pcVar14)(scsi_ptype,piVar7);
  piVar11 = (int *)(PTR_00028838 + 0x5918);
  piVar10 = (int *)(PTR_00028838 + 0x58fc);
  piVar13 = (int *)(PTR_00028838 + 0x58c8);
LAB_00013f6c:
  if (ppVar3 == (page_code_desc *)0x0) goto LAB_00014010;
LAB_00013f74:
  iVar5 = ppVar3->page_code;
  iVar6 = ppVar3->subpage_code;
LAB_00013f7c:
  iVar6 = iVar5 * 0x100 + iVar6;
  if (piVar4 == (int *)0x0) goto LAB_00014024;
LAB_00013f88:
  iVar5 = *piVar4 * 0x100 + piVar4[1];
  do {
    if (((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)) {
      if (iVar6 == iVar5) {
        if (piVar4 != (int *)0x0) {
          iVar8 = *piVar4;
          if (piVar4[1] == 0) {
            piVar7 = (int *)(puVar15 + 0x58e4);
            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);
          }
          else {
            piVar7 = piVar13;
            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);
          }
          num_ptype = num_ptype + -1;
          if (0 < num_ptype) {
            piVar4 = piVar4 + 4;
            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;
            goto LAB_00013fec;
          }
        }
        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&
           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {
          piVar4 = (int *)0x0;
          goto LAB_00013f6c;
        }
      }
      else {
        if (iVar6 < iVar5) {
          if (ppVar3 != (page_code_desc *)0x0) {
            iVar8 = ppVar3->page_code;
            if (ppVar3->subpage_code == 0) {
              piVar7 = piVar11;
              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);
            }
            else {
              piVar7 = piVar10;
              (*(code *)PTR___printf_chk_00028884)
                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);
            }
            goto LAB_00013fec;
          }
          goto LAB_0001407c;
        }
        if (piVar4 == (int *)0x0) {
          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;
        }
        else {
          iVar8 = *piVar4;
          if (piVar4[1] == 0) {
            piVar7 = piVar11;
            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);
          }
          else {
            piVar7 = piVar10;
            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);
          }
          num_ptype = num_ptype + -1;
          if (0 < num_ptype) {
            piVar4 = piVar4 + 4;
            goto LAB_00014000;
          }
          if (ppVar3 != (page_code_desc *)0x0) {
            piVar4 = (int *)0x0;
            goto LAB_00013f6c;
          }
        }
      }
LAB_0001408c:
      if (scsi_ptype == 0xd) goto LAB_000141b0;
      ctx = (EVP_PKEY_CTX *)PTR_00028838;
      if (CONCAT31(in_register_00000014,encserv) != 0) {
        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);
        ctx = (EVP_PKEY_CTX *)0xd;
        piVar7 = piVar12;
        piVar4 = (int *)(*pcVar14)(0xd,piVar12);
        if (piVar4 != (int *)0x0) {
          piVar11 = (int *)(PTR_00028838 + 0x5918);
          piVar10 = (int *)(PTR_00028838 + 0x58fc);
          do {
            ctx = (EVP_PKEY_CTX *)0x1;
            iVar8 = *piVar4;
            if (piVar4[1] == 0) {
              piVar7 = piVar11;
              (*(code *)PTR___printf_chk_00028884)(1,piVar11);
            }
            else {
              piVar7 = piVar10;
              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);
            }
            num = num + -1;
          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));
        }
      }
      if (scsi_ptype != 8) {
LAB_000141b0:
        ctx = (EVP_PKEY_CTX *)PTR_00028838;
        if (CONCAT31(in_register_00000018,mchngr) != 0) {
          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);
          ctx = (EVP_PKEY_CTX *)0x8;
          piVar7 = piVar12;
          piVar4 = (int *)(*pcVar14)(8,piVar12);
          if (piVar4 != (int *)0x0) {
            piVar11 = (int *)(PTR_00028838 + 0x5918);
            piVar10 = (int *)(PTR_00028838 + 0x58fc);
            do {
              ctx = (EVP_PKEY_CTX *)0x1;
              iVar8 = *piVar4;
              if (piVar4[1] == 0) {
                piVar7 = piVar11;
                (*(code *)PTR___printf_chk_00028884)(1,piVar11);
              }
              else {
                piVar7 = piVar10;
                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);
              }
              num = num + -1;
            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));
          }
        }
      }
      if ((uint)t_proto < 0x10) {
        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);
        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);
        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);
        ctx = (EVP_PKEY_CTX *)t_proto;
        piVar7 = piVar12;
        if (ppVar3 != (page_code_desc *)0x0) {
          piVar12 = (int *)(PTR_00028838 + 0x5918);
          piVar4 = (int *)(PTR_00028838 + 0x58fc);
          do {
            ctx = (EVP_PKEY_CTX *)0x1;
            iVar8 = ppVar3->page_code;
            if (ppVar3->subpage_code == 0) {
              piVar7 = piVar12;
              (*(code *)PTR___printf_chk_00028884)(1,piVar12);
            }
            else {
              piVar7 = piVar4;
              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)
              ;
            }
            num = num + -1;
          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));
        }
      }
      if (iVar2 == *(int *)puVar1) {
        return;
      }
      puVar15 = PTR___stack_chk_fail_000288cc;
      (*(code *)PTR___stack_chk_fail_000288cc)();
      _init(ctx);
      puVar9 = *(undefined4 **)(puVar15 + 0x14484);
      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;
      iVar2 = 0;
      if (iVar5 != 0) {
        do {
          iVar2 = iVar2 + 1;
          (*(code *)*puVar9)(ctx,piVar7,iVar8);
          puVar9 = puVar9 + 1;
        } while (iVar5 != iVar2);
      }
      return;
    }
LAB_00013fec:
    num = num + -1;
    if (num < 1) {
LAB_0001407c:
      iVar6 = 0xff;
      iVar5 = 0x40;
      ppVar3 = (page_code_desc *)0x0;
      if (piVar4 == (int *)0x0) goto LAB_0001408c;
      goto LAB_00013f7c;
    }
    ppVar3 = ppVar3 + 1;
LAB_00014000:
    if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;
    if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f74;
LAB_00014010:
    iVar6 = 0x40ff;
    if (piVar4 != (int *)0x0) goto LAB_00013f88;
LAB_00014024:
    iVar5 = 0x40ff;
  } while( true );
}



void FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)

{
  int *piVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  undefined *puVar5;
  int *piVar6;
  int iVar7;
  undefined4 *puVar8;
  int *piVar9;
  int *piVar10;
  int *piVar11;
  int *piVar12;
  code *pcVar13;
  undefined *puVar14;
  int local_74;
  int local_70;
  undefined1 auStack_6c [64];
  int local_2c;
  
  puVar14 = PTR___stack_chk_guard_000288dc;
  puVar5 = PTR_00028838;
  piVar11 = &local_74;
  local_2c = *(int *)PTR___stack_chk_guard_000288dc;
  iVar7 = param_3;
  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);
  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);
  pcVar13 = (code *)(PTR_00028838 + 0x37a8);
  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);
  piVar6 = &local_70;
  piVar2 = (int *)(*pcVar13)(param_1,piVar6);
  piVar10 = (int *)(PTR_00028838 + 0x5918);
  piVar9 = (int *)(PTR_00028838 + 0x58fc);
  piVar12 = (int *)(PTR_00028838 + 0x58c8);
LAB_00013f6c:
  if (piVar1 == (int *)0x0) goto LAB_00014010;
LAB_00013f74:
  iVar3 = *piVar1;
  iVar4 = piVar1[1];
LAB_00013f7c:
  iVar4 = iVar3 * 0x100 + iVar4;
  if (piVar2 == (int *)0x0) goto LAB_00014024;
LAB_00013f88:
  iVar3 = *piVar2 * 0x100 + piVar2[1];
  do {
    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {
      if (iVar4 == iVar3) {
        if (piVar2 != (int *)0x0) {
          iVar7 = *piVar2;
          if (piVar2[1] == 0) {
            piVar6 = (int *)(puVar5 + 0x58e4);
            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);
          }
          else {
            piVar6 = piVar12;
            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);
          }
          local_70 = local_70 + -1;
          if (0 < local_70) {
            piVar2 = piVar2 + 4;
            if (piVar1 == (int *)0x0) goto LAB_0001407c;
            goto LAB_00013fec;
          }
        }
        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&
           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {
          piVar2 = (int *)0x0;
          goto LAB_00013f6c;
        }
      }
      else {
        if (iVar4 < iVar3) {
          if (piVar1 != (int *)0x0) {
            iVar7 = *piVar1;
            if (piVar1[1] == 0) {
              piVar6 = piVar10;
              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);
            }
            else {
              piVar6 = piVar9;
              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);
            }
            goto LAB_00013fec;
          }
          goto LAB_0001407c;
        }
        if (piVar2 == (int *)0x0) {
          if (piVar1 != (int *)0x0) goto LAB_00013f6c;
        }
        else {
          iVar7 = *piVar2;
          if (piVar2[1] == 0) {
            piVar6 = piVar10;
            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);
          }
          else {
            piVar6 = piVar9;
            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);
          }
          local_70 = local_70 + -1;
          if (0 < local_70) {
            piVar2 = piVar2 + 4;
            goto LAB_00014000;
          }
          if (piVar1 != (int *)0x0) {
            piVar2 = (int *)0x0;
            goto LAB_00013f6c;
          }
        }
      }
LAB_0001408c:
      if (param_1 == 0xd) goto LAB_000141b0;
      puVar5 = PTR_00028838;
      if (param_2 != 0) {
        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);
        puVar5 = (undefined *)0xd;
        piVar6 = piVar11;
        piVar1 = (int *)(*pcVar13)(0xd,piVar11);
        if (piVar1 != (int *)0x0) {
          piVar9 = (int *)(PTR_00028838 + 0x5918);
          piVar2 = (int *)(PTR_00028838 + 0x58fc);
          do {
            puVar5 = (undefined *)0x1;
            iVar7 = *piVar1;
            if (piVar1[1] == 0) {
              piVar6 = piVar9;
              (*(code *)PTR___printf_chk_00028884)(1,piVar9);
            }
            else {
              piVar6 = piVar2;
              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);
            }
            local_74 = local_74 + -1;
          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));
        }
      }
      if (param_1 != 8) {
LAB_000141b0:
        puVar5 = PTR_00028838;
        if (param_3 != 0) {
          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);
          puVar5 = (undefined *)0x8;
          piVar6 = piVar11;
          piVar1 = (int *)(*pcVar13)(8,piVar11);
          if (piVar1 != (int *)0x0) {
            piVar9 = (int *)(PTR_00028838 + 0x5918);
            piVar2 = (int *)(PTR_00028838 + 0x58fc);
            do {
              puVar5 = (undefined *)0x1;
              iVar7 = *piVar1;
              if (piVar1[1] == 0) {
                piVar6 = piVar9;
                (*(code *)PTR___printf_chk_00028884)(1,piVar9);
              }
              else {
                piVar6 = piVar2;
                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);
              }
              local_74 = local_74 + -1;
            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));
          }
        }
      }
      if (param_4 < (undefined *)0x10) {
        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);
        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);
        piVar1 = (int *)FUN_00013a54(param_4,piVar11);
        puVar5 = param_4;
        piVar6 = piVar11;
        if (piVar1 != (int *)0x0) {
          piVar11 = (int *)(PTR_00028838 + 0x5918);
          piVar2 = (int *)(PTR_00028838 + 0x58fc);
          do {
            puVar5 = (undefined *)0x1;
            iVar7 = *piVar1;
            if (piVar1[1] == 0) {
              piVar6 = piVar11;
              (*(code *)PTR___printf_chk_00028884)(1,piVar11);
            }
            else {
              piVar6 = piVar2;
              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);
            }
            local_74 = local_74 + -1;
          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));
        }
      }
      if (local_2c == *(int *)puVar14) {
        return;
      }
      puVar14 = PTR___stack_chk_fail_000288cc;
      (*(code *)PTR___stack_chk_fail_000288cc)();
      _DT_INIT();
      puVar8 = *(undefined4 **)(puVar14 + 0x14484);
      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;
      iVar3 = 0;
      if (iVar4 != 0) {
        do {
          iVar3 = iVar3 + 1;
          (*(code *)*puVar8)(puVar5,piVar6,iVar7);
          puVar8 = puVar8 + 1;
        } while (iVar4 != iVar3);
      }
      return;
    }
LAB_00013fec:
    local_74 = local_74 + -1;
    if (local_74 < 1) {
LAB_0001407c:
      iVar4 = 0xff;
      iVar3 = 0x40;
      piVar1 = (int *)0x0;
      if (piVar2 == (int *)0x0) goto LAB_0001408c;
      goto LAB_00013f7c;
    }
    piVar1 = piVar1 + 4;
LAB_00014000:
    if (piVar1 == (int *)0x0) goto LAB_0001407c;
    if (piVar1 != (int *)0x0) goto LAB_00013f74;
LAB_00014010:
    iVar4 = 0x40ff;
    if (piVar2 != (int *)0x0) goto LAB_00013f88;
LAB_00014024:
    iVar3 = 0x40ff;
  } while( true );
}


lui gp,0x2
addiu gp,gp,-0x368c
addu gp,gp,t9
addiu sp,sp,-0xa0
lw t9,-0x7f48(gp)
sw s6,0x90(sp)
sw s5,0x8c(sp)
or s5,a0,zero
lw s6,-0x7f24(gp)
lw a0,-0x7fc8(gp)
sw s1,0x7c(sp)
addiu s1,sp,0x2c
sw ra,0x9c(sp)
sw a3,0xac(sp)
addiu a0,a0,0x5898
sw a2,0xa8(sp)
sw gp,0x18(sp)
sw a1,0xa4(sp)
sw s8,0x98(sp)
sw s7,0x94(sp)
sw s4,0x88(sp)
sw s3,0x84(sp)
sw s2,0x80(sp)
sw s0,0x78(sp)
sltiu s0,a3,0x10
sw s1,0x24(sp)
lw v0,0x0(s6)
lw s4,-0x7fc8(gp)
sw v0,0x74(sp)
jalr t9
_nop
lw gp,0x18(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7f48(gp)
jalr t9
_addiu a0,a0,0x58b0
li a0,-0x1
lw gp,0x18(sp)
or a1,s1,zero
lw v0,-0x7fc8(gp)
addiu t9,v0,0x37a8
bal 0x000137a8
_sw t9,0x20(sp)
addiu a1,sp,0x30
lw t9,0x20(sp)
or a0,s5,zero
jalr t9
_or s8,v0,zero
lw gp,0x18(sp)
or s7,v0,zero
lw s2,-0x7fc8(gp)
lw s1,-0x7fc8(gp)
lw s3,-0x7fc8(gp)
addiu s2,s2,0x5918
addiu s1,s1,0x58fc
addiu s3,s3,0x58c8
beq s8,zero,0x00014010
_nop
lw v0,0x0(s8)
lw v1,0x4(s8)
sll v0,v0,0x8
beq s7,zero,0x00014024
_addu v0,v0,v1
lw v1,0x0(s7)
lw a0,0x4(s7)
sll v1,v1,0x8
addu v1,v1,a0
beq s0,zero,0x00013fac
_addiu a0,v0,-0x18
sltiu a0,a0,0x2
bne a0,zero,0x00013fec
_nop
beq v0,v1,0x0001402c
_slt v0,v0,v1
beq v0,zero,0x000140ec
_nop
beq s8,zero,0x00014078
_li a0,0x1
lw v0,0x4(s8)
lw a2,0x0(s8)
lw a3,0xc(s8)
beq v0,zero,0x00014170
_lw t9,-0x7f7c(gp)
sw a3,0x10(sp)
or a1,s1,zero
jalr t9
_or a3,v0,zero
lw gp,0x18(sp)
lw v0,0x2c(sp)
addiu v0,v0,-0x1
blez v0,0x00014078
_sw v0,0x2c(sp)
addiu s8,s8,0x10
beq s8,zero,0x0001407c
_li v1,0xff
bne s8,zero,0x00013f74
_nop
li v0,0x40
li v1,0xff
sll v0,v0,0x8
bne s7,zero,0x00013f88
_addu v0,v0,v1
b 0x00013f98
_li v1,0x40ff
beq s7,zero,0x00014134
_nop
lw v0,0x4(s7)
lw a2,0x0(s7)
lw a3,0xc(s7)
beq v0,zero,0x0001415c
_lw t9,-0x7f7c(gp)
li a0,0x1
sw a3,0x10(sp)
or a1,s3,zero
jalr t9
_or a3,v0,zero
lw gp,0x18(sp)
lw v0,0x30(sp)
addiu v0,v0,-0x1
blez v0,0x00014134
_sw v0,0x30(sp)
bne s8,zero,0x00013fec
_addiu s7,s7,0x10
li v1,0xff
li v0,0x40
bne s7,zero,0x00013f7c
_or s8,zero,zero
li v0,0xd
beq s5,v0,0x000141ac
_lw v0,0xa4(sp)
bne v0,zero,0x0001425c
_lw a0,-0x7fc8(gp)
li v0,0x8
bne s5,v0,0x000141b0
_lw v0,0xa8(sp)
bne s0,zero,0x000142f0
_lw t9,-0x7f88(gp)
lw v1,0x74(sp)
lw v0,0x0(s6)
bne v1,v0,0x000143ac
_lw ra,0x9c(sp)
lw s8,0x98(sp)
lw s7,0x94(sp)
lw s6,0x90(sp)
lw s5,0x8c(sp)
lw s4,0x88(sp)
lw s3,0x84(sp)
lw s2,0x80(sp)
lw s1,0x7c(sp)
lw s0,0x78(sp)
jr ra
_addiu sp,sp,0xa0
beq s7,zero,0x0001424c
_li a0,0x1
lw v0,0x4(s7)
lw a2,0x0(s7)
lw a3,0xc(s7)
beq v0,zero,0x00014180
_lw t9,-0x7f7c(gp)
sw a3,0x10(sp)
or a1,s1,zero
jalr t9
_or a3,v0,zero
lw v0,0x30(sp)
lw gp,0x18(sp)
addiu v0,v0,-0x1
blez v0,0x0001419c
_sw v0,0x30(sp)
b 0x00014000
_addiu s7,s7,0x10
beq s8,zero,0x00014088
_lw v0,0x2c(sp)
addiu v0,v0,-0x1
blez v0,0x00014088
_sw v0,0x2c(sp)
addiu s8,s8,0x10
beq s8,zero,0x0001408c
_li v0,0xd
b 0x00013f6c
_or s7,zero,zero
addiu a1,s4,0x58e4
jalr t9
_li a0,0x1
b 0x00014060
_lw gp,0x18(sp)
jalr t9
_or a1,s2,zero
b 0x00013fec
_lw gp,0x18(sp)
jalr t9
_or a1,s2,zero
lw v0,0x30(sp)
lw gp,0x18(sp)
addiu v0,v0,-0x1
bgtz v0,0x0001412c
_sw v0,0x30(sp)
beq s8,zero,0x0001408c
_li v0,0xd
b 0x00013f6c
_or s7,zero,zero
lw v0,0xa8(sp)
beq v0,zero,0x000140a8
_lw a0,-0x7fc8(gp)
lw t9,-0x7f48(gp)
jalr t9
_addiu a0,a0,0x595c
li a0,0x8
lw t9,0x20(sp)
jalr t9
_lw a1,0x24(sp)
lw gp,0x18(sp)
beq v0,zero,0x000140a8
_or s1,v0,zero
lw s3,-0x7fc8(gp)
lw s2,-0x7fc8(gp)
addiu s3,s3,0x5918
b 0x00014224
_addiu s2,s2,0x58fc
sw a3,0x10(sp)
or a1,s2,zero
jalr t9
_or a3,v0,zero
lw gp,0x18(sp)
lw v0,0x2c(sp)
addiu v0,v0,-0x1
blez v0,0x000140a8
_sw v0,0x2c(sp)
addiu s1,s1,0x10
beq s1,zero,0x000140a8
_nop
lw v0,0x4(s1)
li a0,0x1
lw a2,0x0(s1)
lw a3,0xc(s1)
bne v0,zero,0x000141f4
_lw t9,-0x7f7c(gp)
jalr t9
_or a1,s3,zero
b 0x00014208
_lw gp,0x18(sp)
bne s8,zero,0x00013f6c
_li v0,0xd
b 0x0001408c
_nop
lw t9,-0x7f48(gp)
jalr t9
_addiu a0,a0,0x5930
li a0,0xd
lw t9,0x20(sp)
jalr t9
_lw a1,0x24(sp)
lw gp,0x18(sp)
beq v0,zero,0x0001409c
_or s3,v0,zero
lw s2,-0x7fc8(gp)
lw s1,-0x7fc8(gp)
addiu s2,s2,0x5918
b 0x000142c8
_addiu s1,s1,0x58fc
sw a3,0x10(sp)
or a1,s1,zero
jalr t9
_or a3,v0,zero
lw gp,0x18(sp)
lw v0,0x2c(sp)
addiu v0,v0,-0x1
blez v0,0x0001409c
_sw v0,0x2c(sp)
addiu s3,s3,0x10
beq s3,zero,0x000140a0
_li v0,0x8
lw v0,0x4(s3)
li a0,0x1
lw a2,0x0(s3)
lw a3,0xc(s3)
bne v0,zero,0x00014298
_lw t9,-0x7f7c(gp)
jalr t9
_or a1,s2,zero
b 0x000142ac
_lw gp,0x18(sp)
addiu a2,sp,0x34
lw a0,0xac(sp)
jalr t9
_li a1,0x40
li a0,0x1
lw gp,0x18(sp)
or a2,v0,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7f7c(gp)
jalr t9
_addiu a1,a1,0x5980
lw gp,0x18(sp)
lw a1,0x24(sp)
lw t9,-0x7fc8(gp)
addiu t9,t9,0x3a54
bal 0x00013a54
_lw a0,0xac(sp)
lw gp,0x18(sp)
beq v0,zero,0x000140b0
_or s0,v0,zero
lw s2,-0x7fc8(gp)
lw s1,-0x7fc8(gp)
addiu s2,s2,0x5918
b 0x00014384
_addiu s1,s1,0x58fc
sw a3,0x10(sp)
or a1,s1,zero
jalr t9
_or a3,v0,zero
lw gp,0x18(sp)
lw v0,0x2c(sp)
addiu v0,v0,-0x1
blez v0,0x000140b0
_sw v0,0x2c(sp)
addiu s0,s0,0x10
beq s0,zero,0x000140b0
_nop
lw v0,0x4(s0)
li a0,0x1
lw a2,0x0(s0)
lw a3,0xc(s0)
bne v0,zero,0x00014354
_lw t9,-0x7f7c(gp)
jalr t9
_or a1,s2,zero
b 0x00014368
_lw gp,0x18(sp)
lw t9,-0x7f34(gp)
jalr t9
_nop
nop
nop
(translation_unit "void FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}\n\n" (function_definition "void FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)" identifier (parameter_list "(int param_1,int param_2,int param_3,undefined *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined1 auStack_6c [64];" type_identifier (array_declarator "auStack_6c [64]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar14 = PTR___stack_chk_guard_000288dc;" (assignment_expression "puVar14 = PTR___stack_chk_guard_000288dc" identifier = identifier) ;) (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" identifier = identifier) ;) (expression_statement "piVar11 = &local_74;" (assignment_expression "piVar11 = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000288dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000288dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000288dc" * (cast_expression "(int *)PTR___stack_chk_guard_000288dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar7 = param_3;" (assignment_expression "iVar7 = param_3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x5898)" ( (binary_expression "PTR_00028838 + 0x5898" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x58b0)" ( (binary_expression "PTR_00028838 + 0x58b0" identifier + number_literal) ))) ;) (expression_statement "pcVar13 = (code *)(PTR_00028838 + 0x37a8);" (assignment_expression "pcVar13 = (code *)(PTR_00028838 + 0x37a8)" identifier = (cast_expression "(code *)(PTR_00028838 + 0x37a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x37a8)" ( (binary_expression "PTR_00028838 + 0x37a8" identifier + number_literal) )))) ;) (expression_statement "piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);" (assignment_expression "piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11)" identifier = (cast_expression "(int *)FUN_000137a8(0xffffffff,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000137a8(0xffffffff,piVar11)" identifier (argument_list "(0xffffffff,piVar11)" ( number_literal , identifier ))))) ;) (expression_statement "piVar6 = &local_70;" (assignment_expression "piVar6 = &local_70" identifier = (pointer_expression "&local_70" & identifier)) ;) (expression_statement "piVar2 = (int *)(*pcVar13)(param_1,piVar6);" (assignment_expression "piVar2 = (int *)(*pcVar13)(param_1,piVar6)" identifier = (cast_expression "(int *)(*pcVar13)(param_1,piVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar13)(param_1,piVar6)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(param_1,piVar6)" ( identifier , identifier ))))) ;) (expression_statement "piVar10 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar10 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (expression_statement "piVar12 = (int *)(PTR_00028838 + 0x58c8);" (assignment_expression "piVar12 = (int *)(PTR_00028838 + 0x58c8)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58c8)" ( (binary_expression "PTR_00028838 + 0x58c8" identifier + number_literal) )))) ;) (labeled_statement "LAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;" statement_identifier : (if_statement "if (piVar1 == (int *)0x0) goto LAB_00014010;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014010;" goto statement_identifier ;))) (labeled_statement "LAB_00013f74:\n  iVar3 = *piVar1;" statement_identifier : (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;)) (expression_statement "iVar4 = piVar1[1];" (assignment_expression "iVar4 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;" statement_identifier : (expression_statement "iVar4 = iVar3 * 0x100 + iVar4;" (assignment_expression "iVar4 = iVar3 * 0x100 + iVar4" identifier = (binary_expression "iVar3 * 0x100 + iVar4" (binary_expression "iVar3 * 0x100" identifier * number_literal) + identifier)) ;)) (if_statement "if (piVar2 == (int *)0x0) goto LAB_00014024;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014024;" goto statement_identifier ;)) (labeled_statement "LAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];" statement_identifier : (expression_statement "iVar3 = *piVar2 * 0x100 + piVar2[1];" (assignment_expression "iVar3 = *piVar2 * 0x100 + piVar2[1]" identifier = (binary_expression "*piVar2 * 0x100 + piVar2[1]" (binary_expression "*piVar2 * 0x100" (pointer_expression "*piVar2" * identifier) * number_literal) + (subscript_expression "piVar2[1]" identifier [ number_literal ]))) ;)) (do_statement "do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );" do (compound_statement "{\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  }" { (if_statement "if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }" if (parenthesized_expression "((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U))" ( (binary_expression "(param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)" (parenthesized_expression "(param_4 >= (undefined *)0x10)" ( (binary_expression "param_4 >= (undefined *)0x10" identifier >= (cast_expression "(undefined *)0x10" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(1 < iVar4 - 0x18U)" ( (binary_expression "1 < iVar4 - 0x18U" number_literal < (binary_expression "iVar4 - 0x18U" identifier - number_literal)) ))) )) (compound_statement "{\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }" { (if_statement "if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" if (parenthesized_expression "(iVar4 == iVar3)" ( (binary_expression "iVar4 == iVar3" identifier == identifier) )) (compound_statement "{\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }" { (if_statement "if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" { (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" if (parenthesized_expression "(piVar2[1] == 0)" ( (binary_expression "piVar2[1] == 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }" { (expression_statement "piVar6 = (int *)(puVar5 + 0x58e4);" (assignment_expression "piVar6 = (int *)(puVar5 + 0x58e4)" identifier = (cast_expression "(int *)(puVar5 + 0x58e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x58e4)" ( (binary_expression "puVar5 + 0x58e4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar6,iVar7)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" else (compound_statement "{\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" { (expression_statement "piVar6 = piVar12;" (assignment_expression "piVar6 = piVar12" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar12,iVar7,piVar2[1],piVar2[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar2[1]" identifier [ number_literal ]) , (subscript_expression "piVar2[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_70 = local_70 + -1;" (assignment_expression "local_70 = local_70 + -1" identifier = (binary_expression "local_70 + -1" identifier + number_literal)) ;) (if_statement "if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" if (parenthesized_expression "(0 < local_70)" ( (binary_expression "0 < local_70" number_literal < identifier) )) (compound_statement "{\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" { (expression_statement "piVar2 = piVar2 + 4;" (assignment_expression "piVar2 = piVar2 + 4" identifier = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) (if_statement "if (piVar1 == (int *)0x0) goto LAB_0001407c;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;)) (goto_statement "goto LAB_00013fec;" goto statement_identifier ;) })) })) (if_statement "if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" if (parenthesized_expression "(((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74))" ( (binary_expression "(piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)" (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_74 = local_74 + -1, 0 < local_74)" ( (comma_expression "local_74 = local_74 + -1, 0 < local_74" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) , (binary_expression "0 < local_74" number_literal < identifier)) ))) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" { (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" else (compound_statement "{\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" { (if_statement "if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" if (parenthesized_expression "(iVar4 < iVar3)" ( (binary_expression "iVar4 < iVar3" identifier < identifier) )) (compound_statement "{\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" { (if_statement "if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }" { (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }" { (expression_statement "piVar6 = piVar10;" (assignment_expression "piVar6 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar7)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" else (compound_statement "{\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (goto_statement "goto LAB_00013fec;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;) })) (if_statement "if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }" { (if_statement "if (piVar1 != (int *)0x0) goto LAB_00013f6c;" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" else (compound_statement "{\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" { (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" if (parenthesized_expression "(piVar2[1] == 0)" ( (binary_expression "piVar2[1] == 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }" { (expression_statement "piVar6 = piVar10;" (assignment_expression "piVar6 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar7)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" else (compound_statement "{\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9,iVar7,piVar2[1],piVar2[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar2[1]" identifier [ number_literal ]) , (subscript_expression "piVar2[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_70 = local_70 + -1;" (assignment_expression "local_70 = local_70 + -1" identifier = (binary_expression "local_70 + -1" identifier + number_literal)) ;) (if_statement "if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }" if (parenthesized_expression "(0 < local_70)" ( (binary_expression "0 < local_70" number_literal < identifier) )) (compound_statement "{\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }" { (expression_statement "piVar2 = piVar2 + 4;" (assignment_expression "piVar2 = piVar2 + 4" identifier = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_00014000;" goto statement_identifier ;) })) (if_statement "if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" { (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;" statement_identifier : (if_statement "if (param_1 == 0xd) goto LAB_000141b0;" if (parenthesized_expression "(param_1 == 0xd)" ( (binary_expression "param_1 == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_000141b0;" goto statement_identifier ;))) (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" identifier = identifier) ;) (if_statement "if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" { (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x5930)" ( (binary_expression "PTR_00028838 + 0x5930" identifier + number_literal) ))) ;) (expression_statement "puVar5 = (undefined *)0xd;" (assignment_expression "puVar5 = (undefined *)0xd" identifier = (cast_expression "(undefined *)0xd" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar13)(0xd,piVar11);" (assignment_expression "piVar1 = (int *)(*pcVar13)(0xd,piVar11)" identifier = (cast_expression "(int *)(*pcVar13)(0xd,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar13)(0xd,piVar11)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(0xd,piVar11)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" { (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" do (compound_statement "{\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          }" { (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" else (compound_statement "{\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" { (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" ( (binary_expression "0 < local_74" number_literal < identifier) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) (if_statement "if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }" if (parenthesized_expression "(param_1 != 8)" ( (binary_expression "param_1 != 8" identifier != number_literal) )) (compound_statement "{\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }" { (labeled_statement "LAB_000141b0:\n        puVar5 = PTR_00028838;" statement_identifier : (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" identifier = identifier) ;)) (if_statement "if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }" { (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x595c)" ( (binary_expression "PTR_00028838 + 0x595c" identifier + number_literal) ))) ;) (expression_statement "puVar5 = (undefined *)0x8;" (assignment_expression "puVar5 = (undefined *)0x8" identifier = (cast_expression "(undefined *)0x8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar13)(8,piVar11);" (assignment_expression "piVar1 = (int *)(*pcVar13)(8,piVar11)" identifier = (cast_expression "(int *)(*pcVar13)(8,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar13)(8,piVar11)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(8,piVar11)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }" { (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" do (compound_statement "{\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            }" { (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" else (compound_statement "{\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" { (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" ( (binary_expression "0 < local_74" number_literal < identifier) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) })) (if_statement "if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" if (parenthesized_expression "(param_4 < (undefined *)0x10)" ( (binary_expression "param_4 < (undefined *)0x10" identifier < (cast_expression "(undefined *)0x10" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" { (expression_statement "iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);" (assignment_expression "iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c)" identifier = (call_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c)" (parenthesized_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)" ( (pointer_expression "*(code *)PTR_sg_get_trans_proto_str_00028878" * (cast_expression "(code *)PTR_sg_get_trans_proto_str_00028878" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,0x40,auStack_6c)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_00028838 + 0x5980,iVar7)" ( number_literal , (binary_expression "PTR_00028838 + 0x5980" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar1 = (int *)FUN_00013a54(param_4,piVar11);" (assignment_expression "piVar1 = (int *)FUN_00013a54(param_4,piVar11)" identifier = (cast_expression "(int *)FUN_00013a54(param_4,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00013a54(param_4,piVar11)" identifier (argument_list "(param_4,piVar11)" ( identifier , identifier ))))) ;) (expression_statement "puVar5 = param_4;" (assignment_expression "puVar5 = param_4" identifier = identifier) ;) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (if_statement "if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" { (expression_statement "piVar11 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar11 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" do (compound_statement "{\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          }" { (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }" { (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar11);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar11)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar11)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" else (compound_statement "{\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" { (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" ( (binary_expression "0 < local_74" number_literal < identifier) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) (if_statement "if (local_2c == *(int *)puVar14) {\n        return;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar14)" ( (binary_expression "local_2c == *(int *)puVar14" identifier == (pointer_expression "*(int *)puVar14" * (cast_expression "(int *)puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "puVar14 = PTR___stack_chk_fail_000288cc;" (assignment_expression "puVar14 = PTR___stack_chk_fail_000288cc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000288cc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000288cc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000288cc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000288cc" * (cast_expression "(code *)PTR___stack_chk_fail_000288cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "_DT_INIT();" (call_expression "_DT_INIT()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar8 = *(undefined4 **)(puVar14 + 0x14484);" (assignment_expression "puVar8 = *(undefined4 **)(puVar14 + 0x14484)" identifier = (pointer_expression "*(undefined4 **)(puVar14 + 0x14484)" * (cast_expression "(undefined4 **)(puVar14 + 0x14484)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x14484)" ( (binary_expression "puVar14 + 0x14484" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;" (assignment_expression "iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2" identifier = (binary_expression "*(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2" (binary_expression "*(int *)(puVar14 + 0x14484) - (int)puVar8" (pointer_expression "*(int *)(puVar14 + 0x14484)" * (cast_expression "(int *)(puVar14 + 0x14484)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x14484)" ( (binary_expression "puVar14 + 0x14484" identifier + number_literal) )))) - (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (if_statement "if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }" { (do_statement "do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);" do (compound_statement "{\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        }" { (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)*puVar8)(puVar5,piVar6,iVar7);" (call_expression "(*(code *)*puVar8)(puVar5,piVar6,iVar7)" (parenthesized_expression "(*(code *)*puVar8)" ( (pointer_expression "*(code *)*puVar8" * (cast_expression "(code *)*puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) )) (argument_list "(puVar5,piVar6,iVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar3)" ( (binary_expression "iVar4 != iVar3" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_00013fec:\n    local_74 = local_74 + -1;" statement_identifier : (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;)) (if_statement "if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" if (parenthesized_expression "(local_74 < 1)" ( (binary_expression "local_74 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" { (labeled_statement "LAB_0001407c:\n      iVar4 = 0xff;" statement_identifier : (expression_statement "iVar4 = 0xff;" (assignment_expression "iVar4 = 0xff" identifier = number_literal) ;)) (expression_statement "iVar3 = 0x40;" (assignment_expression "iVar3 = 0x40" identifier = number_literal) ;) (expression_statement "piVar1 = (int *)0x0;" (assignment_expression "piVar1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0001408c;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001408c;" goto statement_identifier ;)) (goto_statement "goto LAB_00013f7c;" goto statement_identifier ;) })) (expression_statement "piVar1 = piVar1 + 4;" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) ;) (labeled_statement "LAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;" statement_identifier : (if_statement "if (piVar1 == (int *)0x0) goto LAB_0001407c;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;))) (if_statement "if (piVar1 != (int *)0x0) goto LAB_00013f74;" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f74;" goto statement_identifier ;)) (labeled_statement "LAB_00014010:\n    iVar4 = 0x40ff;" statement_identifier : (expression_statement "iVar4 = 0x40ff;" (assignment_expression "iVar4 = 0x40ff" identifier = number_literal) ;)) (if_statement "if (piVar2 != (int *)0x0) goto LAB_00013f88;" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f88;" goto statement_identifier ;)) (labeled_statement "LAB_00014024:\n    iVar3 = 0x40ff;" statement_identifier : (expression_statement "iVar3 = 0x40ff;" (assignment_expression "iVar3 = 0x40ff" identifier = number_literal) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void list_page_codes(int scsi_ptype,_Bool encserv,_Bool mchngr,int t_proto)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  page_code_desc *ppVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  EVP_PKEY_CTX *ctx;\n  undefined3 in_register_00000014;\n  int *piVar7;\n  undefined3 in_register_00000018;\n  int iVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  int *piVar13;\n  code *pcVar14;\n  undefined *puVar15;\n  int num;\n  int num_ptype;\n  char b [64];\n  \n  puVar1 = PTR___stack_chk_guard_000288dc;\n  puVar15 = PTR_00028838;\n  piVar12 = &num;\n  iVar2 = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar8 = CONCAT31(in_register_00000018,mchngr);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar14 = (code *)(PTR_00028838 + 0x37a8);\n  ppVar3 = get_mpage_tbl_size(-1,piVar12);\n  piVar7 = &num_ptype;\n  piVar4 = (int *)(*pcVar14)(scsi_ptype,piVar7);\n  piVar11 = (int *)(PTR_00028838 + 0x5918);\n  piVar10 = (int *)(PTR_00028838 + 0x58fc);\n  piVar13 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (ppVar3 == (page_code_desc *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar5 = ppVar3->page_code;\n  iVar6 = ppVar3->subpage_code;\nLAB_00013f7c:\n  iVar6 = iVar5 * 0x100 + iVar6;\n  if (piVar4 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar5 = *piVar4 * 0x100 + piVar4[1];\n  do {\n    if (((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)) {\n      if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;\n      ctx = (EVP_PKEY_CTX *)PTR_00028838;\n      if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }\n      if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }\n      if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return;\n      }\n      puVar15 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _init(ctx);\n      puVar9 = *(undefined4 **)(puVar15 + 0x14484);\n      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;\n      iVar2 = 0;\n      if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }\n      return;\n    }\nLAB_00013fec:\n    num = num + -1;\n    if (num < 1) {\nLAB_0001407c:\n      iVar6 = 0xff;\n      iVar5 = 0x40;\n      ppVar3 = (page_code_desc *)0x0;\n      if (piVar4 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    ppVar3 = ppVar3 + 1;\nLAB_00014000:\n    if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n    if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar6 = 0x40ff;\n    if (piVar4 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar5 = 0x40ff;\n  } while( true );\n}\n\n" (function_definition "void list_page_codes(int scsi_ptype,_Bool encserv,_Bool mchngr,int t_proto)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  page_code_desc *ppVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  EVP_PKEY_CTX *ctx;\n  undefined3 in_register_00000014;\n  int *piVar7;\n  undefined3 in_register_00000018;\n  int iVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  int *piVar13;\n  code *pcVar14;\n  undefined *puVar15;\n  int num;\n  int num_ptype;\n  char b [64];\n  \n  puVar1 = PTR___stack_chk_guard_000288dc;\n  puVar15 = PTR_00028838;\n  piVar12 = &num;\n  iVar2 = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar8 = CONCAT31(in_register_00000018,mchngr);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar14 = (code *)(PTR_00028838 + 0x37a8);\n  ppVar3 = get_mpage_tbl_size(-1,piVar12);\n  piVar7 = &num_ptype;\n  piVar4 = (int *)(*pcVar14)(scsi_ptype,piVar7);\n  piVar11 = (int *)(PTR_00028838 + 0x5918);\n  piVar10 = (int *)(PTR_00028838 + 0x58fc);\n  piVar13 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (ppVar3 == (page_code_desc *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar5 = ppVar3->page_code;\n  iVar6 = ppVar3->subpage_code;\nLAB_00013f7c:\n  iVar6 = iVar5 * 0x100 + iVar6;\n  if (piVar4 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar5 = *piVar4 * 0x100 + piVar4[1];\n  do {\n    if (((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)) {\n      if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;\n      ctx = (EVP_PKEY_CTX *)PTR_00028838;\n      if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }\n      if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }\n      if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return;\n      }\n      puVar15 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _init(ctx);\n      puVar9 = *(undefined4 **)(puVar15 + 0x14484);\n      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;\n      iVar2 = 0;\n      if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }\n      return;\n    }\nLAB_00013fec:\n    num = num + -1;\n    if (num < 1) {\nLAB_0001407c:\n      iVar6 = 0xff;\n      iVar5 = 0x40;\n      ppVar3 = (page_code_desc *)0x0;\n      if (piVar4 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    ppVar3 = ppVar3 + 1;\nLAB_00014000:\n    if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n    if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar6 = 0x40ff;\n    if (piVar4 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar5 = 0x40ff;\n  } while( true );\n}" primitive_type (function_declarator "list_page_codes(int scsi_ptype,_Bool encserv,_Bool mchngr,int t_proto)" identifier (parameter_list "(int scsi_ptype,_Bool encserv,_Bool mchngr,int t_proto)" ( (parameter_declaration "int scsi_ptype" primitive_type identifier) , (parameter_declaration "_Bool encserv" type_identifier identifier) , (parameter_declaration "_Bool mchngr" type_identifier identifier) , (parameter_declaration "int t_proto" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  page_code_desc *ppVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  EVP_PKEY_CTX *ctx;\n  undefined3 in_register_00000014;\n  int *piVar7;\n  undefined3 in_register_00000018;\n  int iVar8;\n  undefined4 *puVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  int *piVar13;\n  code *pcVar14;\n  undefined *puVar15;\n  int num;\n  int num_ptype;\n  char b [64];\n  \n  puVar1 = PTR___stack_chk_guard_000288dc;\n  puVar15 = PTR_00028838;\n  piVar12 = &num;\n  iVar2 = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar8 = CONCAT31(in_register_00000018,mchngr);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar14 = (code *)(PTR_00028838 + 0x37a8);\n  ppVar3 = get_mpage_tbl_size(-1,piVar12);\n  piVar7 = &num_ptype;\n  piVar4 = (int *)(*pcVar14)(scsi_ptype,piVar7);\n  piVar11 = (int *)(PTR_00028838 + 0x5918);\n  piVar10 = (int *)(PTR_00028838 + 0x58fc);\n  piVar13 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (ppVar3 == (page_code_desc *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar5 = ppVar3->page_code;\n  iVar6 = ppVar3->subpage_code;\nLAB_00013f7c:\n  iVar6 = iVar5 * 0x100 + iVar6;\n  if (piVar4 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar5 = *piVar4 * 0x100 + piVar4[1];\n  do {\n    if (((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)) {\n      if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;\n      ctx = (EVP_PKEY_CTX *)PTR_00028838;\n      if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }\n      if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }\n      if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return;\n      }\n      puVar15 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _init(ctx);\n      puVar9 = *(undefined4 **)(puVar15 + 0x14484);\n      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;\n      iVar2 = 0;\n      if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }\n      return;\n    }\nLAB_00013fec:\n    num = num + -1;\n    if (num < 1) {\nLAB_0001407c:\n      iVar6 = 0xff;\n      iVar5 = 0x40;\n      ppVar3 = (page_code_desc *)0x0;\n      if (piVar4 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    ppVar3 = ppVar3 + 1;\nLAB_00014000:\n    if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n    if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar6 = 0x40ff;\n    if (piVar4 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar5 = 0x40ff;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "page_code_desc *ppVar3;" type_identifier (pointer_declarator "*ppVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "EVP_PKEY_CTX *ctx;" type_identifier (pointer_declarator "*ctx" * identifier) ;) (declaration "undefined3 in_register_00000014;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined3 in_register_00000018;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int num;" primitive_type identifier ;) (declaration "int num_ptype;" primitive_type identifier ;) (declaration "char b [64];" primitive_type (array_declarator "b [64]" identifier [ number_literal ]) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_000288dc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_000288dc" identifier = identifier) ;) (expression_statement "puVar15 = PTR_00028838;" (assignment_expression "puVar15 = PTR_00028838" identifier = identifier) ;) (expression_statement "piVar12 = &num;" (assignment_expression "piVar12 = &num" identifier = (pointer_expression "&num" & identifier)) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_000288dc;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_000288dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000288dc" * (cast_expression "(int *)PTR___stack_chk_guard_000288dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar8 = CONCAT31(in_register_00000018,mchngr);" (assignment_expression "iVar8 = CONCAT31(in_register_00000018,mchngr)" identifier = (call_expression "CONCAT31(in_register_00000018,mchngr)" identifier (argument_list "(in_register_00000018,mchngr)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x5898)" ( (binary_expression "PTR_00028838 + 0x5898" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x58b0)" ( (binary_expression "PTR_00028838 + 0x58b0" identifier + number_literal) ))) ;) (expression_statement "pcVar14 = (code *)(PTR_00028838 + 0x37a8);" (assignment_expression "pcVar14 = (code *)(PTR_00028838 + 0x37a8)" identifier = (cast_expression "(code *)(PTR_00028838 + 0x37a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x37a8)" ( (binary_expression "PTR_00028838 + 0x37a8" identifier + number_literal) )))) ;) (expression_statement "ppVar3 = get_mpage_tbl_size(-1,piVar12);" (assignment_expression "ppVar3 = get_mpage_tbl_size(-1,piVar12)" identifier = (call_expression "get_mpage_tbl_size(-1,piVar12)" identifier (argument_list "(-1,piVar12)" ( number_literal , identifier )))) ;) (expression_statement "piVar7 = &num_ptype;" (assignment_expression "piVar7 = &num_ptype" identifier = (pointer_expression "&num_ptype" & identifier)) ;) (expression_statement "piVar4 = (int *)(*pcVar14)(scsi_ptype,piVar7);" (assignment_expression "piVar4 = (int *)(*pcVar14)(scsi_ptype,piVar7)" identifier = (cast_expression "(int *)(*pcVar14)(scsi_ptype,piVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar14)(scsi_ptype,piVar7)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(scsi_ptype,piVar7)" ( identifier , identifier ))))) ;) (expression_statement "piVar11 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar11 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar10 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (expression_statement "piVar13 = (int *)(PTR_00028838 + 0x58c8);" (assignment_expression "piVar13 = (int *)(PTR_00028838 + 0x58c8)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58c8)" ( (binary_expression "PTR_00028838 + 0x58c8" identifier + number_literal) )))) ;) (labeled_statement "LAB_00013f6c:\n  if (ppVar3 == (page_code_desc *)0x0) goto LAB_00014010;" statement_identifier : (if_statement "if (ppVar3 == (page_code_desc *)0x0) goto LAB_00014010;" if (parenthesized_expression "(ppVar3 == (page_code_desc *)0x0)" ( (binary_expression "ppVar3 == (page_code_desc *)0x0" identifier == (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014010;" goto statement_identifier ;))) (labeled_statement "LAB_00013f74:\n  iVar5 = ppVar3->page_code;" statement_identifier : (expression_statement "iVar5 = ppVar3->page_code;" (assignment_expression "iVar5 = ppVar3->page_code" identifier = (field_expression "ppVar3->page_code" identifier -> field_identifier)) ;)) (expression_statement "iVar6 = ppVar3->subpage_code;" (assignment_expression "iVar6 = ppVar3->subpage_code" identifier = (field_expression "ppVar3->subpage_code" identifier -> field_identifier)) ;) (labeled_statement "LAB_00013f7c:\n  iVar6 = iVar5 * 0x100 + iVar6;" statement_identifier : (expression_statement "iVar6 = iVar5 * 0x100 + iVar6;" (assignment_expression "iVar6 = iVar5 * 0x100 + iVar6" identifier = (binary_expression "iVar5 * 0x100 + iVar6" (binary_expression "iVar5 * 0x100" identifier * number_literal) + identifier)) ;)) (if_statement "if (piVar4 == (int *)0x0) goto LAB_00014024;" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014024;" goto statement_identifier ;)) (labeled_statement "LAB_00013f88:\n  iVar5 = *piVar4 * 0x100 + piVar4[1];" statement_identifier : (expression_statement "iVar5 = *piVar4 * 0x100 + piVar4[1];" (assignment_expression "iVar5 = *piVar4 * 0x100 + piVar4[1]" identifier = (binary_expression "*piVar4 * 0x100 + piVar4[1]" (binary_expression "*piVar4 * 0x100" (pointer_expression "*piVar4" * identifier) * number_literal) + (subscript_expression "piVar4[1]" identifier [ number_literal ]))) ;)) (do_statement "do {\n    if (((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)) {\n      if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;\n      ctx = (EVP_PKEY_CTX *)PTR_00028838;\n      if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }\n      if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }\n      if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return;\n      }\n      puVar15 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _init(ctx);\n      puVar9 = *(undefined4 **)(puVar15 + 0x14484);\n      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;\n      iVar2 = 0;\n      if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }\n      return;\n    }\nLAB_00013fec:\n    num = num + -1;\n    if (num < 1) {\nLAB_0001407c:\n      iVar6 = 0xff;\n      iVar5 = 0x40;\n      ppVar3 = (page_code_desc *)0x0;\n      if (piVar4 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    ppVar3 = ppVar3 + 1;\nLAB_00014000:\n    if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n    if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar6 = 0x40ff;\n    if (piVar4 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar5 = 0x40ff;\n  } while( true );" do (compound_statement "{\n    if (((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)) {\n      if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;\n      ctx = (EVP_PKEY_CTX *)PTR_00028838;\n      if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }\n      if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }\n      if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return;\n      }\n      puVar15 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _init(ctx);\n      puVar9 = *(undefined4 **)(puVar15 + 0x14484);\n      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;\n      iVar2 = 0;\n      if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }\n      return;\n    }\nLAB_00013fec:\n    num = num + -1;\n    if (num < 1) {\nLAB_0001407c:\n      iVar6 = 0xff;\n      iVar5 = 0x40;\n      ppVar3 = (page_code_desc *)0x0;\n      if (piVar4 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    ppVar3 = ppVar3 + 1;\nLAB_00014000:\n    if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n    if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar6 = 0x40ff;\n    if (piVar4 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar5 = 0x40ff;\n  }" { (if_statement "if (((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)) {\n      if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;\n      ctx = (EVP_PKEY_CTX *)PTR_00028838;\n      if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }\n      if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }\n      if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return;\n      }\n      puVar15 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _init(ctx);\n      puVar9 = *(undefined4 **)(puVar15 + 0x14484);\n      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;\n      iVar2 = 0;\n      if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }\n      return;\n    }" if (parenthesized_expression "(((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U))" ( (binary_expression "((uint)t_proto >= 0x10) || (1 < iVar6 - 0x18U)" (parenthesized_expression "((uint)t_proto >= 0x10)" ( (binary_expression "(uint)t_proto >= 0x10" (cast_expression "(uint)t_proto" ( (type_descriptor "uint" type_identifier) ) identifier) >= number_literal) )) || (parenthesized_expression "(1 < iVar6 - 0x18U)" ( (binary_expression "1 < iVar6 - 0x18U" number_literal < (binary_expression "iVar6 - 0x18U" identifier - number_literal)) ))) )) (compound_statement "{\n      if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;\n      ctx = (EVP_PKEY_CTX *)PTR_00028838;\n      if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }\n      if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }\n      if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return;\n      }\n      puVar15 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _init(ctx);\n      puVar9 = *(undefined4 **)(puVar15 + 0x14484);\n      iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;\n      iVar2 = 0;\n      if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }\n      return;\n    }" { (if_statement "if (iVar6 == iVar5) {\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" if (parenthesized_expression "(iVar6 == iVar5)" ( (binary_expression "iVar6 == iVar5" identifier == identifier) )) (compound_statement "{\n        if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }" { (if_statement "if (piVar4 != (int *)0x0) {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" if (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" { (expression_statement "iVar8 = *piVar4;" (assignment_expression "iVar8 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (piVar4[1] == 0) {\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }\n          else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }" if (parenthesized_expression "(piVar4[1] == 0)" ( (binary_expression "piVar4[1] == 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar7 = (int *)(puVar15 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);\n          }" { (expression_statement "piVar7 = (int *)(puVar15 + 0x58e4);" (assignment_expression "piVar7 = (int *)(puVar15 + 0x58e4)" identifier = (cast_expression "(int *)(puVar15 + 0x58e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x58e4)" ( (binary_expression "puVar15 + 0x58e4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar7,iVar8)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar7,iVar8)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }" else (compound_statement "{\n            piVar7 = piVar13;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);\n          }" { (expression_statement "piVar7 = piVar13;" (assignment_expression "piVar7 = piVar13" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar13,iVar8,piVar4[1],piVar4[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar13,iVar8,piVar4[1],piVar4[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar4[1]" identifier [ number_literal ]) , (subscript_expression "piVar4[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "num_ptype = num_ptype + -1;" (assignment_expression "num_ptype = num_ptype + -1" identifier = (binary_expression "num_ptype + -1" identifier + number_literal)) ;) (if_statement "if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" if (parenthesized_expression "(0 < num_ptype)" ( (binary_expression "0 < num_ptype" number_literal < identifier) )) (compound_statement "{\n            piVar4 = piVar4 + 4;\n            if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" { (expression_statement "piVar4 = piVar4 + 4;" (assignment_expression "piVar4 = piVar4 + 4" identifier = (binary_expression "piVar4 + 4" identifier + number_literal)) ;) (if_statement "if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;" if (parenthesized_expression "(ppVar3 == (page_code_desc *)0x0)" ( (binary_expression "ppVar3 == (page_code_desc *)0x0" identifier == (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;)) (goto_statement "goto LAB_00013fec;" goto statement_identifier ;) })) })) (if_statement "if (((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)) {\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" if (parenthesized_expression "(((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0))" ( (binary_expression "((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)) &&\n           (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)" (parenthesized_expression "((ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num))" ( (binary_expression "(ppVar3 != (page_code_desc *)0x0) && (num = num + -1, 0 < num)" (parenthesized_expression "(ppVar3 != (page_code_desc *)0x0)" ( (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(num = num + -1, 0 < num)" ( (comma_expression "num = num + -1, 0 < num" (assignment_expression "num = num + -1" identifier = (binary_expression "num + -1" identifier + number_literal)) , (binary_expression "0 < num" number_literal < identifier)) ))) )) && (parenthesized_expression "(ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)" ( (comma_expression "ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0" (assignment_expression "ppVar3 = ppVar3 + 1" identifier = (binary_expression "ppVar3 + 1" identifier + number_literal)) , (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          piVar4 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" { (expression_statement "piVar4 = (int *)0x0;" (assignment_expression "piVar4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" else (compound_statement "{\n        if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" { (if_statement "if (iVar6 < iVar5) {\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" if (parenthesized_expression "(iVar6 < iVar5)" ( (binary_expression "iVar6 < iVar5" identifier < identifier) )) (compound_statement "{\n          if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" { (if_statement "if (ppVar3 != (page_code_desc *)0x0) {\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }" if (parenthesized_expression "(ppVar3 != (page_code_desc *)0x0)" ( (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }\n            goto LAB_00013fec;\n          }" { (expression_statement "iVar8 = ppVar3->page_code;" (assignment_expression "iVar8 = ppVar3->page_code" identifier = (field_expression "ppVar3->page_code" identifier -> field_identifier)) ;) (if_statement "if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }" if (parenthesized_expression "(ppVar3->subpage_code == 0)" ( (binary_expression "ppVar3->subpage_code == 0" (field_expression "ppVar3->subpage_code" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n            }" { (expression_statement "piVar7 = piVar11;" (assignment_expression "piVar7 = piVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar11,iVar8)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }" else (compound_statement "{\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);\n            }" { (expression_statement "piVar7 = piVar10;" (assignment_expression "piVar7 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc);" (call_expression "(*(code *)PTR___printf_chk_00028884)\n                        (1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar8,ppVar3->subpage_code,ppVar3->desc)" ( number_literal , identifier , identifier , (field_expression "ppVar3->subpage_code" identifier -> field_identifier) , (field_expression "ppVar3->desc" identifier -> field_identifier) ))) ;) }))) (goto_statement "goto LAB_00013fec;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;) })) (if_statement "if (piVar4 == (int *)0x0) {\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;\n        }" { (if_statement "if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f6c;" if (parenthesized_expression "(ppVar3 != (page_code_desc *)0x0)" ( (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" else (compound_statement "{\n          iVar8 = *piVar4;\n          if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }\n          num_ptype = num_ptype + -1;\n          if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }\n          if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" { (expression_statement "iVar8 = *piVar4;" (assignment_expression "iVar8 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (piVar4[1] == 0) {\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }\n          else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }" if (parenthesized_expression "(piVar4[1] == 0)" ( (binary_expression "piVar4[1] == 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar7 = piVar11;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);\n          }" { (expression_statement "piVar7 = piVar11;" (assignment_expression "piVar7 = piVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar11,iVar8)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar11,iVar8)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }" else (compound_statement "{\n            piVar7 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n          }" { (expression_statement "piVar7 = piVar10;" (assignment_expression "piVar7 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar8,piVar4[1],piVar4[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar4[1]" identifier [ number_literal ]) , (subscript_expression "piVar4[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "num_ptype = num_ptype + -1;" (assignment_expression "num_ptype = num_ptype + -1" identifier = (binary_expression "num_ptype + -1" identifier + number_literal)) ;) (if_statement "if (0 < num_ptype) {\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }" if (parenthesized_expression "(0 < num_ptype)" ( (binary_expression "0 < num_ptype" number_literal < identifier) )) (compound_statement "{\n            piVar4 = piVar4 + 4;\n            goto LAB_00014000;\n          }" { (expression_statement "piVar4 = piVar4 + 4;" (assignment_expression "piVar4 = piVar4 + 4" identifier = (binary_expression "piVar4 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_00014000;" goto statement_identifier ;) })) (if_statement "if (ppVar3 != (page_code_desc *)0x0) {\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" if (parenthesized_expression "(ppVar3 != (page_code_desc *)0x0)" ( (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar4 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" { (expression_statement "piVar4 = (int *)0x0;" (assignment_expression "piVar4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_0001408c:\n      if (scsi_ptype == 0xd) goto LAB_000141b0;" statement_identifier : (if_statement "if (scsi_ptype == 0xd) goto LAB_000141b0;" if (parenthesized_expression "(scsi_ptype == 0xd)" ( (binary_expression "scsi_ptype == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_000141b0;" goto statement_identifier ;))) (expression_statement "ctx = (EVP_PKEY_CTX *)PTR_00028838;" (assignment_expression "ctx = (EVP_PKEY_CTX *)PTR_00028838" identifier = (cast_expression "(EVP_PKEY_CTX *)PTR_00028838" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (CONCAT31(in_register_00000014,encserv) != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }" if (parenthesized_expression "(CONCAT31(in_register_00000014,encserv) != 0)" ( (binary_expression "CONCAT31(in_register_00000014,encserv) != 0" (call_expression "CONCAT31(in_register_00000014,encserv)" identifier (argument_list "(in_register_00000014,encserv)" ( identifier , identifier ))) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        ctx = (EVP_PKEY_CTX *)0xd;\n        piVar7 = piVar12;\n        piVar4 = (int *)(*pcVar14)(0xd,piVar12);\n        if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }\n      }" { (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x5930)" ( (binary_expression "PTR_00028838 + 0x5930" identifier + number_literal) ))) ;) (expression_statement "ctx = (EVP_PKEY_CTX *)0xd;" (assignment_expression "ctx = (EVP_PKEY_CTX *)0xd" identifier = (cast_expression "(EVP_PKEY_CTX *)0xd" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "piVar4 = (int *)(*pcVar14)(0xd,piVar12);" (assignment_expression "piVar4 = (int *)(*pcVar14)(0xd,piVar12)" identifier = (cast_expression "(int *)(*pcVar14)(0xd,piVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar14)(0xd,piVar12)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(0xd,piVar12)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar4 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }" if (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar10 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n        }" { (expression_statement "piVar11 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar11 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar10 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));" do (compound_statement "{\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = *piVar4;\n            if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }\n            num = num + -1;\n          }" { (expression_statement "ctx = (EVP_PKEY_CTX *)0x1;" (assignment_expression "ctx = (EVP_PKEY_CTX *)0x1" identifier = (cast_expression "(EVP_PKEY_CTX *)0x1" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = *piVar4;" (assignment_expression "iVar8 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (piVar4[1] == 0) {\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }" if (parenthesized_expression "(piVar4[1] == 0)" ( (binary_expression "piVar4[1] == 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar7 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }" { (expression_statement "piVar7 = piVar11;" (assignment_expression "piVar7 = piVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar11);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar11)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar11)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }" else (compound_statement "{\n              piVar7 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n            }" { (expression_statement "piVar7 = piVar10;" (assignment_expression "piVar7 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar8,piVar4[1],piVar4[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar4[1]" identifier [ number_literal ]) , (subscript_expression "piVar4[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "num = num + -1;" (assignment_expression "num = num + -1" identifier = (binary_expression "num + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0))" ( (binary_expression "(0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0)" (parenthesized_expression "(0 < num)" ( (binary_expression "0 < num" number_literal < identifier) )) && (parenthesized_expression "(piVar4 = piVar4 + 4, piVar4 != (int *)0x0)" ( (comma_expression "piVar4 = piVar4 + 4, piVar4 != (int *)0x0" (assignment_expression "piVar4 = piVar4 + 4" identifier = (binary_expression "piVar4 + 4" identifier + number_literal)) , (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) (if_statement "if (scsi_ptype != 8) {\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }" if (parenthesized_expression "(scsi_ptype != 8)" ( (binary_expression "scsi_ptype != 8" identifier != number_literal) )) (compound_statement "{\nLAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;\n        if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }\n      }" { (labeled_statement "LAB_000141b0:\n        ctx = (EVP_PKEY_CTX *)PTR_00028838;" statement_identifier : (expression_statement "ctx = (EVP_PKEY_CTX *)PTR_00028838;" (assignment_expression "ctx = (EVP_PKEY_CTX *)PTR_00028838" identifier = (cast_expression "(EVP_PKEY_CTX *)PTR_00028838" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (CONCAT31(in_register_00000018,mchngr) != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }" if (parenthesized_expression "(CONCAT31(in_register_00000018,mchngr) != 0)" ( (binary_expression "CONCAT31(in_register_00000018,mchngr) != 0" (call_expression "CONCAT31(in_register_00000018,mchngr)" identifier (argument_list "(in_register_00000018,mchngr)" ( identifier , identifier ))) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          ctx = (EVP_PKEY_CTX *)0x8;\n          piVar7 = piVar12;\n          piVar4 = (int *)(*pcVar14)(8,piVar12);\n          if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }\n        }" { (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x595c)" ( (binary_expression "PTR_00028838 + 0x595c" identifier + number_literal) ))) ;) (expression_statement "ctx = (EVP_PKEY_CTX *)0x8;" (assignment_expression "ctx = (EVP_PKEY_CTX *)0x8" identifier = (cast_expression "(EVP_PKEY_CTX *)0x8" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "piVar4 = (int *)(*pcVar14)(8,piVar12);" (assignment_expression "piVar4 = (int *)(*pcVar14)(8,piVar12)" identifier = (cast_expression "(int *)(*pcVar14)(8,piVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar14)(8,piVar12)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(8,piVar12)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar4 != (int *)0x0) {\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }" if (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar11 = (int *)(PTR_00028838 + 0x5918);\n            piVar10 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));\n          }" { (expression_statement "piVar11 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar11 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar10 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar10 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            } while ((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0));" do (compound_statement "{\n              ctx = (EVP_PKEY_CTX *)0x1;\n              iVar8 = *piVar4;\n              if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }\n              num = num + -1;\n            }" { (expression_statement "ctx = (EVP_PKEY_CTX *)0x1;" (assignment_expression "ctx = (EVP_PKEY_CTX *)0x1" identifier = (cast_expression "(EVP_PKEY_CTX *)0x1" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = *piVar4;" (assignment_expression "iVar8 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (piVar4[1] == 0) {\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }\n              else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }" if (parenthesized_expression "(piVar4[1] == 0)" ( (binary_expression "piVar4[1] == 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                piVar7 = piVar11;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n              }" { (expression_statement "piVar7 = piVar11;" (assignment_expression "piVar7 = piVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar11);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar11)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar11)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }" else (compound_statement "{\n                piVar7 = piVar10;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);\n              }" { (expression_statement "piVar7 = piVar10;" (assignment_expression "piVar7 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar8,piVar4[1],piVar4[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar8,piVar4[1],piVar4[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar4[1]" identifier [ number_literal ]) , (subscript_expression "piVar4[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "num = num + -1;" (assignment_expression "num = num + -1" identifier = (binary_expression "num + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0))" ( (binary_expression "(0 < num) && (piVar4 = piVar4 + 4, piVar4 != (int *)0x0)" (parenthesized_expression "(0 < num)" ( (binary_expression "0 < num" number_literal < identifier) )) && (parenthesized_expression "(piVar4 = piVar4 + 4, piVar4 != (int *)0x0)" ( (comma_expression "piVar4 = piVar4 + 4, piVar4 != (int *)0x0" (assignment_expression "piVar4 = piVar4 + 4" identifier = (binary_expression "piVar4 + 4" identifier + number_literal)) , (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) })) (if_statement "if ((uint)t_proto < 0x10) {\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }" if (parenthesized_expression "((uint)t_proto < 0x10)" ( (binary_expression "(uint)t_proto < 0x10" (cast_expression "(uint)t_proto" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);\n        ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);\n        ctx = (EVP_PKEY_CTX *)t_proto;\n        piVar7 = piVar12;\n        if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }\n      }" { (expression_statement "iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b);" (assignment_expression "iVar8 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b)" identifier = (call_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)(t_proto,0x40,b)" (parenthesized_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)" ( (pointer_expression "*(code *)PTR_sg_get_trans_proto_str_00028878" * (cast_expression "(code *)PTR_sg_get_trans_proto_str_00028878" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(t_proto,0x40,b)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar8)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_00028838 + 0x5980,iVar8)" ( number_literal , (binary_expression "PTR_00028838 + 0x5980" identifier + number_literal) , identifier ))) ;) (expression_statement "ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12);" (assignment_expression "ppVar3 = get_mpage_trans_tbl_size(t_proto,piVar12)" identifier = (call_expression "get_mpage_trans_tbl_size(t_proto,piVar12)" identifier (argument_list "(t_proto,piVar12)" ( identifier , identifier )))) ;) (expression_statement "ctx = (EVP_PKEY_CTX *)t_proto;" (assignment_expression "ctx = (EVP_PKEY_CTX *)t_proto" identifier = (cast_expression "(EVP_PKEY_CTX *)t_proto" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (if_statement "if (ppVar3 != (page_code_desc *)0x0) {\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }" if (parenthesized_expression "(ppVar3 != (page_code_desc *)0x0)" ( (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar12 = (int *)(PTR_00028838 + 0x5918);\n          piVar4 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));\n        }" { (expression_statement "piVar12 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar12 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar4 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar4 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          } while ((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0));" do (compound_statement "{\n            ctx = (EVP_PKEY_CTX *)0x1;\n            iVar8 = ppVar3->page_code;\n            if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }\n            num = num + -1;\n          }" { (expression_statement "ctx = (EVP_PKEY_CTX *)0x1;" (assignment_expression "ctx = (EVP_PKEY_CTX *)0x1" identifier = (cast_expression "(EVP_PKEY_CTX *)0x1" ( (type_descriptor "EVP_PKEY_CTX *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar8 = ppVar3->page_code;" (assignment_expression "iVar8 = ppVar3->page_code" identifier = (field_expression "ppVar3->page_code" identifier -> field_identifier)) ;) (if_statement "if (ppVar3->subpage_code == 0) {\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }\n            else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }" if (parenthesized_expression "(ppVar3->subpage_code == 0)" ( (binary_expression "ppVar3->subpage_code == 0" (field_expression "ppVar3->subpage_code" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n              piVar7 = piVar12;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar12);\n            }" { (expression_statement "piVar7 = piVar12;" (assignment_expression "piVar7 = piVar12" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar12);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar12)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar12)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }" else (compound_statement "{\n              piVar7 = piVar4;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;\n            }" { (expression_statement "piVar7 = piVar4;" (assignment_expression "piVar7 = piVar4" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)\n              ;" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar4,iVar8,ppVar3->subpage_code,ppVar3->desc)" ( number_literal , identifier , identifier , (field_expression "ppVar3->subpage_code" identifier -> field_identifier) , (field_expression "ppVar3->desc" identifier -> field_identifier) ))) ;) }))) (expression_statement "num = num + -1;" (assignment_expression "num = num + -1" identifier = (binary_expression "num + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0))" ( (binary_expression "(0 < num) && (ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)" (parenthesized_expression "(0 < num)" ( (binary_expression "0 < num" number_literal < identifier) )) && (parenthesized_expression "(ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0)" ( (comma_expression "ppVar3 = ppVar3 + 1, ppVar3 != (page_code_desc *)0x0" (assignment_expression "ppVar3 = ppVar3 + 1" identifier = (binary_expression "ppVar3 + 1" identifier + number_literal)) , (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) (if_statement "if (iVar2 == *(int *)puVar1) {\n        return;\n      }" if (parenthesized_expression "(iVar2 == *(int *)puVar1)" ( (binary_expression "iVar2 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "puVar15 = PTR___stack_chk_fail_000288cc;" (assignment_expression "puVar15 = PTR___stack_chk_fail_000288cc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000288cc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000288cc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000288cc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000288cc" * (cast_expression "(code *)PTR___stack_chk_fail_000288cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "_init(ctx);" (call_expression "_init(ctx)" identifier (argument_list "(ctx)" ( identifier ))) ;) (expression_statement "puVar9 = *(undefined4 **)(puVar15 + 0x14484);" (assignment_expression "puVar9 = *(undefined4 **)(puVar15 + 0x14484)" identifier = (pointer_expression "*(undefined4 **)(puVar15 + 0x14484)" * (cast_expression "(undefined4 **)(puVar15 + 0x14484)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x14484)" ( (binary_expression "puVar15 + 0x14484" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2;" (assignment_expression "iVar5 = *(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2" identifier = (binary_expression "*(int *)(puVar15 + 0x14484) - (int)puVar9 >> 2" (binary_expression "*(int *)(puVar15 + 0x14484) - (int)puVar9" (pointer_expression "*(int *)(puVar15 + 0x14484)" * (cast_expression "(int *)(puVar15 + 0x14484)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x14484)" ( (binary_expression "puVar15 + 0x14484" identifier + number_literal) )))) - (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (iVar5 != 0) {\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);\n      }" { (do_statement "do {\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        } while (iVar5 != iVar2);" do (compound_statement "{\n          iVar2 = iVar2 + 1;\n          (*(code *)*puVar9)(ctx,piVar7,iVar8);\n          puVar9 = puVar9 + 1;\n        }" { (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)*puVar9)(ctx,piVar7,iVar8);" (call_expression "(*(code *)*puVar9)(ctx,piVar7,iVar8)" (parenthesized_expression "(*(code *)*puVar9)" ( (pointer_expression "*(code *)*puVar9" * (cast_expression "(code *)*puVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) )) (argument_list "(ctx,piVar7,iVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != iVar2)" ( (binary_expression "iVar5 != iVar2" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_00013fec:\n    num = num + -1;" statement_identifier : (expression_statement "num = num + -1;" (assignment_expression "num = num + -1" identifier = (binary_expression "num + -1" identifier + number_literal)) ;)) (if_statement "if (num < 1) {\nLAB_0001407c:\n      iVar6 = 0xff;\n      iVar5 = 0x40;\n      ppVar3 = (page_code_desc *)0x0;\n      if (piVar4 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" if (parenthesized_expression "(num < 1)" ( (binary_expression "num < 1" identifier < number_literal) )) (compound_statement "{\nLAB_0001407c:\n      iVar6 = 0xff;\n      iVar5 = 0x40;\n      ppVar3 = (page_code_desc *)0x0;\n      if (piVar4 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" { (labeled_statement "LAB_0001407c:\n      iVar6 = 0xff;" statement_identifier : (expression_statement "iVar6 = 0xff;" (assignment_expression "iVar6 = 0xff" identifier = number_literal) ;)) (expression_statement "iVar5 = 0x40;" (assignment_expression "iVar5 = 0x40" identifier = number_literal) ;) (expression_statement "ppVar3 = (page_code_desc *)0x0;" (assignment_expression "ppVar3 = (page_code_desc *)0x0" identifier = (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar4 == (int *)0x0) goto LAB_0001408c;" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001408c;" goto statement_identifier ;)) (goto_statement "goto LAB_00013f7c;" goto statement_identifier ;) })) (expression_statement "ppVar3 = ppVar3 + 1;" (assignment_expression "ppVar3 = ppVar3 + 1" identifier = (binary_expression "ppVar3 + 1" identifier + number_literal)) ;) (labeled_statement "LAB_00014000:\n    if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;" statement_identifier : (if_statement "if (ppVar3 == (page_code_desc *)0x0) goto LAB_0001407c;" if (parenthesized_expression "(ppVar3 == (page_code_desc *)0x0)" ( (binary_expression "ppVar3 == (page_code_desc *)0x0" identifier == (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;))) (if_statement "if (ppVar3 != (page_code_desc *)0x0) goto LAB_00013f74;" if (parenthesized_expression "(ppVar3 != (page_code_desc *)0x0)" ( (binary_expression "ppVar3 != (page_code_desc *)0x0" identifier != (cast_expression "(page_code_desc *)0x0" ( (type_descriptor "page_code_desc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f74;" goto statement_identifier ;)) (labeled_statement "LAB_00014010:\n    iVar6 = 0x40ff;" statement_identifier : (expression_statement "iVar6 = 0x40ff;" (assignment_expression "iVar6 = 0x40ff" identifier = number_literal) ;)) (if_statement "if (piVar4 != (int *)0x0) goto LAB_00013f88;" if (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f88;" goto statement_identifier ;)) (labeled_statement "LAB_00014024:\n    iVar5 = 0x40ff;" statement_identifier : (expression_statement "iVar5 = 0x40ff;" (assignment_expression "iVar5 = 0x40ff" identifier = number_literal) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}\n\n" (function_definition "void FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)" identifier (parameter_list "(int param_1,int param_2,int param_3,undefined *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "undefined1 auStack_6c [64];" type_identifier (array_declarator "auStack_6c [64]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar14 = PTR___stack_chk_guard_000288dc;" (assignment_expression "puVar14 = PTR___stack_chk_guard_000288dc" identifier = identifier) ;) (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" identifier = identifier) ;) (expression_statement "piVar11 = &local_74;" (assignment_expression "piVar11 = &local_74" identifier = (pointer_expression "&local_74" & identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000288dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000288dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000288dc" * (cast_expression "(int *)PTR___stack_chk_guard_000288dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar7 = param_3;" (assignment_expression "iVar7 = param_3" identifier = identifier) ;) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x5898)" ( (binary_expression "PTR_00028838 + 0x5898" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x58b0)" ( (binary_expression "PTR_00028838 + 0x58b0" identifier + number_literal) ))) ;) (expression_statement "pcVar13 = (code *)(PTR_00028838 + 0x37a8);" (assignment_expression "pcVar13 = (code *)(PTR_00028838 + 0x37a8)" identifier = (cast_expression "(code *)(PTR_00028838 + 0x37a8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x37a8)" ( (binary_expression "PTR_00028838 + 0x37a8" identifier + number_literal) )))) ;) (expression_statement "piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);" (assignment_expression "piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11)" identifier = (cast_expression "(int *)FUN_000137a8(0xffffffff,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000137a8(0xffffffff,piVar11)" identifier (argument_list "(0xffffffff,piVar11)" ( number_literal , identifier ))))) ;) (expression_statement "piVar6 = &local_70;" (assignment_expression "piVar6 = &local_70" identifier = (pointer_expression "&local_70" & identifier)) ;) (expression_statement "piVar2 = (int *)(*pcVar13)(param_1,piVar6);" (assignment_expression "piVar2 = (int *)(*pcVar13)(param_1,piVar6)" identifier = (cast_expression "(int *)(*pcVar13)(param_1,piVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar13)(param_1,piVar6)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(param_1,piVar6)" ( identifier , identifier ))))) ;) (expression_statement "piVar10 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar10 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (expression_statement "piVar12 = (int *)(PTR_00028838 + 0x58c8);" (assignment_expression "piVar12 = (int *)(PTR_00028838 + 0x58c8)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58c8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58c8)" ( (binary_expression "PTR_00028838 + 0x58c8" identifier + number_literal) )))) ;) (labeled_statement "LAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;" statement_identifier : (if_statement "if (piVar1 == (int *)0x0) goto LAB_00014010;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014010;" goto statement_identifier ;))) (labeled_statement "LAB_00013f74:\n  iVar3 = *piVar1;" statement_identifier : (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;)) (expression_statement "iVar4 = piVar1[1];" (assignment_expression "iVar4 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;" statement_identifier : (expression_statement "iVar4 = iVar3 * 0x100 + iVar4;" (assignment_expression "iVar4 = iVar3 * 0x100 + iVar4" identifier = (binary_expression "iVar3 * 0x100 + iVar4" (binary_expression "iVar3 * 0x100" identifier * number_literal) + identifier)) ;)) (if_statement "if (piVar2 == (int *)0x0) goto LAB_00014024;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014024;" goto statement_identifier ;)) (labeled_statement "LAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];" statement_identifier : (expression_statement "iVar3 = *piVar2 * 0x100 + piVar2[1];" (assignment_expression "iVar3 = *piVar2 * 0x100 + piVar2[1]" identifier = (binary_expression "*piVar2 * 0x100 + piVar2[1]" (binary_expression "*piVar2 * 0x100" (pointer_expression "*piVar2" * identifier) * number_literal) + (subscript_expression "piVar2[1]" identifier [ number_literal ]))) ;)) (do_statement "do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );" do (compound_statement "{\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  }" { (if_statement "if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }" if (parenthesized_expression "((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U))" ( (binary_expression "(param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)" (parenthesized_expression "(param_4 >= (undefined *)0x10)" ( (binary_expression "param_4 >= (undefined *)0x10" identifier >= (cast_expression "(undefined *)0x10" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(1 < iVar4 - 0x18U)" ( (binary_expression "1 < iVar4 - 0x18U" number_literal < (binary_expression "iVar4 - 0x18U" identifier - number_literal)) ))) )) (compound_statement "{\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }" { (if_statement "if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" if (parenthesized_expression "(iVar4 == iVar3)" ( (binary_expression "iVar4 == iVar3" identifier == identifier) )) (compound_statement "{\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }" { (if_statement "if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" { (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" if (parenthesized_expression "(piVar2[1] == 0)" ( (binary_expression "piVar2[1] == 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }" { (expression_statement "piVar6 = (int *)(puVar5 + 0x58e4);" (assignment_expression "piVar6 = (int *)(puVar5 + 0x58e4)" identifier = (cast_expression "(int *)(puVar5 + 0x58e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x58e4)" ( (binary_expression "puVar5 + 0x58e4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar6,iVar7)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" else (compound_statement "{\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" { (expression_statement "piVar6 = piVar12;" (assignment_expression "piVar6 = piVar12" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar12,iVar7,piVar2[1],piVar2[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar2[1]" identifier [ number_literal ]) , (subscript_expression "piVar2[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_70 = local_70 + -1;" (assignment_expression "local_70 = local_70 + -1" identifier = (binary_expression "local_70 + -1" identifier + number_literal)) ;) (if_statement "if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" if (parenthesized_expression "(0 < local_70)" ( (binary_expression "0 < local_70" number_literal < identifier) )) (compound_statement "{\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" { (expression_statement "piVar2 = piVar2 + 4;" (assignment_expression "piVar2 = piVar2 + 4" identifier = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) (if_statement "if (piVar1 == (int *)0x0) goto LAB_0001407c;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;)) (goto_statement "goto LAB_00013fec;" goto statement_identifier ;) })) })) (if_statement "if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" if (parenthesized_expression "(((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74))" ( (binary_expression "(piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)" (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_74 = local_74 + -1, 0 < local_74)" ( (comma_expression "local_74 = local_74 + -1, 0 < local_74" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) , (binary_expression "0 < local_74" number_literal < identifier)) ))) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" { (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" else (compound_statement "{\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" { (if_statement "if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" if (parenthesized_expression "(iVar4 < iVar3)" ( (binary_expression "iVar4 < iVar3" identifier < identifier) )) (compound_statement "{\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" { (if_statement "if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }" { (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }" { (expression_statement "piVar6 = piVar10;" (assignment_expression "piVar6 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar7)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" else (compound_statement "{\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (goto_statement "goto LAB_00013fec;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;) })) (if_statement "if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }" { (if_statement "if (piVar1 != (int *)0x0) goto LAB_00013f6c;" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" else (compound_statement "{\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" { (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (if_statement "if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" if (parenthesized_expression "(piVar2[1] == 0)" ( (binary_expression "piVar2[1] == 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }" { (expression_statement "piVar6 = piVar10;" (assignment_expression "piVar6 = piVar10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar10,iVar7)" ( number_literal , identifier , identifier ))) ;) }) (else_clause "else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" else (compound_statement "{\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9,iVar7,piVar2[1],piVar2[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar2[1]" identifier [ number_literal ]) , (subscript_expression "piVar2[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_70 = local_70 + -1;" (assignment_expression "local_70 = local_70 + -1" identifier = (binary_expression "local_70 + -1" identifier + number_literal)) ;) (if_statement "if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }" if (parenthesized_expression "(0 < local_70)" ( (binary_expression "0 < local_70" number_literal < identifier) )) (compound_statement "{\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }" { (expression_statement "piVar2 = piVar2 + 4;" (assignment_expression "piVar2 = piVar2 + 4" identifier = (binary_expression "piVar2 + 4" identifier + number_literal)) ;) (goto_statement "goto LAB_00014000;" goto statement_identifier ;) })) (if_statement "if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" { (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00013f6c;" goto statement_identifier ;) })) }))) }))) (labeled_statement "LAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;" statement_identifier : (if_statement "if (param_1 == 0xd) goto LAB_000141b0;" if (parenthesized_expression "(param_1 == 0xd)" ( (binary_expression "param_1 == 0xd" identifier == number_literal) )) (goto_statement "goto LAB_000141b0;" goto statement_identifier ;))) (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" identifier = identifier) ;) (if_statement "if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" { (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x5930)" ( (binary_expression "PTR_00028838 + 0x5930" identifier + number_literal) ))) ;) (expression_statement "puVar5 = (undefined *)0xd;" (assignment_expression "puVar5 = (undefined *)0xd" identifier = (cast_expression "(undefined *)0xd" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar13)(0xd,piVar11);" (assignment_expression "piVar1 = (int *)(*pcVar13)(0xd,piVar11)" identifier = (cast_expression "(int *)(*pcVar13)(0xd,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar13)(0xd,piVar11)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(0xd,piVar11)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" { (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" do (compound_statement "{\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          }" { (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" else (compound_statement "{\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" { (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" ( (binary_expression "0 < local_74" number_literal < identifier) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) (if_statement "if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }" if (parenthesized_expression "(param_1 != 8)" ( (binary_expression "param_1 != 8" identifier != number_literal) )) (compound_statement "{\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }" { (labeled_statement "LAB_000141b0:\n        puVar5 = PTR_00028838;" statement_identifier : (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" identifier = identifier) ;)) (if_statement "if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }" { (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" ( (pointer_expression "*(code *)PTR_puts_000288b8" * (cast_expression "(code *)PTR_puts_000288b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_00028838 + 0x595c)" ( (binary_expression "PTR_00028838 + 0x595c" identifier + number_literal) ))) ;) (expression_statement "puVar5 = (undefined *)0x8;" (assignment_expression "puVar5 = (undefined *)0x8" identifier = (cast_expression "(undefined *)0x8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar13)(8,piVar11);" (assignment_expression "piVar1 = (int *)(*pcVar13)(8,piVar11)" identifier = (cast_expression "(int *)(*pcVar13)(8,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar13)(8,piVar11)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(8,piVar11)" ( number_literal , identifier ))))) ;) (if_statement "if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }" { (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" do (compound_statement "{\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            }" { (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }" { (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar9)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" else (compound_statement "{\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" { (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" ( (binary_expression "0 < local_74" number_literal < identifier) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) })) (if_statement "if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" if (parenthesized_expression "(param_4 < (undefined *)0x10)" ( (binary_expression "param_4 < (undefined *)0x10" identifier < (cast_expression "(undefined *)0x10" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" { (expression_statement "iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);" (assignment_expression "iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c)" identifier = (call_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c)" (parenthesized_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)" ( (pointer_expression "*(code *)PTR_sg_get_trans_proto_str_00028878" * (cast_expression "(code *)PTR_sg_get_trans_proto_str_00028878" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,0x40,auStack_6c)" ( identifier , number_literal , identifier )))) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,PTR_00028838 + 0x5980,iVar7)" ( number_literal , (binary_expression "PTR_00028838 + 0x5980" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar1 = (int *)FUN_00013a54(param_4,piVar11);" (assignment_expression "piVar1 = (int *)FUN_00013a54(param_4,piVar11)" identifier = (cast_expression "(int *)FUN_00013a54(param_4,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00013a54(param_4,piVar11)" identifier (argument_list "(param_4,piVar11)" ( identifier , identifier ))))) ;) (expression_statement "puVar5 = param_4;" (assignment_expression "puVar5 = param_4" identifier = identifier) ;) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (if_statement "if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" { (expression_statement "piVar11 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar11 = (int *)(PTR_00028838 + 0x5918)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x5918)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x5918)" ( (binary_expression "PTR_00028838 + 0x5918" identifier + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" identifier = (cast_expression "(int *)(PTR_00028838 + 0x58fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00028838 + 0x58fc)" ( (binary_expression "PTR_00028838 + 0x58fc" identifier + number_literal) )))) ;) (do_statement "do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" do (compound_statement "{\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          }" { (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" identifier = (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" if (parenthesized_expression "(piVar1[1] == 0)" ( (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }" { (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar11);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar11)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar11)" ( number_literal , identifier ))) ;) }) (else_clause "else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" else (compound_statement "{\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" { (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" ( (pointer_expression "*(code *)PTR___printf_chk_00028884" * (cast_expression "(code *)PTR___printf_chk_00028884" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" ( number_literal , identifier , identifier , (subscript_expression "piVar1[1]" identifier [ number_literal ]) , (subscript_expression "piVar1[3]" identifier [ number_literal ]) ))) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" ( (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" ( (binary_expression "0 < local_74" number_literal < identifier) )) && (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" ( (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) , (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ;) })) })) (if_statement "if (local_2c == *(int *)puVar14) {\n        return;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar14)" ( (binary_expression "local_2c == *(int *)puVar14" identifier == (pointer_expression "*(int *)puVar14" * (cast_expression "(int *)puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "puVar14 = PTR___stack_chk_fail_000288cc;" (assignment_expression "puVar14 = PTR___stack_chk_fail_000288cc" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000288cc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000288cc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000288cc)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000288cc" * (cast_expression "(code *)PTR___stack_chk_fail_000288cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "_DT_INIT();" (call_expression "_DT_INIT()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar8 = *(undefined4 **)(puVar14 + 0x14484);" (assignment_expression "puVar8 = *(undefined4 **)(puVar14 + 0x14484)" identifier = (pointer_expression "*(undefined4 **)(puVar14 + 0x14484)" * (cast_expression "(undefined4 **)(puVar14 + 0x14484)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x14484)" ( (binary_expression "puVar14 + 0x14484" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;" (assignment_expression "iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2" identifier = (binary_expression "*(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2" (binary_expression "*(int *)(puVar14 + 0x14484) - (int)puVar8" (pointer_expression "*(int *)(puVar14 + 0x14484)" * (cast_expression "(int *)(puVar14 + 0x14484)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x14484)" ( (binary_expression "puVar14 + 0x14484" identifier + number_literal) )))) - (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (if_statement "if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }" { (do_statement "do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);" do (compound_statement "{\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        }" { (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)*puVar8)(puVar5,piVar6,iVar7);" (call_expression "(*(code *)*puVar8)(puVar5,piVar6,iVar7)" (parenthesized_expression "(*(code *)*puVar8)" ( (pointer_expression "*(code *)*puVar8" * (cast_expression "(code *)*puVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) )) (argument_list "(puVar5,piVar6,iVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" identifier = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar3)" ( (binary_expression "iVar4 != iVar3" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_00013fec:\n    local_74 = local_74 + -1;" statement_identifier : (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;)) (if_statement "if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" if (parenthesized_expression "(local_74 < 1)" ( (binary_expression "local_74 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" { (labeled_statement "LAB_0001407c:\n      iVar4 = 0xff;" statement_identifier : (expression_statement "iVar4 = 0xff;" (assignment_expression "iVar4 = 0xff" identifier = number_literal) ;)) (expression_statement "iVar3 = 0x40;" (assignment_expression "iVar3 = 0x40" identifier = number_literal) ;) (expression_statement "piVar1 = (int *)0x0;" (assignment_expression "piVar1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0001408c;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001408c;" goto statement_identifier ;)) (goto_statement "goto LAB_00013f7c;" goto statement_identifier ;) })) (expression_statement "piVar1 = piVar1 + 4;" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) ;) (labeled_statement "LAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;" statement_identifier : (if_statement "if (piVar1 == (int *)0x0) goto LAB_0001407c;" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001407c;" goto statement_identifier ;))) (if_statement "if (piVar1 != (int *)0x0) goto LAB_00013f74;" if (parenthesized_expression "(piVar1 != (int *)0x0)" ( (binary_expression "piVar1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f74;" goto statement_identifier ;)) (labeled_statement "LAB_00014010:\n    iVar4 = 0x40ff;" statement_identifier : (expression_statement "iVar4 = 0x40ff;" (assignment_expression "iVar4 = 0x40ff" identifier = number_literal) ;)) (if_statement "if (piVar2 != (int *)0x0) goto LAB_00013f88;" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00013f88;" goto statement_identifier ;)) (labeled_statement "LAB_00014024:\n    iVar3 = 0x40ff;" statement_identifier : (expression_statement "iVar3 = 0x40ff;" (assignment_expression "iVar3 = 0x40ff" identifier = number_literal) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + (subscript_expression IDENT [ LIT ]))) ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT >= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression LIT < IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ;) })) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00013e8c(int param_1,int param_2,int param_3,undefined *param_4)" (identifier "FUN_00013e8c") (parameter_list "(int param_1,int param_2,int param_3,undefined *param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined *param_4" (type_identifier "undefined") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  int *piVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  int *piVar9;\n  int *piVar10;\n  int *piVar11;\n  int *piVar12;\n  code *pcVar13;\n  undefined *puVar14;\n  int local_74;\n  int local_70;\n  undefined1 auStack_6c [64];\n  int local_2c;\n  \n  puVar14 = PTR___stack_chk_guard_000288dc;\n  puVar5 = PTR_00028838;\n  piVar11 = &local_74;\n  local_2c = *(int *)PTR___stack_chk_guard_000288dc;\n  iVar7 = param_3;\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);\n  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);\n  pcVar13 = (code *)(PTR_00028838 + 0x37a8);\n  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);\n  piVar6 = &local_70;\n  piVar2 = (int *)(*pcVar13)(param_1,piVar6);\n  piVar10 = (int *)(PTR_00028838 + 0x5918);\n  piVar9 = (int *)(PTR_00028838 + 0x58fc);\n  piVar12 = (int *)(PTR_00028838 + 0x58c8);\nLAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;\nLAB_00013f74:\n  iVar3 = *piVar1;\n  iVar4 = piVar1[1];\nLAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;\n  if (piVar2 == (int *)0x0) goto LAB_00014024;\nLAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];\n  do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "code *pcVar13;" (type_identifier "code") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int local_74;" (primitive_type "int") (identifier "local_74") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "undefined1 auStack_6c [64];" (type_identifier "undefined1") (array_declarator "auStack_6c [64]" (identifier "auStack_6c") ([ "[") (number_literal "64") (] "]")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar14 = PTR___stack_chk_guard_000288dc;" (assignment_expression "puVar14 = PTR___stack_chk_guard_000288dc" (identifier "puVar14") (= "=") (identifier "PTR___stack_chk_guard_000288dc")) (; ";")) (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" (identifier "puVar5") (= "=") (identifier "PTR_00028838")) (; ";")) (expression_statement "piVar11 = &local_74;" (assignment_expression "piVar11 = &local_74" (identifier "piVar11") (= "=") (pointer_expression "&local_74" (& "&") (identifier "local_74"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000288dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000288dc" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000288dc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000288dc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000288dc")))) (; ";")) (expression_statement "iVar7 = param_3;" (assignment_expression "iVar7 = param_3" (identifier "iVar7") (= "=") (identifier "param_3")) (; ";")) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" (( "(") (pointer_expression "*(code *)PTR_puts_000288b8" (* "*") (cast_expression "(code *)PTR_puts_000288b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_puts_000288b8"))) () ")")) (argument_list "(PTR_00028838 + 0x5898)" (( "(") (binary_expression "PTR_00028838 + 0x5898" (identifier "PTR_00028838") (+ "+") (number_literal "0x5898")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" (( "(") (pointer_expression "*(code *)PTR_puts_000288b8" (* "*") (cast_expression "(code *)PTR_puts_000288b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_puts_000288b8"))) () ")")) (argument_list "(PTR_00028838 + 0x58b0)" (( "(") (binary_expression "PTR_00028838 + 0x58b0" (identifier "PTR_00028838") (+ "+") (number_literal "0x58b0")) () ")"))) (; ";")) (expression_statement "pcVar13 = (code *)(PTR_00028838 + 0x37a8);" (assignment_expression "pcVar13 = (code *)(PTR_00028838 + 0x37a8)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(PTR_00028838 + 0x37a8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x37a8)" (( "(") (binary_expression "PTR_00028838 + 0x37a8" (identifier "PTR_00028838") (+ "+") (number_literal "0x37a8")) () ")")))) (; ";")) (expression_statement "piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);" (assignment_expression "piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11)" (identifier "piVar1") (= "=") (cast_expression "(int *)FUN_000137a8(0xffffffff,piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000137a8(0xffffffff,piVar11)" (identifier "FUN_000137a8") (argument_list "(0xffffffff,piVar11)" (( "(") (number_literal "0xffffffff") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (expression_statement "piVar6 = &local_70;" (assignment_expression "piVar6 = &local_70" (identifier "piVar6") (= "=") (pointer_expression "&local_70" (& "&") (identifier "local_70"))) (; ";")) (expression_statement "piVar2 = (int *)(*pcVar13)(param_1,piVar6);" (assignment_expression "piVar2 = (int *)(*pcVar13)(param_1,piVar6)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*pcVar13)(param_1,piVar6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar13)(param_1,piVar6)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(param_1,piVar6)" (( "(") (identifier "param_1") (, ",") (identifier "piVar6") () ")"))))) (; ";")) (expression_statement "piVar10 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar10 = (int *)(PTR_00028838 + 0x5918)" (identifier "piVar10") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x5918)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x5918)" (( "(") (binary_expression "PTR_00028838 + 0x5918" (identifier "PTR_00028838") (+ "+") (number_literal "0x5918")) () ")")))) (; ";")) (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x58fc)" (identifier "piVar9") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x58fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x58fc)" (( "(") (binary_expression "PTR_00028838 + 0x58fc" (identifier "PTR_00028838") (+ "+") (number_literal "0x58fc")) () ")")))) (; ";")) (expression_statement "piVar12 = (int *)(PTR_00028838 + 0x58c8);" (assignment_expression "piVar12 = (int *)(PTR_00028838 + 0x58c8)" (identifier "piVar12") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x58c8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x58c8)" (( "(") (binary_expression "PTR_00028838 + 0x58c8" (identifier "PTR_00028838") (+ "+") (number_literal "0x58c8")) () ")")))) (; ";")) (labeled_statement "LAB_00013f6c:\n  if (piVar1 == (int *)0x0) goto LAB_00014010;" (statement_identifier "LAB_00013f6c") (: ":") (if_statement "if (piVar1 == (int *)0x0) goto LAB_00014010;" (if "if") (parenthesized_expression "(piVar1 == (int *)0x0)" (( "(") (binary_expression "piVar1 == (int *)0x0" (identifier "piVar1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00014010;" (goto "goto") (statement_identifier "LAB_00014010") (; ";")))) (labeled_statement "LAB_00013f74:\n  iVar3 = *piVar1;" (statement_identifier "LAB_00013f74") (: ":") (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" (identifier "iVar3") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";"))) (expression_statement "iVar4 = piVar1[1];" (assignment_expression "iVar4 = piVar1[1]" (identifier "iVar4") (= "=") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (labeled_statement "LAB_00013f7c:\n  iVar4 = iVar3 * 0x100 + iVar4;" (statement_identifier "LAB_00013f7c") (: ":") (expression_statement "iVar4 = iVar3 * 0x100 + iVar4;" (assignment_expression "iVar4 = iVar3 * 0x100 + iVar4" (identifier "iVar4") (= "=") (binary_expression "iVar3 * 0x100 + iVar4" (binary_expression "iVar3 * 0x100" (identifier "iVar3") (* "*") (number_literal "0x100")) (+ "+") (identifier "iVar4"))) (; ";"))) (if_statement "if (piVar2 == (int *)0x0) goto LAB_00014024;" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00014024;" (goto "goto") (statement_identifier "LAB_00014024") (; ";"))) (labeled_statement "LAB_00013f88:\n  iVar3 = *piVar2 * 0x100 + piVar2[1];" (statement_identifier "LAB_00013f88") (: ":") (expression_statement "iVar3 = *piVar2 * 0x100 + piVar2[1];" (assignment_expression "iVar3 = *piVar2 * 0x100 + piVar2[1]" (identifier "iVar3") (= "=") (binary_expression "*piVar2 * 0x100 + piVar2[1]" (binary_expression "*piVar2 * 0x100" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (* "*") (number_literal "0x100")) (+ "+") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (do_statement "do {\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  } while( true );" (do "do") (compound_statement "{\n    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }\nLAB_00013fec:\n    local_74 = local_74 + -1;\n    if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }\n    piVar1 = piVar1 + 4;\nLAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;\n    if (piVar1 != (int *)0x0) goto LAB_00013f74;\nLAB_00014010:\n    iVar4 = 0x40ff;\n    if (piVar2 != (int *)0x0) goto LAB_00013f88;\nLAB_00014024:\n    iVar3 = 0x40ff;\n  }" ({ "{") (if_statement "if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }" (if "if") (parenthesized_expression "((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U))" (( "(") (binary_expression "(param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)" (parenthesized_expression "(param_4 >= (undefined *)0x10)" (( "(") (binary_expression "param_4 >= (undefined *)0x10" (identifier "param_4") (>= ">=") (cast_expression "(undefined *)0x10" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10"))) () ")")) (|| "||") (parenthesized_expression "(1 < iVar4 - 0x18U)" (( "(") (binary_expression "1 < iVar4 - 0x18U" (number_literal "1") (< "<") (binary_expression "iVar4 - 0x18U" (identifier "iVar4") (- "-") (number_literal "0x18U"))) () ")"))) () ")")) (compound_statement "{\n      if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }\nLAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;\n      puVar5 = PTR_00028838;\n      if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }\n      if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }\n      if (local_2c == *(int *)puVar14) {\n        return;\n      }\n      puVar14 = PTR___stack_chk_fail_000288cc;\n      (*(code *)PTR___stack_chk_fail_000288cc)();\n      _DT_INIT();\n      puVar8 = *(undefined4 **)(puVar14 + 0x14484);\n      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;\n      iVar3 = 0;\n      if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }\n      return;\n    }" ({ "{") (if_statement "if (iVar4 == iVar3) {\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }\n      else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iVar4 == iVar3)" (( "(") (binary_expression "iVar4 == iVar3" (identifier "iVar4") (== "==") (identifier "iVar3")) () ")")) (compound_statement "{\n        if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }\n        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }\n      }" ({ "{") (if_statement "if (piVar2 != (int *)0x0) {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" (if "if") (parenthesized_expression "(piVar2 != (int *)0x0)" (( "(") (binary_expression "piVar2 != (int *)0x0" (identifier "piVar2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }\n        }" ({ "{") (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" (identifier "iVar7") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (if_statement "if (piVar2[1] == 0) {\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }\n          else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" (if "if") (parenthesized_expression "(piVar2[1] == 0)" (( "(") (binary_expression "piVar2[1] == 0" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar6 = (int *)(puVar5 + 0x58e4);\n            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);\n          }" ({ "{") (expression_statement "piVar6 = (int *)(puVar5 + 0x58e4);" (assignment_expression "piVar6 = (int *)(puVar5 + 0x58e4)" (identifier "piVar6") (= "=") (cast_expression "(int *)(puVar5 + 0x58e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x58e4)" (( "(") (binary_expression "puVar5 + 0x58e4" (identifier "puVar5") (+ "+") (number_literal "0x58e4")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar6,iVar7)" (( "(") (number_literal "1") (, ",") (identifier "piVar6") (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" (else "else") (compound_statement "{\n            piVar6 = piVar12;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);\n          }" ({ "{") (expression_statement "piVar6 = piVar12;" (assignment_expression "piVar6 = piVar12" (identifier "piVar6") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar12,iVar7,piVar2[1],piVar2[3])" (( "(") (number_literal "1") (, ",") (identifier "piVar12") (, ",") (identifier "iVar7") (, ",") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "local_70 = local_70 + -1;" (assignment_expression "local_70 = local_70 + -1" (identifier "local_70") (= "=") (binary_expression "local_70 + -1" (identifier "local_70") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" (if "if") (parenthesized_expression "(0 < local_70)" (( "(") (binary_expression "0 < local_70" (number_literal "0") (< "<") (identifier "local_70")) () ")")) (compound_statement "{\n            piVar2 = piVar2 + 4;\n            if (piVar1 == (int *)0x0) goto LAB_0001407c;\n            goto LAB_00013fec;\n          }" ({ "{") (expression_statement "piVar2 = piVar2 + 4;" (assignment_expression "piVar2 = piVar2 + 4" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 4" (identifier "piVar2") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (piVar1 == (int *)0x0) goto LAB_0001407c;" (if "if") (parenthesized_expression "(piVar1 == (int *)0x0)" (( "(") (binary_expression "piVar1 == (int *)0x0" (identifier "piVar1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001407c;" (goto "goto") (statement_identifier "LAB_0001407c") (; ";"))) (goto_statement "goto LAB_00013fec;" (goto "goto") (statement_identifier "LAB_00013fec") (; ";")) (} "}"))) (} "}"))) (if_statement "if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" (if "if") (parenthesized_expression "(((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" (( "(") (binary_expression "((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&\n           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74))" (( "(") (binary_expression "(piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)" (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_74 = local_74 + -1, 0 < local_74)" (( "(") (comma_expression "local_74 = local_74 + -1, 0 < local_74" (assignment_expression "local_74 = local_74 + -1" (identifier "local_74") (= "=") (binary_expression "local_74 + -1" (identifier "local_74") (+ "+") (number_literal "-1"))) (, ",") (binary_expression "0 < local_74" (number_literal "0") (< "<") (identifier "local_74"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (( "(") (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 4" (identifier "piVar1") (+ "+") (number_literal "4"))) (, ",") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          piVar2 = (int *)0x0;\n          goto LAB_00013f6c;\n        }" ({ "{") (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00013f6c;" (goto "goto") (statement_identifier "LAB_00013f6c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }\n        if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }\n      }" ({ "{") (if_statement "if (iVar4 < iVar3) {\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" (if "if") (parenthesized_expression "(iVar4 < iVar3)" (( "(") (binary_expression "iVar4 < iVar3" (identifier "iVar4") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n          if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }\n          goto LAB_0001407c;\n        }" ({ "{") (if_statement "if (piVar1 != (int *)0x0) {\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }\n            goto LAB_00013fec;\n          }" ({ "{") (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" (identifier "iVar7") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }\n            else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" (if "if") (parenthesized_expression "(piVar1[1] == 0)" (( "(") (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              piVar6 = piVar10;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n            }" ({ "{") (expression_statement "piVar6 = piVar10;" (assignment_expression "piVar6 = piVar10" (identifier "piVar6") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar10,iVar7)" (( "(") (number_literal "1") (, ",") (identifier "piVar10") (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" (else "else") (compound_statement "{\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);\n            }" ({ "{") (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" (identifier "piVar6") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar9,iVar7,piVar1[1],piVar1[3])" (( "(") (number_literal "1") (, ",") (identifier "piVar9") (, ",") (identifier "iVar7") (, ",") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "piVar1[3]" (identifier "piVar1") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00013fec;" (goto "goto") (statement_identifier "LAB_00013fec") (; ";")) (} "}"))) (goto_statement "goto LAB_0001407c;" (goto "goto") (statement_identifier "LAB_0001407c") (; ";")) (} "}"))) (if_statement "if (piVar2 == (int *)0x0) {\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }\n        else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (piVar1 != (int *)0x0) goto LAB_00013f6c;\n        }" ({ "{") (if_statement "if (piVar1 != (int *)0x0) goto LAB_00013f6c;" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00013f6c;" (goto "goto") (statement_identifier "LAB_00013f6c") (; ";"))) (} "}")) (else_clause "else {\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" (else "else") (compound_statement "{\n          iVar7 = *piVar2;\n          if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }\n          local_70 = local_70 + -1;\n          if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }\n          if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }\n        }" ({ "{") (expression_statement "iVar7 = *piVar2;" (assignment_expression "iVar7 = *piVar2" (identifier "iVar7") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (if_statement "if (piVar2[1] == 0) {\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }\n          else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" (if "if") (parenthesized_expression "(piVar2[1] == 0)" (( "(") (binary_expression "piVar2[1] == 0" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar6 = piVar10;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);\n          }" ({ "{") (expression_statement "piVar6 = piVar10;" (assignment_expression "piVar6 = piVar10" (identifier "piVar6") (= "=") (identifier "piVar10")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar10,iVar7)" (( "(") (number_literal "1") (, ",") (identifier "piVar10") (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" (else "else") (compound_statement "{\n            piVar6 = piVar9;\n            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);\n          }" ({ "{") (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" (identifier "piVar6") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar9,iVar7,piVar2[1],piVar2[3])" (( "(") (number_literal "1") (, ",") (identifier "piVar9") (, ",") (identifier "iVar7") (, ",") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "local_70 = local_70 + -1;" (assignment_expression "local_70 = local_70 + -1" (identifier "local_70") (= "=") (binary_expression "local_70 + -1" (identifier "local_70") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (0 < local_70) {\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }" (if "if") (parenthesized_expression "(0 < local_70)" (( "(") (binary_expression "0 < local_70" (number_literal "0") (< "<") (identifier "local_70")) () ")")) (compound_statement "{\n            piVar2 = piVar2 + 4;\n            goto LAB_00014000;\n          }" ({ "{") (expression_statement "piVar2 = piVar2 + 4;" (assignment_expression "piVar2 = piVar2 + 4" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 4" (identifier "piVar2") (+ "+") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_00014000;" (goto "goto") (statement_identifier "LAB_00014000") (; ";")) (} "}"))) (if_statement "if (piVar1 != (int *)0x0) {\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            piVar2 = (int *)0x0;\n            goto LAB_00013f6c;\n          }" ({ "{") (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00013f6c;" (goto "goto") (statement_identifier "LAB_00013f6c") (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_0001408c:\n      if (param_1 == 0xd) goto LAB_000141b0;" (statement_identifier "LAB_0001408c") (: ":") (if_statement "if (param_1 == 0xd) goto LAB_000141b0;" (if "if") (parenthesized_expression "(param_1 == 0xd)" (( "(") (binary_expression "param_1 == 0xd" (identifier "param_1") (== "==") (number_literal "0xd")) () ")")) (goto_statement "goto LAB_000141b0;" (goto "goto") (statement_identifier "LAB_000141b0") (; ";")))) (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" (identifier "puVar5") (= "=") (identifier "PTR_00028838")) (; ";")) (if_statement "if (param_2 != 0) {\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);\n        puVar5 = (undefined *)0xd;\n        piVar6 = piVar11;\n        piVar1 = (int *)(*pcVar13)(0xd,piVar11);\n        if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" ({ "{") (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" (( "(") (pointer_expression "*(code *)PTR_puts_000288b8" (* "*") (cast_expression "(code *)PTR_puts_000288b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_puts_000288b8"))) () ")")) (argument_list "(PTR_00028838 + 0x5930)" (( "(") (binary_expression "PTR_00028838 + 0x5930" (identifier "PTR_00028838") (+ "+") (number_literal "0x5930")) () ")"))) (; ";")) (expression_statement "puVar5 = (undefined *)0xd;" (assignment_expression "puVar5 = (undefined *)0xd" (identifier "puVar5") (= "=") (cast_expression "(undefined *)0xd" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xd"))) (; ";")) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" (identifier "piVar6") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "piVar1 = (int *)(*pcVar13)(0xd,piVar11);" (assignment_expression "piVar1 = (int *)(*pcVar13)(0xd,piVar11)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*pcVar13)(0xd,piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar13)(0xd,piVar11)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(0xd,piVar11)" (( "(") (number_literal "0xd") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (if_statement "if (piVar1 != (int *)0x0) {\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          piVar9 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" ({ "{") (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x5918)" (identifier "piVar9") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x5918)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x5918)" (( "(") (binary_expression "PTR_00028838 + 0x5918" (identifier "PTR_00028838") (+ "+") (number_literal "0x5918")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" (identifier "piVar2") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x58fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x58fc)" (( "(") (binary_expression "PTR_00028838 + 0x58fc" (identifier "PTR_00028838") (+ "+") (number_literal "0x58fc")) () ")")))) (; ";")) (do_statement "do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" (do "do") (compound_statement "{\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          }" ({ "{") (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" (identifier "puVar5") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" (identifier "iVar7") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" (if "if") (parenthesized_expression "(piVar1[1] == 0)" (( "(") (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              piVar6 = piVar9;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n            }" ({ "{") (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" (identifier "piVar6") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar9)" (( "(") (number_literal "1") (, ",") (identifier "piVar9") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" (else "else") (compound_statement "{\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" ({ "{") (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" (identifier "piVar6") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" (( "(") (number_literal "1") (, ",") (identifier "piVar2") (, ",") (identifier "iVar7") (, ",") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "piVar1[3]" (identifier "piVar1") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" (identifier "local_74") (= "=") (binary_expression "local_74 + -1" (identifier "local_74") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" (( "(") (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" (( "(") (binary_expression "0 < local_74" (number_literal "0") (< "<") (identifier "local_74")) () ")")) (&& "&&") (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (( "(") (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 4" (identifier "piVar1") (+ "+") (number_literal "4"))) (, ",") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (param_1 != 8) {\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }" (if "if") (parenthesized_expression "(param_1 != 8)" (( "(") (binary_expression "param_1 != 8" (identifier "param_1") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\nLAB_000141b0:\n        puVar5 = PTR_00028838;\n        if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }\n      }" ({ "{") (labeled_statement "LAB_000141b0:\n        puVar5 = PTR_00028838;" (statement_identifier "LAB_000141b0") (: ":") (expression_statement "puVar5 = PTR_00028838;" (assignment_expression "puVar5 = PTR_00028838" (identifier "puVar5") (= "=") (identifier "PTR_00028838")) (; ";"))) (if_statement "if (param_3 != 0) {\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);\n          puVar5 = (undefined *)0x8;\n          piVar6 = piVar11;\n          piVar1 = (int *)(*pcVar13)(8,piVar11);\n          if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }\n        }" ({ "{") (expression_statement "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);" (call_expression "(*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c)" (parenthesized_expression "(*(code *)PTR_puts_000288b8)" (( "(") (pointer_expression "*(code *)PTR_puts_000288b8" (* "*") (cast_expression "(code *)PTR_puts_000288b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_puts_000288b8"))) () ")")) (argument_list "(PTR_00028838 + 0x595c)" (( "(") (binary_expression "PTR_00028838 + 0x595c" (identifier "PTR_00028838") (+ "+") (number_literal "0x595c")) () ")"))) (; ";")) (expression_statement "puVar5 = (undefined *)0x8;" (assignment_expression "puVar5 = (undefined *)0x8" (identifier "puVar5") (= "=") (cast_expression "(undefined *)0x8" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x8"))) (; ";")) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" (identifier "piVar6") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "piVar1 = (int *)(*pcVar13)(8,piVar11);" (assignment_expression "piVar1 = (int *)(*pcVar13)(8,piVar11)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*pcVar13)(8,piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar13)(8,piVar11)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(8,piVar11)" (( "(") (number_literal "8") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (if_statement "if (piVar1 != (int *)0x0) {\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            piVar9 = (int *)(PTR_00028838 + 0x5918);\n            piVar2 = (int *)(PTR_00028838 + 0x58fc);\n            do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n          }" ({ "{") (expression_statement "piVar9 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar9 = (int *)(PTR_00028838 + 0x5918)" (identifier "piVar9") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x5918)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x5918)" (( "(") (binary_expression "PTR_00028838 + 0x5918" (identifier "PTR_00028838") (+ "+") (number_literal "0x5918")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" (identifier "piVar2") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x58fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x58fc)" (( "(") (binary_expression "PTR_00028838 + 0x58fc" (identifier "PTR_00028838") (+ "+") (number_literal "0x58fc")) () ")")))) (; ";")) (do_statement "do {\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" (do "do") (compound_statement "{\n              puVar5 = (undefined *)0x1;\n              iVar7 = *piVar1;\n              if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }\n              local_74 = local_74 + -1;\n            }" ({ "{") (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" (identifier "puVar5") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" (identifier "iVar7") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if (piVar1[1] == 0) {\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }\n              else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" (if "if") (parenthesized_expression "(piVar1[1] == 0)" (( "(") (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                piVar6 = piVar9;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar9);\n              }" ({ "{") (expression_statement "piVar6 = piVar9;" (assignment_expression "piVar6 = piVar9" (identifier "piVar6") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar9);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar9)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar9)" (( "(") (number_literal "1") (, ",") (identifier "piVar9") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" (else "else") (compound_statement "{\n                piVar6 = piVar2;\n                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n              }" ({ "{") (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" (identifier "piVar6") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" (( "(") (number_literal "1") (, ",") (identifier "piVar2") (, ",") (identifier "iVar7") (, ",") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "piVar1[3]" (identifier "piVar1") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" (identifier "local_74") (= "=") (binary_expression "local_74 + -1" (identifier "local_74") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" (( "(") (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" (( "(") (binary_expression "0 < local_74" (number_literal "0") (< "<") (identifier "local_74")) () ")")) (&& "&&") (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (( "(") (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 4" (identifier "piVar1") (+ "+") (number_literal "4"))) (, ",") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (if_statement "if (param_4 < (undefined *)0x10) {\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" (if "if") (parenthesized_expression "(param_4 < (undefined *)0x10)" (( "(") (binary_expression "param_4 < (undefined *)0x10" (identifier "param_4") (< "<") (cast_expression "(undefined *)0x10" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10"))) () ")")) (compound_statement "{\n        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);\n        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);\n        piVar1 = (int *)FUN_00013a54(param_4,piVar11);\n        puVar5 = param_4;\n        piVar6 = piVar11;\n        if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }\n      }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);" (assignment_expression "iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c)" (parenthesized_expression "(*(code *)PTR_sg_get_trans_proto_str_00028878)" (( "(") (pointer_expression "*(code *)PTR_sg_get_trans_proto_str_00028878" (* "*") (cast_expression "(code *)PTR_sg_get_trans_proto_str_00028878" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sg_get_trans_proto_str_00028878"))) () ")")) (argument_list "(param_4,0x40,auStack_6c)" (( "(") (identifier "param_4") (, ",") (number_literal "0x40") (, ",") (identifier "auStack_6c") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,PTR_00028838 + 0x5980,iVar7)" (( "(") (number_literal "1") (, ",") (binary_expression "PTR_00028838 + 0x5980" (identifier "PTR_00028838") (+ "+") (number_literal "0x5980")) (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "piVar1 = (int *)FUN_00013a54(param_4,piVar11);" (assignment_expression "piVar1 = (int *)FUN_00013a54(param_4,piVar11)" (identifier "piVar1") (= "=") (cast_expression "(int *)FUN_00013a54(param_4,piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00013a54(param_4,piVar11)" (identifier "FUN_00013a54") (argument_list "(param_4,piVar11)" (( "(") (identifier "param_4") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (expression_statement "puVar5 = param_4;" (assignment_expression "puVar5 = param_4" (identifier "puVar5") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" (identifier "piVar6") (= "=") (identifier "piVar11")) (; ";")) (if_statement "if (piVar1 != (int *)0x0) {\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          piVar11 = (int *)(PTR_00028838 + 0x5918);\n          piVar2 = (int *)(PTR_00028838 + 0x58fc);\n          do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));\n        }" ({ "{") (expression_statement "piVar11 = (int *)(PTR_00028838 + 0x5918);" (assignment_expression "piVar11 = (int *)(PTR_00028838 + 0x5918)" (identifier "piVar11") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x5918)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x5918)" (( "(") (binary_expression "PTR_00028838 + 0x5918" (identifier "PTR_00028838") (+ "+") (number_literal "0x5918")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)(PTR_00028838 + 0x58fc);" (assignment_expression "piVar2 = (int *)(PTR_00028838 + 0x58fc)" (identifier "piVar2") (= "=") (cast_expression "(int *)(PTR_00028838 + 0x58fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00028838 + 0x58fc)" (( "(") (binary_expression "PTR_00028838 + 0x58fc" (identifier "PTR_00028838") (+ "+") (number_literal "0x58fc")) () ")")))) (; ";")) (do_statement "do {\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));" (do "do") (compound_statement "{\n            puVar5 = (undefined *)0x1;\n            iVar7 = *piVar1;\n            if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }\n            local_74 = local_74 + -1;\n          }" ({ "{") (expression_statement "puVar5 = (undefined *)0x1;" (assignment_expression "puVar5 = (undefined *)0x1" (identifier "puVar5") (= "=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "iVar7 = *piVar1;" (assignment_expression "iVar7 = *piVar1" (identifier "iVar7") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if (piVar1[1] == 0) {\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }\n            else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" (if "if") (parenthesized_expression "(piVar1[1] == 0)" (( "(") (binary_expression "piVar1[1] == 0" (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              piVar6 = piVar11;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar11);\n            }" ({ "{") (expression_statement "piVar6 = piVar11;" (assignment_expression "piVar6 = piVar11" (identifier "piVar6") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar11);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar11)" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar11)" (( "(") (number_literal "1") (, ",") (identifier "piVar11") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" (else "else") (compound_statement "{\n              piVar6 = piVar2;\n              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);\n            }" ({ "{") (expression_statement "piVar6 = piVar2;" (assignment_expression "piVar6 = piVar2" (identifier "piVar6") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);" (call_expression "(*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3])" (parenthesized_expression "(*(code *)PTR___printf_chk_00028884)" (( "(") (pointer_expression "*(code *)PTR___printf_chk_00028884" (* "*") (cast_expression "(code *)PTR___printf_chk_00028884" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___printf_chk_00028884"))) () ")")) (argument_list "(1,piVar2,iVar7,piVar1[1],piVar1[3])" (( "(") (number_literal "1") (, ",") (identifier "piVar2") (, ",") (identifier "iVar7") (, ",") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "piVar1[3]" (identifier "piVar1") ([ "[") (number_literal "3") (] "]")) () ")"))) (; ";")) (} "}")))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" (identifier "local_74") (= "=") (binary_expression "local_74 + -1" (identifier "local_74") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0))" (( "(") (binary_expression "(0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (parenthesized_expression "(0 < local_74)" (( "(") (binary_expression "0 < local_74" (number_literal "0") (< "<") (identifier "local_74")) () ")")) (&& "&&") (parenthesized_expression "(piVar1 = piVar1 + 4, piVar1 != (int *)0x0)" (( "(") (comma_expression "piVar1 = piVar1 + 4, piVar1 != (int *)0x0" (assignment_expression "piVar1 = piVar1 + 4" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 4" (identifier "piVar1") (+ "+") (number_literal "4"))) (, ",") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_2c == *(int *)puVar14) {\n        return;\n      }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar14)" (( "(") (binary_expression "local_2c == *(int *)puVar14" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar14" (* "*") (cast_expression "(int *)puVar14" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14")))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar14 = PTR___stack_chk_fail_000288cc;" (assignment_expression "puVar14 = PTR___stack_chk_fail_000288cc" (identifier "puVar14") (= "=") (identifier "PTR___stack_chk_fail_000288cc")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000288cc)();" (call_expression "(*(code *)PTR___stack_chk_fail_000288cc)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000288cc)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000288cc" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000288cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000288cc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "_DT_INIT();" (call_expression "_DT_INIT()" (identifier "_DT_INIT") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar8 = *(undefined4 **)(puVar14 + 0x14484);" (assignment_expression "puVar8 = *(undefined4 **)(puVar14 + 0x14484)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(puVar14 + 0x14484)" (* "*") (cast_expression "(undefined4 **)(puVar14 + 0x14484)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar14 + 0x14484)" (( "(") (binary_expression "puVar14 + 0x14484" (identifier "puVar14") (+ "+") (number_literal "0x14484")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;" (assignment_expression "iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2" (identifier "iVar4") (= "=") (binary_expression "*(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2" (binary_expression "*(int *)(puVar14 + 0x14484) - (int)puVar8" (pointer_expression "*(int *)(puVar14 + 0x14484)" (* "*") (cast_expression "(int *)(puVar14 + 0x14484)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 0x14484)" (( "(") (binary_expression "puVar14 + 0x14484" (identifier "puVar14") (+ "+") (number_literal "0x14484")) () ")")))) (- "-") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar4 != 0) {\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);\n      }" ({ "{") (do_statement "do {\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        } while (iVar4 != iVar3);" (do "do") (compound_statement "{\n          iVar3 = iVar3 + 1;\n          (*(code *)*puVar8)(puVar5,piVar6,iVar7);\n          puVar8 = puVar8 + 1;\n        }" ({ "{") (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)*puVar8)(puVar5,piVar6,iVar7);" (call_expression "(*(code *)*puVar8)(puVar5,piVar6,iVar7)" (parenthesized_expression "(*(code *)*puVar8)" (( "(") (pointer_expression "*(code *)*puVar8" (* "*") (cast_expression "(code *)*puVar8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")))) () ")")) (argument_list "(puVar5,piVar6,iVar7)" (( "(") (identifier "puVar5") (, ",") (identifier "piVar6") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "puVar8 = puVar8 + 1;" (assignment_expression "puVar8 = puVar8 + 1" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 1" (identifier "puVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != iVar3)" (( "(") (binary_expression "iVar4 != iVar3" (identifier "iVar4") (!= "!=") (identifier "iVar3")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_00013fec:\n    local_74 = local_74 + -1;" (statement_identifier "LAB_00013fec") (: ":") (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" (identifier "local_74") (= "=") (binary_expression "local_74 + -1" (identifier "local_74") (+ "+") (number_literal "-1"))) (; ";"))) (if_statement "if (local_74 < 1) {\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" (if "if") (parenthesized_expression "(local_74 < 1)" (( "(") (binary_expression "local_74 < 1" (identifier "local_74") (< "<") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0001407c:\n      iVar4 = 0xff;\n      iVar3 = 0x40;\n      piVar1 = (int *)0x0;\n      if (piVar2 == (int *)0x0) goto LAB_0001408c;\n      goto LAB_00013f7c;\n    }" ({ "{") (labeled_statement "LAB_0001407c:\n      iVar4 = 0xff;" (statement_identifier "LAB_0001407c") (: ":") (expression_statement "iVar4 = 0xff;" (assignment_expression "iVar4 = 0xff" (identifier "iVar4") (= "=") (number_literal "0xff")) (; ";"))) (expression_statement "iVar3 = 0x40;" (assignment_expression "iVar3 = 0x40" (identifier "iVar3") (= "=") (number_literal "0x40")) (; ";")) (expression_statement "piVar1 = (int *)0x0;" (assignment_expression "piVar1 = (int *)0x0" (identifier "piVar1") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0001408c;" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001408c;" (goto "goto") (statement_identifier "LAB_0001408c") (; ";"))) (goto_statement "goto LAB_00013f7c;" (goto "goto") (statement_identifier "LAB_00013f7c") (; ";")) (} "}"))) (expression_statement "piVar1 = piVar1 + 4;" (assignment_expression "piVar1 = piVar1 + 4" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 4" (identifier "piVar1") (+ "+") (number_literal "4"))) (; ";")) (labeled_statement "LAB_00014000:\n    if (piVar1 == (int *)0x0) goto LAB_0001407c;" (statement_identifier "LAB_00014000") (: ":") (if_statement "if (piVar1 == (int *)0x0) goto LAB_0001407c;" (if "if") (parenthesized_expression "(piVar1 == (int *)0x0)" (( "(") (binary_expression "piVar1 == (int *)0x0" (identifier "piVar1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0001407c;" (goto "goto") (statement_identifier "LAB_0001407c") (; ";")))) (if_statement "if (piVar1 != (int *)0x0) goto LAB_00013f74;" (if "if") (parenthesized_expression "(piVar1 != (int *)0x0)" (( "(") (binary_expression "piVar1 != (int *)0x0" (identifier "piVar1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00013f74;" (goto "goto") (statement_identifier "LAB_00013f74") (; ";"))) (labeled_statement "LAB_00014010:\n    iVar4 = 0x40ff;" (statement_identifier "LAB_00014010") (: ":") (expression_statement "iVar4 = 0x40ff;" (assignment_expression "iVar4 = 0x40ff" (identifier "iVar4") (= "=") (number_literal "0x40ff")) (; ";"))) (if_statement "if (piVar2 != (int *)0x0) goto LAB_00013f88;" (if "if") (parenthesized_expression "(piVar2 != (int *)0x0)" (( "(") (binary_expression "piVar2 != (int *)0x0" (identifier "piVar2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00013f88;" (goto "goto") (statement_identifier "LAB_00013f88") (; ";"))) (labeled_statement "LAB_00014024:\n    iVar3 = 0x40ff;" (statement_identifier "LAB_00014024") (: ":") (expression_statement "iVar3 = 0x40ff;" (assignment_expression "iVar3 = 0x40ff" (identifier "iVar3") (= "=") (number_literal "0x40ff")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (number_literal) right: (identifier)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)))))))))) (labeled_statement label: (statement_identifier) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))))))

void MASKED(int param_1,int param_2,int param_3,undefined *param_4)

{
  int *piVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  undefined *puVar5;
  int *piVar6;
  int iVar7;
  undefined4 *puVar8;
  int *piVar9;
  int *piVar10;
  int *piVar11;
  int *piVar12;
  code *pcVar13;
  undefined *puVar14;
  int local_74;
  int local_70;
  undefined1 auStack_6c [64];
  int local_2c;
  
  puVar14 = PTR___stack_chk_guard_000288dc;
  puVar5 = PTR_00028838;
  piVar11 = &local_74;
  local_2c = *(int *)PTR___stack_chk_guard_000288dc;
  iVar7 = param_3;
  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5898);
  (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x58b0);
  pcVar13 = (code *)(PTR_00028838 + 0x37a8);
  piVar1 = (int *)FUN_000137a8(0xffffffff,piVar11);
  piVar6 = &local_70;
  piVar2 = (int *)(*pcVar13)(param_1,piVar6);
  piVar10 = (int *)(PTR_00028838 + 0x5918);
  piVar9 = (int *)(PTR_00028838 + 0x58fc);
  piVar12 = (int *)(PTR_00028838 + 0x58c8);
LAB_00013f6c:
  if (piVar1 == (int *)0x0) goto LAB_00014010;
LAB_00013f74:
  iVar3 = *piVar1;
  iVar4 = piVar1[1];
LAB_00013f7c:
  iVar4 = iVar3 * 0x100 + iVar4;
  if (piVar2 == (int *)0x0) goto LAB_00014024;
LAB_00013f88:
  iVar3 = *piVar2 * 0x100 + piVar2[1];
  do {
    if ((param_4 >= (undefined *)0x10) || (1 < iVar4 - 0x18U)) {
      if (iVar4 == iVar3) {
        if (piVar2 != (int *)0x0) {
          iVar7 = *piVar2;
          if (piVar2[1] == 0) {
            piVar6 = (int *)(puVar5 + 0x58e4);
            (*(code *)PTR___printf_chk_00028884)(1,piVar6,iVar7);
          }
          else {
            piVar6 = piVar12;
            (*(code *)PTR___printf_chk_00028884)(1,piVar12,iVar7,piVar2[1],piVar2[3]);
          }
          local_70 = local_70 + -1;
          if (0 < local_70) {
            piVar2 = piVar2 + 4;
            if (piVar1 == (int *)0x0) goto LAB_0001407c;
            goto LAB_00013fec;
          }
        }
        if (((piVar1 != (int *)0x0) && (local_74 = local_74 + -1, 0 < local_74)) &&
           (piVar1 = piVar1 + 4, piVar1 != (int *)0x0)) {
          piVar2 = (int *)0x0;
          goto LAB_00013f6c;
        }
      }
      else {
        if (iVar4 < iVar3) {
          if (piVar1 != (int *)0x0) {
            iVar7 = *piVar1;
            if (piVar1[1] == 0) {
              piVar6 = piVar10;
              (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);
            }
            else {
              piVar6 = piVar9;
              (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar1[1],piVar1[3]);
            }
            goto LAB_00013fec;
          }
          goto LAB_0001407c;
        }
        if (piVar2 == (int *)0x0) {
          if (piVar1 != (int *)0x0) goto LAB_00013f6c;
        }
        else {
          iVar7 = *piVar2;
          if (piVar2[1] == 0) {
            piVar6 = piVar10;
            (*(code *)PTR___printf_chk_00028884)(1,piVar10,iVar7);
          }
          else {
            piVar6 = piVar9;
            (*(code *)PTR___printf_chk_00028884)(1,piVar9,iVar7,piVar2[1],piVar2[3]);
          }
          local_70 = local_70 + -1;
          if (0 < local_70) {
            piVar2 = piVar2 + 4;
            goto LAB_00014000;
          }
          if (piVar1 != (int *)0x0) {
            piVar2 = (int *)0x0;
            goto LAB_00013f6c;
          }
        }
      }
LAB_0001408c:
      if (param_1 == 0xd) goto LAB_000141b0;
      puVar5 = PTR_00028838;
      if (param_2 != 0) {
        (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x5930);
        puVar5 = (undefined *)0xd;
        piVar6 = piVar11;
        piVar1 = (int *)(*pcVar13)(0xd,piVar11);
        if (piVar1 != (int *)0x0) {
          piVar9 = (int *)(PTR_00028838 + 0x5918);
          piVar2 = (int *)(PTR_00028838 + 0x58fc);
          do {
            puVar5 = (undefined *)0x1;
            iVar7 = *piVar1;
            if (piVar1[1] == 0) {
              piVar6 = piVar9;
              (*(code *)PTR___printf_chk_00028884)(1,piVar9);
            }
            else {
              piVar6 = piVar2;
              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);
            }
            local_74 = local_74 + -1;
          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));
        }
      }
      if (param_1 != 8) {
LAB_000141b0:
        puVar5 = PTR_00028838;
        if (param_3 != 0) {
          (*(code *)PTR_puts_000288b8)(PTR_00028838 + 0x595c);
          puVar5 = (undefined *)0x8;
          piVar6 = piVar11;
          piVar1 = (int *)(*pcVar13)(8,piVar11);
          if (piVar1 != (int *)0x0) {
            piVar9 = (int *)(PTR_00028838 + 0x5918);
            piVar2 = (int *)(PTR_00028838 + 0x58fc);
            do {
              puVar5 = (undefined *)0x1;
              iVar7 = *piVar1;
              if (piVar1[1] == 0) {
                piVar6 = piVar9;
                (*(code *)PTR___printf_chk_00028884)(1,piVar9);
              }
              else {
                piVar6 = piVar2;
                (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);
              }
              local_74 = local_74 + -1;
            } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));
          }
        }
      }
      if (param_4 < (undefined *)0x10) {
        iVar7 = (*(code *)PTR_sg_get_trans_proto_str_00028878)(param_4,0x40,auStack_6c);
        (*(code *)PTR___printf_chk_00028884)(1,PTR_00028838 + 0x5980,iVar7);
        piVar1 = (int *)FUN_00013a54(param_4,piVar11);
        puVar5 = param_4;
        piVar6 = piVar11;
        if (piVar1 != (int *)0x0) {
          piVar11 = (int *)(PTR_00028838 + 0x5918);
          piVar2 = (int *)(PTR_00028838 + 0x58fc);
          do {
            puVar5 = (undefined *)0x1;
            iVar7 = *piVar1;
            if (piVar1[1] == 0) {
              piVar6 = piVar11;
              (*(code *)PTR___printf_chk_00028884)(1,piVar11);
            }
            else {
              piVar6 = piVar2;
              (*(code *)PTR___printf_chk_00028884)(1,piVar2,iVar7,piVar1[1],piVar1[3]);
            }
            local_74 = local_74 + -1;
          } while ((0 < local_74) && (piVar1 = piVar1 + 4, piVar1 != (int *)0x0));
        }
      }
      if (local_2c == *(int *)puVar14) {
        return;
      }
      puVar14 = PTR___stack_chk_fail_000288cc;
      (*(code *)PTR___stack_chk_fail_000288cc)();
      _DT_INIT();
      puVar8 = *(undefined4 **)(puVar14 + 0x14484);
      iVar4 = *(int *)(puVar14 + 0x14484) - (int)puVar8 >> 2;
      iVar3 = 0;
      if (iVar4 != 0) {
        do {
          iVar3 = iVar3 + 1;
          (*(code *)*puVar8)(puVar5,piVar6,iVar7);
          puVar8 = puVar8 + 1;
        } while (iVar4 != iVar3);
      }
      return;
    }
LAB_00013fec:
    local_74 = local_74 + -1;
    if (local_74 < 1) {
LAB_0001407c:
      iVar4 = 0xff;
      iVar3 = 0x40;
      piVar1 = (int *)0x0;
      if (piVar2 == (int *)0x0) goto LAB_0001408c;
      goto LAB_00013f7c;
    }
    piVar1 = piVar1 + 4;
LAB_00014000:
    if (piVar1 == (int *)0x0) goto LAB_0001407c;
    if (piVar1 != (int *)0x0) goto LAB_00013f74;
LAB_00014010:
    iVar4 = 0x40ff;
    if (piVar2 != (int *)0x0) goto LAB_00013f88;
LAB_00014024:
    iVar3 = 0x40ff;
  } while( true );
}

