// File: /workspace/github_c_makefile_star2_O3/takoeight0821[P]hoc_nyan/src/ir.c
// Function: show_ir
char* show_ir(IR* ir) {
  switch (ir->op) {
  case IIMM:
    return format("%s = %d", show_ireg(ir->r0), ir->imm_int);
  case ILABEL:
    return format("%s = %s", show_ireg(ir->r0), ir->label);
  case IADD:
    return format("%s = %s + %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case ISUB:
    return format("%s = %s - %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IMUL:
    return format("%s = %s * %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IDIV:
    return format("%s = %s / %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IMOD:
    return format("%s = %s %% %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case ILT:
    return format("%s = %s < %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case ILE:
    return format("%s = %s <= %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IGT:
    return format("%s = %s > %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IGE:
    return format("%s = %s >= %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IEQ:
    return format("%s = %s == %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case INE:
    return format("%s = %s != %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IAND:
    return format("%s = %s & %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IOR:
    return format("%s = %s | %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case IXOR:
    return format("%s = %s ^ %s", show_ireg(ir->r0), show_ireg(ir->r1), show_ireg(ir->r2));
  case INOT:
    return format("%s = not %s", show_ireg(ir->r0), show_ireg(ir->r1));
  case IADDRESS: 
    return format("%s = address %d", show_ireg(ir->r0), ir->imm_int);
  case IALLOC:
    return format("alloc %d", ir->imm_int);
  case ILOAD:
    return format("%s = load %s", show_ireg(ir->r0), show_ireg(ir->r1));
  case ISTOREARG:
    return format("storearg %s <- %d(%zu)", show_ireg(ir->r1), ir->imm_int, ir->size);
  case ISTORE:
    return format("store %s <- %s", show_ireg(ir->r1), show_ireg(ir->r2));
  case IMOV:
    return format("mov %s <- %s", show_ireg(ir->r0), show_ireg(ir->r1));
  case ICALL:
    return format("%s = call %s %s", show_ireg(ir->r0), ir->func_name, show_args(ir->args));
  case IBR:
    return format("br %s %s %s", show_ireg(ir->r1), ir->then, ir->els);
  case IJMP:
    return format("jmp %s", ir->jump_to);
  case IRET:
    if (ir->r1) {
      return format("ret %s", show_ireg(ir->r1));
    } else {
      return format("ret");
    }
  }
  error("unreachable\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl (%rdi), %eax
cmpq $0x1a, %rax
ja 0x9778
movq %rdi, %rbx
leaq 0x6283(%rip), %rcx      # 0xef74
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x62ca(%rip), %rdi      # 0xefe0
xorl %eax, %eax
callq 0xd86a
movl 0x4(%rbx), %edx
leaq 0x62cc(%rip), %rdi      # 0xeff3
jmp 0x9253
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x6298(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x6343(%rip), %rdi      # 0xf0be
jmp 0x962b
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x6244(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x62b3(%rip), %rdi      # 0xf0a4
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x61ce(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x6214(%rip), %rdi      # 0xf07b
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x6158(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x6140(%rip), %rdi      # 0xf01d
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x60e2(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x6136(%rip), %rdi      # 0xf089
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x606c(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x6097(%rip), %rdi      # 0xf060
jmp 0x956d
movq 0x30(%rbx), %rsi
leaq 0x56af(%rip), %rdi      # 0xe688
jmp 0x9747
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5fe6(%rip), %rdi      # 0xefe0
xorl %eax, %eax
callq 0xd86a
movq 0x38(%rbx), %rdx
movq 0x40(%rbx), %rcx
leaq 0x6123(%rip), %rdi      # 0xf133
movq %rax, %rsi
jmp 0x9576
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5fac(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5f7a(%rip), %rdi      # 0xf003
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5f36(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5fb2(%rip), %rdi      # 0xf0b1
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5ec0(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5e9b(%rip), %rdi      # 0xf010
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5e4a(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5e5a(%rip), %rdi      # 0xf045
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5dd4(%rip), %rdi      # 0xefe0
xorl %eax, %eax
callq 0xd86a
movq 0x28(%rbx), %rdx
leaq 0x5ddd(%rip), %rdi      # 0xeffb
movq %rax, %rsi
jmp 0x9631
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5d9e(%rip), %rdi      # 0xefe0
xorl %eax, %eax
callq 0xd86a
movl 0x4(%rbx), %edx
leaq 0x5e77(%rip), %rdi      # 0xf0ca
movq %rax, %rsi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd86a
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5d59(%rip), %rdi      # 0xefe0
xorl %eax, %eax
callq 0xd86a
movl 0x4(%rbx), %edx
movq 0x8(%rbx), %rcx
leaq 0x5e54(%rip), %rdi      # 0xf0f0
movq %rax, %rsi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd86a
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5d10(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5d05(%rip), %rdi      # 0xf02a
jmp 0x956d
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5c9a(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5d8e(%rip), %rdi      # 0xf107
jmp 0x962b
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5c46(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5ca8(%rip), %rdi      # 0xf097
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5bd0(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5bd2(%rip), %rdi      # 0xf037
jmp 0x956d
movl 0x4(%rbx), %esi
leaq 0x5c66(%rip), %rdi      # 0xf0da
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd86a
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5b3b(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5b73(%rip), %rdi      # 0xf06d
jmp 0x956d
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5ac8(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r12
movq 0x20(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5ae5(%rip), %rdi      # 0xf052
movq %r15, %rsi
movq %r12, %rdx
movq %rax, %rcx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd86a
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x5a39(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5b3c(%rip), %rdi      # 0xf116
jmp 0x962b
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x59e8(%rip), %r14      # 0xefe0
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rax, %r15
movq 0x18(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r14, %rdi
xorl %eax, %eax
callq 0xd86a
leaq 0x5ab8(%rip), %rdi      # 0xf0e3
movq %r15, %rsi
movq %rax, %rdx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd86a
movq 0x10(%rbx), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x597e(%rip), %rdi      # 0xefe0
xorl %eax, %eax
callq 0xd86a
movq %rax, (%rsp)
movq 0x48(%rbx), %r15
movq 0x50(%rbx), %rbp
callq 0xd9db
movq %rax, %rbx
leaq 0x61aa(%rip), %rsi      # 0xf82e
movq %rax, %rdi
callq 0xda51
cmpq $0x0, 0x10(%rbp)
je 0x96eb
leaq 0x5946(%rip), %r12      # 0xefe0
leaq 0x4bac(%rip), %r13      # 0xe24d
xorl %r14d, %r14d
testq %r14, %r14
je 0x96b4
movq %rbx, %rdi
movq %r13, %rsi
callq 0xda51
movq (%rbp), %rax
movq (%rax,%r14,8), %rax
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
movq %r12, %rdi
xorl %eax, %eax
callq 0xd86a
movq %rbx, %rdi
movq %rax, %rsi
callq 0xda51
incq %r14
cmpq %r14, 0x10(%rbp)
ja 0x96a4
leaq 0x5bda(%rip), %rsi      # 0xf2cc
movq %rbx, %rdi
callq 0xda51
movq %rbx, %rdi
callq 0xda87
leaq 0x5a1a(%rip), %rdi      # 0xf123
movq (%rsp), %rsi
movq %r15, %rdx
jmp 0x9573
movq 0x18(%rbx), %rax
testq %rax, %rax
je 0x975c
movl (%rax), %ecx
movl 0x4(%rax), %esi
movq 0x8(%rax), %rdx
movl 0x10(%rax), %r8d
movl 0x14(%rax), %r9d
leaq 0x58aa(%rip), %rdi      # 0xefe0
xorl %eax, %eax
callq 0xd86a
leaq 0x59fb(%rip), %rdi      # 0xf13f
movq %rax, %rsi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd86a
leaq 0x4ae5(%rip), %rdi      # 0xe248
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd86a
leaq 0x59c7(%rip), %rdi      # 0xf146
xorl %eax, %eax
callq 0xd930