
bfd_vma lang_size_sections_1
                  (lang_statement_union_type **prev,
                  lang_output_section_statement_type *output_section_statement,fill_type *fill,
                  bfd_vma dot,bfd_boolean *relax,bfd_boolean check_regions)

{
  undefined *puVar1;
  lang_statement_union_type *plVar2;
  bfd_vma bVar3;
  bfd_boolean again;
  
  puVar1 = PTR_yy_accept_1428__001db910;
  plVar2 = *prev;
  while( true ) {
    if (plVar2 == (lang_statement_union_type *)0x0) {
      return dot;
    }
    if ((plVar2->header).type < 0x10) break;
    info_assert(puVar1 + 0x4120,0x15a7);
    plVar2 = (plVar2->header).next;
  }
                    /* WARNING: Could not emulate address calculation at 0x000273c8 */
                    /* WARNING: Treating indirect jump as call */
  bVar3 = (*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))();
  return bVar3;
}



undefined8 FUN_00027330(int *param_1)

{
  undefined *puVar1;
  undefined8 uVar2;
  undefined8 in_stack_00000010;
  
  puVar1 = PTR_DAT_001db910;
  param_1 = (int *)*param_1;
  while( true ) {
    if (param_1 == (int *)0x0) {
      return in_stack_00000010;
    }
    if ((uint)param_1[1] < 0x10) break;
    info_assert(puVar1 + 0x4120,0x15a7);
    param_1 = (int *)*param_1;
  }
                    /* WARNING: Could not emulate address calculation at 0x000273c8 */
                    /* WARNING: Treating indirect jump as call */
  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();
  return uVar2;
}


lui gp,0x1c
addiu gp,gp,-0x3a60
addu gp,gp,t9
addiu sp,sp,-0x80
sw s7,0x74(sp)
sw gp,0x20(sp)
sw ra,0x7c(sp)
sw s8,0x78(sp)
sw s6,0x70(sp)
sw s5,0x6c(sp)
sw s4,0x68(sp)
sw s3,0x64(sp)
sw s2,0x60(sp)
sw s1,0x5c(sp)
sw s0,0x58(sp)
lw s7,0x0(a0)
beq s7,zero,0x000273ec
_lw v0,-0x7fc0(gp)
or s8,s7,zero
lw s0,-0x7fc0(gp)
or s2,a2,zero
lw s1,-0x7fcc(gp)
or s6,a1,zero
sw v0,0x34(sp)
or s7,a0,zero
lw v0,-0x7fd8(gp)
addiu s0,s0,0x3e34
lw s4,0x98(sp)
addiu s1,s1,0x7330
sw a0,0x80(sp)
sw v0,0x30(sp)
lw v0,-0x7fcc(gp)
addiu v0,v0,0x687c
sw v0,0x38(sp)
lw v0,0x4(s8)
sltiu v1,v0,0x10
beq v1,zero,0x00027de0
_sll v0,v0,0x2
addu v0,s0,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
or s7,s8,zero
lw s8,0x0(s8)
bne s8,zero,0x000273b8
_nop
lw ra,0x7c(sp)
lw v1,0x94(sp)
lw v0,0x90(sp)
lw s8,0x78(sp)
lw s7,0x74(sp)
lw s6,0x70(sp)
lw s5,0x6c(sp)
lw s4,0x68(sp)
lw s3,0x64(sp)
lw s2,0x60(sp)
lw s1,0x5c(sp)
lw s0,0x58(sp)
jr ra
_addiu sp,sp,0x80
lw v0,0x1c(s6)
or s7,s8,zero
lw v1,0x94(sp)
lw t9,-0x7838(gp)
lw a0,0xc(s8)
lw a1,0x24(v0)
lw a2,0x20(v0)
lw v0,0x90(sp)
subu a1,v1,a1
subu v0,v0,a2
sw a1,0x34(s8)
sltu v1,v1,a1
subu v0,v0,v1
sw v0,0x30(s8)
lw v0,0x1c(s6)
jalr t9
_sw v0,0x28(s8)
lw v1,0x30(sp)
lw a1,0x1c(s6)
lw t2,0x90(sp)
lw gp,0x20(sp)
lw a2,-0x3ba4(v1)
lw v1,0x94(sp)
lw a0,0x14(a1)
srav v0,v0,a2
sra a3,v0,0x1f
addu v1,v0,v1
addu a3,a3,t2
sltu v0,v1,v0
sw v1,0x94(sp)
addu v0,v0,a3
andi a0,a0,0x800
bne a0,zero,0x000273e0
_sw v0,0x90(sp)
lw a0,0x24(a1)
nor t2,zero,a2
lw t3,0x20(a1)
andi a3,a2,0x20
subu a0,v1,a0
subu v0,v0,t3
sltu v1,v1,a0
subu v0,v0,v1
srl v1,a0,0x1
sllv v0,v0,a2
srlv v1,v1,t2
sllv a0,a0,a2
or v0,v0,v1
movn v0,a0,a3
movn a0,zero,a3
sw v0,0x30(a1)
b 0x000273e0
_sw a0,0x34(a1)
lw v0,0x1c(s6)
addiu a2,sp,0x90
lw v1,0x94(sp)
lw a1,-0x79a0(gp)
lw t9,-0x7cd0(gp)
lw a3,0x24(v0)
lw t1,0x20(v0)
addiu a1,a1,0x190
lw v0,0x90(sp)
subu a3,v1,a3
lw a0,0xc(s8)
subu v0,v0,t1
sw a3,0x24(s8)
sltu v1,v1,a3
subu v0,v0,v1
sw v0,0x20(s8)
lw v0,0x1c(s6)
bal 0x00038e38
_sw v0,0x18(s8)
lw v0,0x8(s8)
addiu v0,v0,-0x11a
sltiu v1,v0,0x5
beq v1,zero,0x0002888c
_lw gp,0x20(sp)
sll v1,v0,0x2
lw v0,0x30(sp)
lw a3,-0x7fc0(gp)
or s7,s8,zero
lw a1,0x1c(s6)
lw a0,-0x3ba4(v0)
li v0,0x1
sllv a2,v0,a0
addiu v0,a3,0x4078
lw a3,0x14(a1)
addu v1,v1,v0
andi a3,a3,0x800
lw v1,0x0(v1)
sltu v0,a2,v1
movz v1,a2,v0
lw a2,0x90(sp)
srlv v0,v1,a0
lw v1,0x94(sp)
addu v1,v0,v1
sltu v0,v1,v0
sw v1,0x94(sp)
addu v0,v0,a2
bne a3,zero,0x000273e0
_sw v0,0x90(sp)
lw a2,0x24(a1)
nor t2,zero,a0
lw t3,0x20(a1)
andi a3,a0,0x20
subu a2,v1,a2
subu v0,v0,t3
sltu v1,v1,a2
subu v0,v0,v1
srl v1,a2,0x1
sllv v0,v0,a0
srlv v1,v1,t2
b 0x000274dc
_sllv a0,a2,a0
lw v0,0x1c(s6)
or s7,s8,zero
lw s2,0x8(s8)
b 0x000273e0
_sw v0,0x10(s8)
lw v0,-0x7fa8(gp)
or s7,s8,zero
lw v1,0x1c(s6)
b 0x000273e0
_sw v1,0x44(v0)
beq s4,zero,0x00027650
_lw a2,-0x7fa8(gp)
lw v0,0x8(s8)
or a1,v0,zero
lw v0,0xb4(v0)
or a0,v0,zero
lw v0,0x4(v0)
lw t9,0x164(v0)
jalr t9
_addiu a3,sp,0x28
beq v0,zero,0x00027f74
_lw gp,0x20(sp)
lw v0,0x28(sp)
beq v0,zero,0x00027650
_li v0,0x1
sw v0,0x0(s4)
lw v1,0x0(s7)
lui a2,0x1c0
lui a1,0x100
lw a0,0x90(sp)
lw v0,0x94(sp)
lw s3,0x8(v1)
lw v1,0x18(s3)
and v1,v1,a2
beq v1,a1,0x00027e00
_lw s5,0x1c(s6)
lw v1,0x14(s3)
andi v1,v1,0x8000
bne v1,zero,0x00027e64
_nop
lbu v1,0x54(s6)
andi v1,v1,0x10
bne v1,zero,0x00027e64
_li a1,-0x1
lw v1,0x40(s6)
beq v1,a1,0x0002850c
_nop
or a1,v1,zero
sw v1,0x5c(s3)
lw v1,0x5c(s5)
sltu v1,v1,a1
beq v1,zero,0x000276c8
_lw v1,0x30(sp)
sw a1,0x5c(s5)
lw a1,0x5c(s3)
lw v1,0x30(sp)
andi t3,a1,0x20
addiu a2,a0,-0x1
lw a3,-0x3ba4(v1)
li v1,0x1
sllv v1,v1,a1
addiu a1,v0,-0x1
or t0,v1,zero
movn v1,zero,t3
sltu t2,a1,v0
movz t0,zero,t3
addu a2,t2,a2
addu t3,a1,v1
subu v1,zero,v1
subu t2,zero,t0
addu a2,a2,t0
sltu t0,t3,a1
sltu a1,zero,v1
subu a1,t2,a1
addu a2,t0,a2
and v1,t3,v1
subu t2,v1,v0
and t0,a2,a1
subu a1,t0,a0
sltu a2,v1,t2
subu a1,a1,a2
or a2,a1,t2
bne a2,zero,0x00028514
_srl t3,t2,0x1
lw a1,0x30(s3)
nor t4,zero,a3
lw v1,0x34(s3)
andi t1,a3,0x20
lw t2,0x24(s5)
sll t5,a1,0x1
lw a2,0x20(s5)
srlv v1,v1,a3
lw t3,0x14(s5)
sllv t5,t5,t4
srlv a1,a1,a3
or v1,t5,v1
movn v1,a1,t1
subu t6,v0,t2
subu t5,a0,a2
movn a1,zero,t1
sltu t7,v0,t6
subu t5,t5,t7
addu v1,v0,v1
sw t6,0x54(s3)
andi t3,t3,0x800
sw t5,0x50(s3)
addu a0,a0,a1
sltu v0,v1,v0
addu a0,v0,a0
bne t3,zero,0x00027e28
_or v0,v1,zero
subu a1,v1,t2
subu v1,a0,a2
sltu a2,v0,a1
subu v1,v1,a2
srl a2,a1,0x1
sllv v1,v1,a3
srlv t4,a2,t4
sllv a1,a1,a3
or v1,v1,t4
movn v1,a1,t1
movn a1,zero,t1
sw v1,0x30(s5)
b 0x00027e28
_sw a1,0x34(s5)
addiu a0,s8,0x18
lw v0,0x9c(sp)
or a2,s2,zero
sw s4,0x18(sp)
or a1,s6,zero
sw v0,0x1c(sp)
lw v1,0x94(sp)
or t9,s1,zero
lw v0,0x90(sp)
or s7,s8,zero
sw v1,0x14(sp)
bal 0x00027330
_sw v0,0x10(sp)
lw gp,0x20(sp)
sw v1,0x94(sp)
b 0x000273e0
_sw v0,0x90(sp)
lw v1,0x48(s8)
li v0,-0x1
beq v1,v0,0x000273e0
_or s7,s8,zero
lw a0,0x2c(s8)
beq a0,zero,0x00027fd0
_lw v1,-0x7fa8(gp)
lbu v0,0x54(s8)
addiu a2,sp,0x90
lw a1,-0x79a0(gp)
lw t9,-0x7cd0(gp)
ins v0,zero,0x7,0x1
addiu a1,a1,0x190
bal 0x00038e38
_sb v0,0x54(s8)
lw gp,0x20(sp)
lw v0,-0x7ccc(gp)
lw v1,0x28(v0)
bne v1,zero,0x00027eb0
_nop
lw v1,0x0(v0)
li v0,0x1
beq v1,v0,0x000278b0
_lw t9,-0x782c(gp)
lw a1,-0x7fc0(gp)
li a2,0x5
or a0,zero,zero
jalr t9
_addiu a1,a1,0x4644
lw gp,0x20(sp)
or a0,v0,zero
lw a2,0x18(s8)
lw t9,-0x7fbc(gp)
bal 0x0003b994
_lw a1,0x2c(s8)
lw gp,0x20(sp)
lw a0,0x1c(s8)
beq a0,zero,0x000273e0
_or a2,a0,zero
lw s3,-0x7fa8(gp)
lw v0,0x34(s3)
lw v0,0x4(v0)
lw v0,0x4(v0)
addiu v0,v0,-0x2
sltiu v0,v0,0x2
bne v0,zero,0x00028034
_nop
lw v0,-0x79a0(gp)
lw t3,0x90(sp)
lw v1,0x94(sp)
addiu s5,v0,0x190
beq a2,s5,0x00028184
_sw v0,0x40(sp)
lw v0,0x2c(s8)
beq v0,zero,0x0002837c
_or a1,v1,zero
lw t2,0x44(s8)
or a3,t3,zero
blez t2,0x000281a8
_li v0,0x1
andi t3,t2,0x20
sllv v0,v0,t2
addiu v1,a1,-0x1
or t4,v0,zero
movn v0,zero,t3
addiu t5,a3,-0x1
movz t4,zero,t3
sltu a0,v1,a1
addu a0,a0,t5
subu t3,zero,t4
addu a0,a0,t4
addu t4,v1,v0
subu v0,zero,v0
sltu v1,t4,v1
sltu t5,zero,v0
addu a0,v1,a0
subu t3,t3,t5
and v1,v0,t4
subu t4,v1,a1
and t3,t3,a0
subu a3,t3,a3
sw t4,0x48(sp)
sltu v0,v1,t4
subu v0,a3,v0
sw v0,0x44(sp)
or v0,v0,t4
bne v0,zero,0x000281f0
_lw v0,-0x7fc4(gp)
lw v0,0x18(a2)
li a0,0x1
or a1,zero,zero
sw t3,0x28(a2)
sw v1,0x2c(a2)
ins v0,a0,0x1f,0x1
sw t3,0x20(a2)
or a0,zero,zero
sw v1,0x24(a2)
sw v0,0x18(a2)
sw a1,0x54(a2)
sw a0,0x50(a2)
lw v0,0x9c(sp)
addiu a0,s8,0x8
lw a2,0x28(s8)
or a1,s8,zero
sw t2,0x3c(sp)
or t9,s1,zero
sw v0,0x1c(sp)
sw s4,0x18(sp)
sw t3,0x10(sp)
bal 0x00027330
_sw v1,0x14(sp)
li v1,0x1
lbu v0,0x54(s8)
lw a0,0x1c(s8)
lw gp,0x20(sp)
ins v0,v1,0x7,0x1
lw t2,0x3c(sp)
beq a0,s5,0x00027f3c
_sb v0,0x54(s8)
andi v0,v0,0x10
lw a1,0x30(a0)
bne v0,zero,0x00027f48
_lw v1,0x34(a0)
lw v0,0x14(a0)
lw t6,0x20(a0)
lw a2,0x24(a0)
andi v0,v0,0x800
sw t6,0x90(sp)
beq v0,zero,0x0002827c
_sw a2,0x94(sp)
lw a3,0x20(s8)
beq a3,zero,0x000284e8
_lw a0,-0x7fc8(gp)
lw a0,0x30(s8)
beq a0,zero,0x000280ec
_lw a2,-0x7fc0(gp)
or a1,zero,zero
lw t9,-0x7cac(gp)
sw a3,0x3c(sp)
bal 0x00039b78
_addiu a2,a2,0x47c4
lw a0,0x1c(s8)
lw a3,0x3c(sp)
lw gp,0x20(sp)
lw a1,0x14(a0)
sw v1,0x2c(a0)
sw v0,0x28(a0)
andi t3,a1,0x1
lbu v0,0x54(s8)
li v1,0x1
ins v0,v1,0x6,0x1
beq t3,zero,0x00027ae0
_sb v0,0x54(s8)
li v0,0x400
andi v1,a1,0x402
beq v1,v0,0x00027ae0
_nop
lw v0,0x30(a0)
lw v1,0x34(a0)
or v0,v0,v1
bne v0,zero,0x00027f14
_nop
lw v0,0x30(a3)
beq v0,zero,0x00027ef4
_lw v1,0x90(sp)
lw v0,0x1c(v0)
lw a2,0x20(v0)
sltu t2,v1,a2
bne t2,zero,0x00027ae0
_nop
bne a2,v1,0x00027f14
_lw v1,0x94(sp)
lw v0,0x24(v0)
sltu v0,v1,v0
beq v0,zero,0x00027f14
_nop
beq a0,s5,0x000273e0
_nop
lbu v0,0x54(s8)
andi v0,v0,0x10
bne v0,zero,0x000273e0
_li v0,0x400
andi a1,a1,0x402
beq a1,v0,0x000286ac
_lui a1,0xc000
lw v0,0x30(sp)
lw v1,0x30(a0)
lw s3,0x34(a0)
lw v0,-0x3ba4(v0)
sll a0,v1,0x1
nor a1,zero,v0
srlv s3,s3,v0
sllv a0,a0,a1
srlv s5,v1,v0
or s3,a0,s3
andi v0,v0,0x20
movn s3,s5,v0
movn s5,zero,v0
lw v0,0x94(sp)
lw v1,0x90(sp)
lw a0,0x34(s8)
addu a1,v0,s3
addu v1,v1,s5
sltu v0,a1,v0
sw a1,0x94(sp)
addu v0,v0,v1
beq a0,zero,0x00027b78
_sw v0,0x90(sp)
lw v0,0x40(sp)
addiu a2,sp,0x90
lw t9,-0x7cd0(gp)
bal 0x00038e38
_addiu a1,v0,0x190
lw gp,0x20(sp)
lw a1,0x20(s8)
beq a1,zero,0x000273e0
_nop
lw a2,0x1c(s8)
lw v0,0x14(a2)
andi v0,v0,0x3
beq v0,zero,0x000273e0
_lw v0,0x90(sp)
lw v1,0x94(sp)
sw v0,0x28(a1)
sw v1,0x2c(a1)
lw v0,0x9c(sp)
bne v0,zero,0x00028810
_lw t9,-0x7fcc(gp)
lw a1,0x24(s8)
beq a1,zero,0x000273e0
_nop
lw v0,0x20(s8)
beq a1,v0,0x000273e0
_nop
lw v0,0x1c(s8)
lw v1,0x14(v0)
andi v1,v1,0x2
bne v1,zero,0x00027bec
_nop
lbu v1,0x54(s8)
andi v1,v1,0x2
beq v1,zero,0x000273e0
_nop
lw a3,0x2c(v0)
lw t2,0x28(v0)
addu v0,a3,s3
addu v1,t2,s5
sltu a0,v0,a3
sw v0,0x2c(a1)
lw v0,0x9c(sp)
addu v1,a0,v1
beq v0,zero,0x000273e0
_sw v1,0x28(a1)
lw t9,-0x7fcc(gp)
or a2,zero,zero
addiu a0,s8,0x1c
sw t2,0x10(sp)
addiu t9,t9,0x3690
bal 0x00023690
_sw a3,0x14(sp)
b 0x000273e0
_lw gp,0x20(sp)
or v1,zero,zero
or v0,zero,zero
sw v1,0x14(s8)
or s7,s8,zero
sw v0,0x10(s8)
lw v0,0x1c(s6)
lw v1,0x94(sp)
lw a0,0x24(v0)
lw a1,0x20(v0)
lw v0,0x90(sp)
subu a0,v1,a0
subu v0,v0,a1
sw a0,0xc(s8)
sltu v1,v1,a0
subu v0,v0,v1
b 0x000273e0
_sw v0,0x8(s8)
lw v0,0x9c(sp)
or a2,s2,zero
lw a0,-0x7cd4(gp)
or a1,s6,zero
sw s4,0x18(sp)
b 0x000277f4
_sw v0,0x1c(sp)
lw v1,0x94(sp)
addiu a2,sp,0x28
lw v0,0x90(sp)
lw s3,-0x7ccc(gp)
lw t9,-0x7cd0(gp)
lw a1,0x1c(s6)
sw v1,0x2c(sp)
sw v0,0x28(sp)
lw s5,0x8(s8)
sw zero,0x78(s3)
bal 0x00038e38
_or a0,s5,zero
li v1,0x1
lw v0,0x78(s3)
beq v0,v1,0x00027e38
_lw gp,0x20(sp)
li v1,0x2
beq v0,v1,0x00027fa4
_nop
lw v0,0xc(s5)
li a0,-0x3
li v1,0x4
and v0,v0,a0
beq v0,v1,0x00027e88
_sw zero,0x78(s3)
lbu v0,0x54(s6)
andi v0,v0,0x10
bne v0,zero,0x000273e0
_or s7,s8,zero
lw v0,-0x7cc8(gp)
lw v0,0x0(v0)
beq v0,s6,0x000281bc
_lw v0,0x28(sp)
lw v1,0x90(sp)
lw a3,0x2c(sp)
bne v0,v1,0x00027d34
_lw a0,0x94(sp)
beq a3,a0,0x00027dcc
_nop
lw a1,0x30(sp)
subu t1,a3,a0
subu a2,v0,v1
lw t2,0x1c(s6)
sltu a3,a3,t1
sw v1,0x18(sp)
subu a2,a2,a3
sw a0,0x1c(sp)
lw a1,-0x3ba4(a1)
srl v0,t1,0x1
lw t9,0x38(sp)
or a0,s8,zero
sw t2,0x10(sp)
nor v1,zero,a1
srlv v0,v0,v1
sllv t1,t1,a1
sllv a2,a2,a1
or a3,t1,zero
andi a1,a1,0x20
or a2,v0,a2
movn a3,zero,a1
movn a2,t1,a1
jalr t9
_or a1,s2,zero
li v1,0x3
lw v0,0x50(s6)
lw gp,0x20(sp)
beq v0,v1,0x000284c8
_lw s8,0x0(s8)
li a1,0x2
lw v1,0x28(sp)
lw a0,0x2c(sp)
beq v0,a1,0x00028684
_or s7,s8,zero
lw a1,0x1c(s6)
lw v0,0x14(a1)
ori v0,v0,0x1
sw v0,0x14(a1)
sw v1,0x90(sp)
b 0x000273e0
_sw a0,0x94(sp)
b 0x000277e0
_addiu a0,s8,0x8
lw v0,0x34(sp)
li a1,0x15a7
lw t9,-0x7f64(gp)
or s7,s8,zero
bal 0x0003ba20
_addiu a0,v0,0x4120
b 0x000273e0
_lw gp,0x20(sp)
lw v1,0x24(s5)
lw a2,0x24(s3)
lw a3,0x20(s5)
lw a1,0x20(s3)
subu v1,a2,v1
subu a1,a1,a3
sw v1,0x54(s3)
sltu v1,a2,v1
subu v1,a1,v1
sw v1,0x50(s3)
sw a0,0x90(sp)
or s7,s8,zero
b 0x000273e0
_sw v0,0x94(sp)
lw v0,0x7c(s3)
beq v0,zero,0x00027eec
_nop
beq v0,s8,0x00027ce4
_lw v0,0x34(sp)
li a1,0x137c
lw t9,-0x7f64(gp)
bal 0x0003ba20
_addiu a0,v0,0x4120
b 0x00027ce4
_lw gp,0x20(sp)
lw a1,0x24(s5)
lw v1,0x20(s5)
subu a1,v0,a1
subu v1,a0,v1
sltu a2,v0,a1
sw a1,0x54(s3)
subu v1,v1,a2
b 0x00027e28
_sw v1,0x50(s3)
lw v0,0x10(s5)
li v1,0x2e
lb a0,0x0(v0)
beq a0,v1,0x00028020
_nop
lbu v0,0x54(s6)
li v1,0x1
ins v0,v1,0x3,0x1
b 0x00027cfc
_sb v0,0x54(s6)
lw a1,0x18(v0)
lw v1,0x1c(v0)
lw a0,0x24(v0)
sw a1,0x90(sp)
beq a0,zero,0x000278b0
_sw v1,0x94(sp)
lw v0,0x24(a0)
lw a0,0x20(a0)
addu v1,v0,v1
addu a0,a0,a1
sltu v0,v1,v0
sw v1,0x94(sp)
addu v0,v0,a0
b 0x000278b0
_sw v0,0x90(sp)
b 0x00027ce4
_sw s8,0x7c(s3)
lw v1,0x20(a0)
lw v0,0x28(a0)
bne v1,v0,0x00027f14
_nop
lw v1,0x24(a0)
lw v0,0x2c(a0)
beq v1,v0,0x00027ae0
_nop
lw v0,0x24(s8)
bne v0,zero,0x00027ae0
_lui a2,0xc000
lw v0,0x0(s3)
lui v1,0x8000
and v0,v0,a2
beq v0,v1,0x00027ae0
_nop
b 0x00027ae0
_sw s8,0x30(a3)
lw v0,0x40(sp)
lw a1,0x1c0(v0)
lw v1,0x1c4(v0)
or a1,a1,v1
beq a1,zero,0x00027a28
_lw v0,0x34(sp)
li a1,0x1443
lw t9,-0x7f64(gp)
sw t2,0x3c(sp)
bal 0x0003ba20
_addiu a0,v0,0x4120
lw gp,0x20(sp)
b 0x00027a28
_lw t2,0x3c(sp)
lw a1,-0x7fc0(gp)
li a2,0x5
lw t9,-0x782c(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x4800
lw gp,0x20(sp)
lw t9,-0x7fbc(gp)
bal 0x0003b994
_or a0,v0,zero
b 0x00027640
_lw gp,0x20(sp)
lw v0,0x80(s3)
beq v0,zero,0x000284e0
_nop
beq v0,s8,0x00027ce4
_lw v0,0x34(sp)
li a1,0x1385
lw t9,-0x7f64(gp)
bal 0x0003ba20
_addiu a0,v0,0x4120
b 0x00027ce4
_lw gp,0x20(sp)
lui a1,0xc000
lui a0,0x8000
lw v0,0x0(v1)
and v0,v0,a1
bne v0,a0,0x000278b0
_li v0,0x2
lw v1,0x34(v1)
lw v1,0x4(v1)
lw v1,0x4(v1)
bne v1,v0,0x000278b0
_lw t9,-0x7ea0(gp)
or a0,zero,zero
bal 0x00038c64
_or a1,zero,zero
lw gp,0x20(sp)
or a0,v0,zero
beq v0,zero,0x000278b0
_sw v0,0x2c(s8)
b 0x00027840
_lbu v0,0x54(s8)
lb v0,0x1(v0)
beq v0,zero,0x00027cfc
_nop
b 0x00027ea0
_lbu v0,0x54(s6)
lw v0,0x14(a0)
ext v1,v0,0x1a,0x1
beq v1,zero,0x000278dc
_nop
lw v1,0x8(s8)
beq v1,zero,0x0002806c
_lw a1,-0x7fc0(gp)
lw a1,0x0(v1)
bne a1,zero,0x0002806c
_lw a1,-0x7fc0(gp)
lw a2,0x4(v1)
li a1,0x5
beq a2,a1,0x000280a4
_lw a1,-0x7fc0(gp)
li a2,0x5
lw t9,-0x782c(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x4694
lw gp,0x20(sp)
or a0,v0,zero
lw t9,-0x7fbc(gp)
bal 0x0003b994
_lw a1,0x18(s8)
lw a0,0x1c(s8)
lw gp,0x20(sp)
lw v1,0x8(s8)
lw v0,0x14(a0)
lw a1,0x8(v1)
li t2,0x1
lw v1,0x18(a0)
andi v0,v0,0x800
lw a3,0x24(a1)
ins v1,t2,0x1f,0x1
lw a2,0x20(a1)
sw v1,0x18(a0)
sw a3,0x2c(a0)
sw a2,0x28(a0)
sw a3,0x24(a0)
bne v0,zero,0x000273e0
_sw a2,0x20(a0)
lw v1,0x34(a1)
lw v0,0x30(a1)
sw v1,0x34(a0)
b 0x000273e0
_sw v0,0x30(a0)
lw a0,0x1c(s8)
lw v1,0x24(s8)
lw a1,0x14(a0)
beq v1,zero,0x0002857c
_andi t3,a1,0x1
lbu t4,0x54(s8)
lw v0,0x28(v1)
andi t4,t4,0x2
bne t4,zero,0x00028324
_lw a2,0x2c(v1)
lw t4,0x20(s8)
beq v1,t4,0x00028124
_nop
lw t2,0x44(s8)
blez t2,0x00028178
_li v1,0x1
andi t5,t2,0x20
sllv t2,v1,t2
addiu t4,a2,-0x1
or t6,t2,zero
movn t2,zero,t5
addiu v0,v0,-0x1
movz t6,zero,t5
sltu v1,t4,a2
addu v1,v1,v0
subu a2,zero,t2
addu v1,v1,t6
subu t5,zero,t6
addu t6,t4,t2
sltu t2,zero,a2
sltu v0,t6,t4
addu v0,v0,v1
subu v1,t5,t2
and a2,a2,t6
and v0,v1,v0
sw v0,0x28(a0)
b 0x00027a70
_sw a2,0x2c(a0)
lw a0,0x1b0(v0)
lw v0,0x1b4(v0)
sw a0,0x44(sp)
sw v0,0x48(sp)
or v0,a0,v0
bne v0,zero,0x0002834c
_lw v0,0x34(sp)
b 0x000279b0
_or t2,zero,zero
sw zero,0x44(sp)
or t3,a3,zero
sw zero,0x48(sp)
b 0x00027980
_or v1,a1,zero
lw a0,-0x7fc8(gp)
or a1,zero,zero
lw t9,-0x7e7c(gp)
bal 0x00027160
_addiu a0,a0,0x5114
lw v1,0x28(sp)
lw a0,0x2c(sp)
lw gp,0x20(sp)
sw v1,0x90(sp)
sw v1,0x28(v0)
sw a0,0x2c(v0)
b 0x000273e0
_sw a0,0x94(sp)
lw v0,0x24(v0)
bne v0,zero,0x00028208
_lw a0,-0x7ccc(gp)
lw v0,0x2c(s8)
beq v0,zero,0x00027980
_nop
li v0,0x1
lw a0,0x0(a0)
beq a0,v0,0x00027980
_li v0,0x5
lw a2,-0x7fc0(gp)
lw a1,-0x7fc0(gp)
or a0,zero,zero
lw t9,-0x7ab4(gp)
or a3,t4,zero
addiu a2,a2,0x4754
sw v1,0x54(sp)
addiu a1,a1,0x478c
sw t3,0x50(sp)
sw t2,0x4c(sp)
sw t4,0x3c(sp)
jalr t9
_sw v0,0x10(sp)
lw gp,0x20(sp)
or a0,v0,zero
lw t4,0x3c(sp)
lw a1,0x18(s8)
lw t9,-0x7fbc(gp)
bal 0x0003b994
_or a2,t4,zero
lw a2,0x1c(s8)
lw t2,0x4c(sp)
lw t3,0x50(sp)
b 0x00027980
_lw v1,0x54(sp)
lw v0,0x30(sp)
sll t7,a1,0x1
lw t4,-0x3ba4(v0)
lw v0,0x3c(s8)
nor t5,zero,t4
addu a3,a2,v0
sllv t7,t7,t5
srlv v1,v1,t4
sltu t8,a3,a2
srlv a1,a1,t4
andi t3,t4,0x20
or v1,t7,v1
addu t8,t8,t6
movn v1,a1,t3
addiu t7,a3,-0x1
movn a1,zero,t3
addiu t8,t8,-0x1
sltu a3,t7,a3
addu a3,a3,t8
addu v1,t7,v1
addu a3,a3,a1
sltu a1,v1,t7
subu v0,zero,v0
addu a1,a1,a3
and v1,v1,v0
movz a1,zero,v0
subu a2,v1,a2
sltu v1,v1,a2
or v0,a1,zero
subu v0,v0,t6
srl a1,a2,0x1
subu v0,v0,v1
sllv a2,a2,t4
srlv t5,a1,t5
sllv v0,v0,t4
or v1,a2,zero
or v0,v0,t5
movn v1,zero,t3
movn v0,a2,t3
sw v1,0x34(a0)
b 0x00027a28
_sw v0,0x30(a0)
lw v1,0x48(sp)
lw t0,0x44(sp)
addu v1,a2,v1
addu v0,v0,t0
sltu a2,v1,a2
addu v0,a2,v0
or a2,v1,zero
sw v0,0x28(a0)
b 0x00027a70
_sw a2,0x2c(a0)
li a1,0x13e5
lw t9,-0x7f64(gp)
sw v1,0x4c(sp)
addiu a0,v0,0x4120
bal 0x0003ba20
_sw t3,0x3c(sp)
or t2,zero,zero
lw t3,0x3c(sp)
lw v1,0x4c(sp)
sw zero,0x44(sp)
b 0x000279b0
_sw zero,0x48(sp)
lw v1,0x20(s8)
beq v1,zero,0x000286f4
_lw a3,0x14(a2)
andi v0,a3,0x3
beq v0,zero,0x000283a4
_li v0,0x2a
lw a0,0x0(v1)
lb a1,0x0(a0)
beq a1,v0,0x000286c8
_lw a1,-0x7fc8(gp)
lbu v0,0x54(s8)
andi v0,v0,0x10
bne v0,zero,0x000284b8
_nop
lw v0,0x14(a2)
andi a0,v0,0x1
beq a0,zero,0x000284b8
_li a0,0x400
andi v0,v0,0x402
beq v0,a0,0x000284b8
_lui a0,0x8000
lw v0,0x0(s3)
lui a1,0xc000
and v0,v0,a1
beq v0,a0,0x000284b8
_lw v0,0x9c(sp)
beq v0,zero,0x000284b8
_lw t9,-0x778c(gp)
lw t2,-0x7fc8(gp)
lw a0,0x0(v1)
addiu a1,t2,0x5114
sw a2,0x48(sp)
sw v1,0x44(sp)
jalr t9
_sw t2,0x3c(sp)
lw gp,0x20(sp)
lw v1,0x44(sp)
bne v0,zero,0x000284b8
_lw a2,0x48(sp)
lw v0,-0x7fd8(gp)
lw a3,-0x3bc4(v0)
beq a3,zero,0x000284b8
_lw t9,-0x778c(gp)
lw t2,0x3c(sp)
lw a0,0x0(a3)
addiu a1,t2,0x5114
jalr t9
_sw a3,0x3c(sp)
lw gp,0x20(sp)
lw v1,0x44(sp)
bne v0,zero,0x0002845c
_lw a2,0x48(sp)
lw a3,0x3c(sp)
lw v0,0x8(a3)
beq v0,zero,0x000284b8
_nop
lw a0,-0x7ccc(gp)
li v0,0x1
lw a0,0x0(a0)
beq a0,v0,0x000284b8
_lw v0,-0x7fb8(gp)
li a2,0x5
lw t9,-0x782c(gp)
lb v0,0x18(v0)
beq v0,zero,0x00028880
_or a0,zero,zero
lw a1,-0x7fc0(gp)
addiu a1,a1,0x46cc
jalr t9
_nop
lw gp,0x20(sp)
or a0,v0,zero
lw v1,0x1c(s8)
lw t9,-0x7fbc(gp)
bal 0x0003b994
_lw a1,0x0(v1)
lw gp,0x20(sp)
lw v1,0x20(s8)
lw a2,0x1c(s8)
lw a3,0x28(v1)
lw a1,0x2c(v1)
b 0x00027908
_lw t2,0x5c(a2)
lw v1,0x28(sp)
or s7,s8,zero
lw a0,0x2c(sp)
sw v1,0x90(sp)
b 0x000273e0
_sw a0,0x94(sp)
b 0x00027ce4
_sw s8,0x80(s3)
or a1,zero,zero
lw t9,-0x7e7c(gp)
sw t2,0x3c(sp)
bal 0x00027160
_addiu a0,a0,0x5114
lw gp,0x20(sp)
or a3,v0,zero
b 0x00027a34
_lw t2,0x3c(sp)
b 0x000276ac
_lw a1,0x5c(s3)
sw a0,0x18(sp)
nor a0,zero,a3
sw v0,0x1c(sp)
sllv a2,a1,a3
sw v1,0x40(sp)
srlv v0,t3,a0
sw t0,0x3c(sp)
sllv t2,t2,a3
sw s5,0x10(sp)
andi a0,a3,0x20
lw t9,0x38(sp)
or a2,v0,a2
or a3,t2,zero
movn a2,t2,a0
or a1,s2,zero
movn a3,zero,a0
jalr t9
_or a0,s7,zero
lw v0,0x30(sp)
lw t0,0x3c(sp)
lw v1,0x40(sp)
lw gp,0x20(sp)
lw a3,-0x3ba4(v0)
or a0,t0,zero
b 0x00027738
_or v0,v1,zero
lw v0,0x30(a3)
beq v0,zero,0x00027a70
_nop
beq t3,zero,0x00028764
_li v1,0x1
lw t7,0x1c(v0)
lw t6,0x90(sp)
lw v0,0x94(sp)
lw t5,0x20(t7)
lw v1,0x24(t7)
lw t0,0x28(t7)
sltu a2,t6,t5
bne a2,zero,0x000285c4
_lw t1,0x2c(t7)
bne t5,t6,0x00028774
_sltu a2,v0,v1
beq a2,zero,0x00028774
_nop
lw t3,0x30(a0)
lw a2,0x34(a0)
or t4,t3,a2
beq t4,zero,0x00028774
_lw t4,0x30(sp)
sll t9,t3,0x1
lw t4,-0x3ba4(t4)
nor t8,zero,t4
srlv a2,a2,t4
sllv t8,t9,t8
srlv t3,t3,t4
or a2,t8,a2
andi t4,t4,0x20
movn a2,t3,t4
movn t3,zero,t4
addu t4,a2,v0
addu t3,t3,t6
sltu a2,t4,a2
addu a2,a2,t3
sltu t3,t5,a2
bne t3,zero,0x00028774
_nop
bne a2,t5,0x0002862c
_sltu t4,v1,t4
bne t4,zero,0x00028774
_nop
bne t5,t0,0x0002863c
_nop
beq v1,t1,0x000287fc
_nop
lw a1,-0x7fc0(gp)
li a2,0x5
lw t9,-0x782c(gp)
or a0,zero,zero
sw a3,0x3c(sp)
jalr t9
_addiu a1,a1,0x47d0
lw gp,0x20(sp)
or a0,v0,zero
lw t9,-0x7fbc(gp)
bal 0x0003b994
_lw a1,0x18(s8)
lw a0,0x1c(s8)
lw gp,0x20(sp)
lw a3,0x3c(sp)
lw a1,0x14(a0)
b 0x00027a70
_andi t3,a1,0x1
lw a1,-0x7fa8(gp)
li v0,0x5
lw a1,0x34(a1)
lw a1,0x4(a1)
lw a1,0x4(a1)
beq a1,v0,0x00027dbc
_nop
sw v1,0x90(sp)
b 0x000273e0
_sw a0,0x94(sp)
lw v0,0x0(s3)
lui v1,0x8000
and v0,v0,a1
beq v0,v1,0x00027b04
_or s5,zero,zero
b 0x00027b38
_or s3,zero,zero
lw t9,-0x778c(gp)
sw a2,0x48(sp)
addiu a1,a1,0x5114
sw a3,0x44(sp)
jalr t9
_sw v1,0x3c(sp)
lw gp,0x20(sp)
lw v1,0x3c(sp)
lw a3,0x44(sp)
bne v0,zero,0x000283a4
_lw a2,0x48(sp)
li v0,0x1
andi v1,a3,0x19
bne v1,v0,0x00028708
_lw v0,-0x7fd8(gp)
ori a3,a3,0x20
lw v1,-0x3bc4(v0)
beq v1,zero,0x00028740
_lw a0,-0x7fc8(gp)
lw v0,0x34(v1)
and v0,a3,v0
beq v0,zero,0x00028734
_nop
lw v0,0x38(v1)
and v0,a3,v0
beq v0,zero,0x0002875c
_nop
lw v1,0x8(v1)
bne v1,zero,0x00028714
_lw a0,-0x7fc8(gp)
or a1,zero,zero
lw t9,-0x7e7c(gp)
bal 0x00027160
_addiu a0,a0,0x5114
lw gp,0x20(sp)
or v1,v0,zero
lw a2,0x1c(s8)
b 0x000283a4
_sw v1,0x20(s8)
lbu v0,0x54(s8)
ins v0,v1,0x6,0x1
b 0x00027ae0
_sb v0,0x54(s8)
lw t3,0x50(s8)
li a2,0x1
beq t3,a2,0x00028838
_addu a2,v0,t1
addu t6,t6,t0
sltu v0,a2,v0
addu v0,v0,t6
subu v1,a2,v1
subu t5,v0,t5
sltu v0,a2,v1
subu t5,t5,v0
blez t2,0x000287f4
_li v0,0x1
andi a2,t2,0x20
sllv t2,v0,t2
or t4,t2,zero
movn t2,zero,a2
movz t4,zero,a2
addiu a2,t2,-0x1
subu t3,zero,t2
addiu t6,t4,-0x1
sltu v0,a2,t2
addu v0,v0,t6
addu v1,a2,v1
addu v0,v0,t5
subu t4,zero,t4
sltu a2,v1,a2
sltu t5,zero,t3
addu v0,a2,v0
subu t5,t4,t5
and v1,t3,v1
and t5,t5,v0
sw t5,0x28(a0)
sw v1,0x2c(a0)
lbu v0,0x54(s8)
li v1,0x1
ins v0,v1,0x6,0x1
b 0x00027a84
_sb v0,0x54(s8)
addiu a0,s8,0x1c
lw v1,0x24(a2)
lw v0,0x20(a2)
lw a2,0x2c(s8)
addiu t9,t9,0x3690
sw v1,0x14(sp)
bal 0x00023690
_sw v0,0x10(sp)
b 0x00027bb0
_lw gp,0x20(sp)
lw v0,0x30(sp)
lw a2,0x30(t7)
lw v1,-0x3ba4(v0)
sll t3,a2,0x1
lw v0,0x34(t7)
nor t4,zero,v1
srlv v0,v0,v1
sllv t3,t3,t4
srlv a2,a2,v1
or v0,t3,v0
andi v1,v1,0x20
movn v0,a2,v1
movn a2,zero,v1
addu v1,v0,t1
addu t5,a2,t0
sltu v0,v1,v0
b 0x000287a0
_addu t5,v0,t5
lw a1,-0x7fc0(gp)
b 0x0002848c
_addiu a1,a1,0x4710
lw a2,-0x7fc0(gp)
li a1,0x14f8
lw a0,-0x7fc0(gp)
lw t9,-0x7fa4(gp)
addiu a2,a2,0x40b4
bal 0x0003a8d0
_addiu a0,a0,0x4120
(translation_unit "undefined8 FUN_00027330(int *param_1)\n\n{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    /* WARNING: Could not emulate address calculation at 0x000273c8 */\n                    /* WARNING: Treating indirect jump as call */\n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}\n\n" (function_definition "undefined8 FUN_00027330(int *param_1)\n\n{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    /* WARNING: Could not emulate address calculation at 0x000273c8 */\n                    /* WARNING: Treating indirect jump as call */\n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}" type_identifier (function_declarator "FUN_00027330(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    /* WARNING: Could not emulate address calculation at 0x000273c8 */\n                    /* WARNING: Treating indirect jump as call */\n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 in_stack_00000010;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_DAT_001db910;" (assignment_expression "puVar1 = PTR_DAT_001db910" identifier = identifier) ;) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (while_statement "while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }" { (if_statement "if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return in_stack_00000010;\n    }" { (return_statement "return in_stack_00000010;" return identifier ;) })) (if_statement "if ((uint)param_1[1] < 0x10) break;" if (parenthesized_expression "((uint)param_1[1] < 0x10)" ( (binary_expression "(uint)param_1[1] < 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "info_assert(puVar1 + 0x4120,0x15a7);" (call_expression "info_assert(puVar1 + 0x4120,0x15a7)" identifier (argument_list "(puVar1 + 0x4120,0x15a7)" ( (binary_expression "puVar1 + 0x4120" identifier + number_literal) , number_literal ))) ;) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) })) comment comment (expression_statement "uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();" (assignment_expression "uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))()" identifier = (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" ( (binary_expression "&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" * (cast_expression "(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + param_1[1] * 4 + 0x3e34)" ( (binary_expression "puVar1 + param_1[1] * 4 + 0x3e34" (binary_expression "puVar1 + param_1[1] * 4" identifier + (binary_expression "param_1[1] * 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "bfd_vma lang_size_sections_1\n                  (lang_statement_union_type **prev,\n                  lang_output_section_statement_type *output_section_statement,fill_type *fill,\n                  bfd_vma dot,bfd_boolean *relax,bfd_boolean check_regions)\n\n{\n  undefined *puVar1;\n  lang_statement_union_type *plVar2;\n  bfd_vma bVar3;\n  bfd_boolean again;\n  \n  puVar1 = PTR_yy_accept_1428__001db910;\n  plVar2 = *prev;\n  while( true ) {\n    if (plVar2 == (lang_statement_union_type *)0x0) {\n      return dot;\n    }\n    if ((plVar2->header).type < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    plVar2 = (plVar2->header).next;\n  }\n                    /* WARNING: Could not emulate address calculation at 0x000273c8 */\n                    /* WARNING: Treating indirect jump as call */\n  bVar3 = (*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))();\n  return bVar3;\n}\n\n" (function_definition "bfd_vma lang_size_sections_1\n                  (lang_statement_union_type **prev,\n                  lang_output_section_statement_type *output_section_statement,fill_type *fill,\n                  bfd_vma dot,bfd_boolean *relax,bfd_boolean check_regions)\n\n{\n  undefined *puVar1;\n  lang_statement_union_type *plVar2;\n  bfd_vma bVar3;\n  bfd_boolean again;\n  \n  puVar1 = PTR_yy_accept_1428__001db910;\n  plVar2 = *prev;\n  while( true ) {\n    if (plVar2 == (lang_statement_union_type *)0x0) {\n      return dot;\n    }\n    if ((plVar2->header).type < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    plVar2 = (plVar2->header).next;\n  }\n                    /* WARNING: Could not emulate address calculation at 0x000273c8 */\n                    /* WARNING: Treating indirect jump as call */\n  bVar3 = (*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))();\n  return bVar3;\n}" type_identifier (function_declarator "lang_size_sections_1\n                  (lang_statement_union_type **prev,\n                  lang_output_section_statement_type *output_section_statement,fill_type *fill,\n                  bfd_vma dot,bfd_boolean *relax,bfd_boolean check_regions)" identifier (parameter_list "(lang_statement_union_type **prev,\n                  lang_output_section_statement_type *output_section_statement,fill_type *fill,\n                  bfd_vma dot,bfd_boolean *relax,bfd_boolean check_regions)" ( (parameter_declaration "lang_statement_union_type **prev" type_identifier (pointer_declarator "**prev" * (pointer_declarator "*prev" * identifier))) , (parameter_declaration "lang_output_section_statement_type *output_section_statement" type_identifier (pointer_declarator "*output_section_statement" * identifier)) , (parameter_declaration "fill_type *fill" type_identifier (pointer_declarator "*fill" * identifier)) , (parameter_declaration "bfd_vma dot" type_identifier identifier) , (parameter_declaration "bfd_boolean *relax" type_identifier (pointer_declarator "*relax" * identifier)) , (parameter_declaration "bfd_boolean check_regions" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  lang_statement_union_type *plVar2;\n  bfd_vma bVar3;\n  bfd_boolean again;\n  \n  puVar1 = PTR_yy_accept_1428__001db910;\n  plVar2 = *prev;\n  while( true ) {\n    if (plVar2 == (lang_statement_union_type *)0x0) {\n      return dot;\n    }\n    if ((plVar2->header).type < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    plVar2 = (plVar2->header).next;\n  }\n                    /* WARNING: Could not emulate address calculation at 0x000273c8 */\n                    /* WARNING: Treating indirect jump as call */\n  bVar3 = (*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))();\n  return bVar3;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "lang_statement_union_type *plVar2;" type_identifier (pointer_declarator "*plVar2" * identifier) ;) (declaration "bfd_vma bVar3;" type_identifier identifier ;) (declaration "bfd_boolean again;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_yy_accept_1428__001db910;" (assignment_expression "puVar1 = PTR_yy_accept_1428__001db910" identifier = identifier) ;) (expression_statement "plVar2 = *prev;" (assignment_expression "plVar2 = *prev" identifier = (pointer_expression "*prev" * identifier)) ;) (while_statement "while( true ) {\n    if (plVar2 == (lang_statement_union_type *)0x0) {\n      return dot;\n    }\n    if ((plVar2->header).type < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    plVar2 = (plVar2->header).next;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (plVar2 == (lang_statement_union_type *)0x0) {\n      return dot;\n    }\n    if ((plVar2->header).type < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    plVar2 = (plVar2->header).next;\n  }" { (if_statement "if (plVar2 == (lang_statement_union_type *)0x0) {\n      return dot;\n    }" if (parenthesized_expression "(plVar2 == (lang_statement_union_type *)0x0)" ( (binary_expression "plVar2 == (lang_statement_union_type *)0x0" identifier == (cast_expression "(lang_statement_union_type *)0x0" ( (type_descriptor "lang_statement_union_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return dot;\n    }" { (return_statement "return dot;" return identifier ;) })) (if_statement "if ((plVar2->header).type < 0x10) break;" if (parenthesized_expression "((plVar2->header).type < 0x10)" ( (binary_expression "(plVar2->header).type < 0x10" (field_expression "(plVar2->header).type" (parenthesized_expression "(plVar2->header)" ( (field_expression "plVar2->header" identifier -> field_identifier) )) . field_identifier) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "info_assert(puVar1 + 0x4120,0x15a7);" (call_expression "info_assert(puVar1 + 0x4120,0x15a7)" identifier (argument_list "(puVar1 + 0x4120,0x15a7)" ( (binary_expression "puVar1 + 0x4120" identifier + number_literal) , number_literal ))) ;) (expression_statement "plVar2 = (plVar2->header).next;" (assignment_expression "plVar2 = (plVar2->header).next" identifier = (field_expression "(plVar2->header).next" (parenthesized_expression "(plVar2->header)" ( (field_expression "plVar2->header" identifier -> field_identifier) )) . field_identifier)) ;) })) comment comment (expression_statement "bVar3 = (*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))();" (assignment_expression "bVar3 = (*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))()" identifier = (call_expression "(*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))()" (parenthesized_expression "(*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)))" ( (pointer_expression "*(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34))" * (cast_expression "(code *)(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34))" ( (binary_expression "&_gp + *(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)" (pointer_expression "&_gp" & identifier) + (pointer_expression "*(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)" * (cast_expression "(int *)(puVar1 + (plVar2->header).type * 4 + 0x3e34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + (plVar2->header).type * 4 + 0x3e34)" ( (binary_expression "puVar1 + (plVar2->header).type * 4 + 0x3e34" (binary_expression "puVar1 + (plVar2->header).type * 4" identifier + (binary_expression "(plVar2->header).type * 4" (field_expression "(plVar2->header).type" (parenthesized_expression "(plVar2->header)" ( (field_expression "plVar2->header" identifier -> field_identifier) )) . field_identifier) * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return bVar3;" return identifier ;) })))
(translation_unit "undefined8 FUN_00027330(int *param_1)\n\n{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    \n                    \n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}\n\n" (function_definition "undefined8 FUN_00027330(int *param_1)\n\n{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    \n                    \n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}" type_identifier (function_declarator "FUN_00027330(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    \n                    \n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 in_stack_00000010;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_DAT_001db910;" (assignment_expression "puVar1 = PTR_DAT_001db910" identifier = identifier) ;) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (while_statement "while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }" { (if_statement "if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return in_stack_00000010;\n    }" { (return_statement "return in_stack_00000010;" return identifier ;) })) (if_statement "if ((uint)param_1[1] < 0x10) break;" if (parenthesized_expression "((uint)param_1[1] < 0x10)" ( (binary_expression "(uint)param_1[1] < 0x10" (cast_expression "(uint)param_1[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[1]" identifier [ number_literal ])) < number_literal) )) (break_statement "break;" break ;)) (expression_statement "info_assert(puVar1 + 0x4120,0x15a7);" (call_expression "info_assert(puVar1 + 0x4120,0x15a7)" identifier (argument_list "(puVar1 + 0x4120,0x15a7)" ( (binary_expression "puVar1 + 0x4120" identifier + number_literal) , number_literal ))) ;) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" identifier = (cast_expression "(int *)*param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) })) (expression_statement "uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();" (assignment_expression "uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))()" identifier = (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))" ( (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" * (cast_expression "(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" ( (binary_expression "&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" (pointer_expression "&_gp_1" & identifier) + (pointer_expression "*(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" * (cast_expression "(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + param_1[1] * 4 + 0x3e34)" ( (binary_expression "puVar1 + param_1[1] * 4 + 0x3e34" (binary_expression "puVar1 + param_1[1] * 4" identifier + (binary_expression "param_1[1] * 4" (subscript_expression "param_1[1]" identifier [ number_literal ]) * number_literal)) + number_literal) ))))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) + LIT) ))))) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined8 FUN_00027330(int *param_1)\n\n{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    \n                    \n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}" (type_identifier "undefined8") (function_declarator "FUN_00027330(int *param_1)" (identifier "FUN_00027330") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined8 uVar2;\n  undefined8 in_stack_00000010;\n  \n  puVar1 = PTR_DAT_001db910;\n  param_1 = (int *)*param_1;\n  while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }\n                    \n                    \n  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();\n  return uVar2;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "undefined8 in_stack_00000010;" (type_identifier "undefined8") (identifier "in_stack_00000010") (; ";")) (expression_statement "puVar1 = PTR_DAT_001db910;" (assignment_expression "puVar1 = PTR_DAT_001db910" (identifier "puVar1") (= "=") (identifier "PTR_DAT_001db910")) (; ";")) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" (identifier "param_1") (= "=") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (while_statement "while( true ) {\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }\n    if ((uint)param_1[1] < 0x10) break;\n    info_assert(puVar1 + 0x4120,0x15a7);\n    param_1 = (int *)*param_1;\n  }" ({ "{") (if_statement "if (param_1 == (int *)0x0) {\n      return in_stack_00000010;\n    }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return in_stack_00000010;\n    }" ({ "{") (return_statement "return in_stack_00000010;" (return "return") (identifier "in_stack_00000010") (; ";")) (} "}"))) (if_statement "if ((uint)param_1[1] < 0x10) break;" (if "if") (parenthesized_expression "((uint)param_1[1] < 0x10)" (( "(") (binary_expression "(uint)param_1[1] < 0x10" (cast_expression "(uint)param_1[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (< "<") (number_literal "0x10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "info_assert(puVar1 + 0x4120,0x15a7);" (call_expression "info_assert(puVar1 + 0x4120,0x15a7)" (identifier "info_assert") (argument_list "(puVar1 + 0x4120,0x15a7)" (( "(") (binary_expression "puVar1 + 0x4120" (identifier "puVar1") (+ "+") (number_literal "0x4120")) (, ",") (number_literal "0x15a7") () ")"))) (; ";")) (expression_statement "param_1 = (int *)*param_1;" (assignment_expression "param_1 = (int *)*param_1" (identifier "param_1") (= "=") (cast_expression "(int *)*param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (} "}"))) (expression_statement "uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();" (assignment_expression "uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))()" (identifier "uVar2") (= "=") (call_expression "(*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))()" (parenthesized_expression "(*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))" (( "(") (pointer_expression "*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" (* "*") (cast_expression "(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34))" (( "(") (binary_expression "&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (pointer_expression "*(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" (* "*") (cast_expression "(int *)(puVar1 + param_1[1] * 4 + 0x3e34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + param_1[1] * 4 + 0x3e34)" (( "(") (binary_expression "puVar1 + param_1[1] * 4 + 0x3e34" (binary_expression "puVar1 + param_1[1] * 4" (identifier "puVar1") (+ "+") (binary_expression "param_1[1] * 4" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (* "*") (number_literal "4"))) (+ "+") (number_literal "0x3e34")) () ")"))))) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}")))

type_1 function_1
                  (type_2 **prev,
                  type_3 *output_section_statement,type_4 *fill,
                  type_1 dot,type_5 *relax,type_5 check_regions)

{
  type_6 *var_3;
  type_2 *var_1;
  type_1 bVar3;
  type_5 again;
  
  var_3 = PTR_yy_accept_1428__001db910;
  var_1 = *prev;
  while( true ) {
    if (var_1 == (type_2 *)0x0) {
      return dot;
    }
    if ((var_1->header).type < 0x10) break;
    var_2(var_3 + 0x4120,0x15a7);
    var_1 = (var_1->header).next;
  }
                    /* WARNING: Could not emulate address calculation at 0x000273c8 */
                    /* WARNING: Treating indirect jump as call */
  bVar3 = (*(type_7 *)(&_gp + *(int *)(var_3 + (var_1->header).type * 4 + 0x3e34)))();
  return bVar3;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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: (pointer_expression argument: (identifier))))) (while_statement condition: (parenthesized_expression (true)) body: (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 (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) consequence: (break_statement)) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal)))))))))) arguments: (argument_list)))) (return_statement (identifier)))))

undefined8 MASKED(int *param_1)

{
  undefined *puVar1;
  undefined8 uVar2;
  undefined8 in_stack_00000010;
  
  puVar1 = PTR_DAT_001db910;
  param_1 = (int *)*param_1;
  while( true ) {
    if (param_1 == (int *)0x0) {
      return in_stack_00000010;
    }
    if ((uint)param_1[1] < 0x10) break;
    info_assert(puVar1 + 0x4120,0x15a7);
    param_1 = (int *)*param_1;
  }
                    /* WARNING: Could not emulate address calculation at 0x000273c8 */
                    /* WARNING: Treating indirect jump as call */
  uVar2 = (*(code *)(&_gp_1 + *(int *)(puVar1 + param_1[1] * 4 + 0x3e34)))();
  return uVar2;
}

