// File: /workspace/github_c_makefile_star2_O3/plvhx[P]dummy-vm/src/ast.c
// Function: vm_ast_traverse
void vm_ast_traverse(vm_ast_t *ast, FILE *file,
                     void (*visitor)(FILE *file, int opcode)) {
  if (ast == NULL) {
    return;
  }

  if (ast->kind_type == VM_AST_INSTRUCTION_LINE) {
    vm_ast_process_instruction_line(ast, file, visitor);
  }

  for (int i = 0; i < ast->num_childs; i++) {
    vm_ast_traverse(ast->childs[i], file, visitor);
  }
}

// Assembly:
testq %rdi, %rdi
je 0x25c9
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
cmpw $0x4, (%rdi)
jne 0x2598
movq 0x30(%r15), %rax
movq 0x10(%rax), %r12
leaq 0x3b40(%rip), %rsi      # 0x5082
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x15eb
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x15eb
movq 0x40(%r15), %r13
cmpw $0x3, (%r13)
jne 0x15eb
movq 0x48(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x15eb
cmpq $0x4, 0x20(%r15)
jne 0x18cd
movq 0x8(%rax), %r12
leaq 0x3b0f(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x17f0
leaq 0x3afb(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x180c
leaq 0x3ae7(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x1828
leaq 0x3ad3(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x184b
movl $0x43, %esi
jmp 0x1842
leaq 0x3a95(%rip), %rsi      # 0x5087
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x169b
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x169b
movq 0x40(%r15), %r13
cmpw $0x3, (%r13)
jne 0x169b
movq 0x48(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x169b
cmpq $0x4, 0x20(%r15)
jne 0x18cd
movq 0x8(%rax), %r12
leaq 0x3a5f(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x17f7
leaq 0x3a4b(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x1813
leaq 0x3a37(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x182f
leaq 0x3a23(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x184b
movl $0x47, %esi
jmp 0x1842
leaq 0x39ea(%rip), %rsi      # 0x508c
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x174b
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x174b
movq 0x40(%r15), %r13
cmpw $0x3, (%r13)
jne 0x174b
movq 0x48(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x174b
cmpq $0x4, 0x20(%r15)
jne 0x18cd
movq 0x8(%rax), %r12
leaq 0x39af(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x17fe
leaq 0x399b(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x181a
leaq 0x3987(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x1836
leaq 0x3973(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x184b
movl $0x4b, %esi
jmp 0x1842
leaq 0x393f(%rip), %rsi      # 0x5091
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x18cd
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x18cd
movq 0x40(%r15), %r13
cmpw $0x3, (%r13)
jne 0x18cd
movq 0x48(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x18cd
cmpq $0x4, 0x20(%r15)
jne 0x18cd
movq 0x8(%rax), %r12
leaq 0x38f7(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x1805
leaq 0x38e7(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x1821
leaq 0x38d7(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x183d
leaq 0x38c7(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x184b
movl $0x4f, %esi
jmp 0x1842
movl $0x40, %esi
jmp 0x1842
movl $0x44, %esi
jmp 0x1842
movl $0x48, %esi
jmp 0x1842
movl $0x4c, %esi
jmp 0x1842
movl $0x41, %esi
jmp 0x1842
movl $0x45, %esi
jmp 0x1842
movl $0x49, %esi
jmp 0x1842
movl $0x4d, %esi
jmp 0x1842
movl $0x42, %esi
jmp 0x1842
movl $0x46, %esi
jmp 0x1842
movl $0x4a, %esi
jmp 0x1842
movl $0x4e, %esi
movq %r14, %rdi
callq *%rbx
movq 0x40(%r15), %r13
movq 0x18(%r13), %rax
movb (%rax), %r12b
xorl %eax, %eax
cmpb $0x2d, %r12b
sete %al
leal (%rax,%rax,4), %esi
addl $0xfa, %esi
movq %r14, %rdi
callq *%rbx
movq 0x40(%r15), %rax
movq 0x18(%rax), %rdi
cmpb $0x2d, %r12b
jne 0x187a
incq %rdi
callq 0x1160
movq %r14, %rdi
movl %eax, %esi
callq *%rbx
movq 0x48(%r15), %rax
movq 0x18(%rax), %rax
movb (%rax), %r12b
xorl %eax, %eax
cmpb $0x2d, %r12b
sete %al
leal (%rax,%rax,4), %esi
addl $0xfa, %esi
movq %r14, %rdi
callq *%rbx
movq 0x48(%r15), %rax
movq 0x18(%rax), %rdi
cmpb $0x2d, %r12b
jne 0x18b9
incq %rdi
callq 0x1160
movq %r14, %rdi
movl %eax, %esi
callq *%rbx
movq 0x30(%r15), %rax
movq 0x10(%rax), %r12
leaq 0x37ae(%rip), %rsi      # 0x5082
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x19d9
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x19d9
movq 0x40(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x19d9
movq 0x48(%r15), %r13
cmpw $0x2, (%r13)
jne 0x19d9
cmpq $0x4, 0x20(%r15)
jne 0x256e
movq 0x8(%rax), %r12
leaq 0x3775(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x194a
movq 0x8(%r13), %rdi
leaq 0x375e(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1cfd
leaq 0x374d(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1975
movq 0x8(%r13), %rdi
leaq 0x3733(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d22
leaq 0x3725(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x19a0
movq 0x8(%r13), %rdi
leaq 0x3708(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d47
leaq 0x36fd(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1d59
movq 0x8(%r13), %rdi
leaq 0x36d9(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
jne 0x1d59
movl $0x53, %esi
jmp 0x1d4c
leaq 0x36a7(%rip), %rsi      # 0x5087
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1ae5
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x1ae5
movq 0x40(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x1ae5
movq 0x48(%r15), %r13
cmpw $0x2, (%r13)
jne 0x1ae5
cmpq $0x4, 0x20(%r15)
jne 0x256e
movq 0x8(%rax), %r12
leaq 0x3669(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1a56
movq 0x8(%r13), %rdi
leaq 0x3652(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d04
leaq 0x3641(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1a81
movq 0x8(%r13), %rdi
leaq 0x3627(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d29
leaq 0x3619(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1aac
movq 0x8(%r13), %rdi
leaq 0x35fc(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1fdd
leaq 0x35f1(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1fef
movq 0x8(%r13), %rdi
leaq 0x35cd(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
jne 0x1fef
movl $0x57, %esi
jmp 0x1fe2
leaq 0x35a0(%rip), %rsi      # 0x508c
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1bf1
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x1bf1
movq 0x40(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x1bf1
movq 0x48(%r15), %r13
cmpw $0x2, (%r13)
jne 0x1bf1
cmpq $0x4, 0x20(%r15)
jne 0x256e
movq 0x8(%rax), %r12
leaq 0x355d(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1b62
movq 0x8(%r13), %rdi
leaq 0x3546(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d0e
leaq 0x3535(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1b8d
movq 0x8(%r13), %rdi
leaq 0x351b(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d33
leaq 0x350d(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1bb8
movq 0x8(%r13), %rdi
leaq 0x34f0(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x21a6
leaq 0x34e5(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x21b8
movq 0x8(%r13), %rdi
leaq 0x34c1(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
jne 0x21b8
movl $0x5b, %esi
jmp 0x21ab
leaq 0x3499(%rip), %rsi      # 0x5091
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x256e
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x256e
movq 0x40(%r15), %rcx
cmpw $0x3, (%rcx)
jne 0x256e
movq 0x48(%r15), %r13
cmpw $0x2, (%r13)
jne 0x256e
cmpq $0x4, 0x20(%r15)
jne 0x256e
movq 0x8(%rax), %r12
leaq 0x3451(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1c6e
movq 0x8(%r13), %rdi
leaq 0x343a(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d18
leaq 0x3429(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1c99
movq 0x8(%r13), %rdi
leaq 0x340f(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x1d3d
leaq 0x3401(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1cc4
movq 0x8(%r13), %rdi
leaq 0x33e4(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
je 0x236f
leaq 0x33d9(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2381
movq 0x8(%r13), %rdi
leaq 0x33b5(%rip), %rsi      # 0x509b
callq 0x1040
testl %eax, %eax
jne 0x2381
movl $0x5f, %esi
jmp 0x2374
movl $0x50, %esi
jmp 0x1d4c
movl $0x54, %esi
jmp 0x1fe2
movl $0x58, %esi
jmp 0x21ab
movl $0x5c, %esi
jmp 0x2374
movl $0x51, %esi
jmp 0x1d4c
movl $0x55, %esi
jmp 0x1fe2
movl $0x59, %esi
jmp 0x21ab
movl $0x5d, %esi
jmp 0x2374
movl $0x52, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x333b(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1d88
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x3323(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x1e10
leaq 0x330f(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1db3
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x32f4(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x1e17
leaq 0x32e7(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1dde
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x32c9(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x1e1e
leaq 0x32bf(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1e30
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x329e(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
jne 0x1e30
movl $0x63, %esi
jmp 0x1e23
movl $0x60, %esi
jmp 0x1e23
movl $0x61, %esi
jmp 0x1e23
movl $0x62, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x3264(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1e5f
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x324f(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x1ee7
leaq 0x3238(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1e8a
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x3220(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x1eee
leaq 0x3210(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1eb5
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x31f5(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x1ef5
leaq 0x31e8(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1f07
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x31ca(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
jne 0x1f07
movl $0x73, %esi
jmp 0x1efa
movl $0x70, %esi
jmp 0x1efa
movl $0x71, %esi
jmp 0x1efa
movl $0x72, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x318d(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1f36
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x317b(%rip), %rsi      # 0x50a4
callq 0x1040
testl %eax, %eax
je 0x1fd3
leaq 0x3161(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1f61
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x314c(%rip), %rsi      # 0x50a4
callq 0x1040
testl %eax, %eax
je 0x1fc9
leaq 0x3139(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x1f8c
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x3121(%rip), %rsi      # 0x50a4
callq 0x1040
testl %eax, %eax
je 0x1fc9
leaq 0x3111(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2527
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x30f2(%rip), %rsi      # 0x50a4
callq 0x1040
testl %eax, %eax
jne 0x2527
movl $0x83, %esi
jmp 0x2522
movl $0x81, %esi
jmp 0x2522
movl $0x80, %esi
jmp 0x2522
movl $0x56, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x30a5(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x201e
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x308d(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x20a6
leaq 0x3079(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2049
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x305e(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x20ad
leaq 0x3051(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2074
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x3033(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x20b4
leaq 0x3029(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x20c6
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x3008(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
jne 0x20c6
movl $0x67, %esi
jmp 0x20b9
movl $0x64, %esi
jmp 0x20b9
movl $0x65, %esi
jmp 0x20b9
movl $0x66, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x2fce(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x20f5
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2fb9(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x2188
leaq 0x2fa2(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2120
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2f8a(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x2192
leaq 0x2f7a(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x214b
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2f5f(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x219c
leaq 0x2f52(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2527
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2f30(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
jne 0x2527
movl $0x77, %esi
jmp 0x2522
movl $0x74, %esi
jmp 0x2522
movl $0x75, %esi
jmp 0x2522
movl $0x76, %esi
jmp 0x2522
movl $0x5a, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x2edc(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x21e7
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2ec4(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x226f
leaq 0x2eb0(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2212
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2e95(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x2276
leaq 0x2e88(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x223d
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2e6a(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x227d
leaq 0x2e60(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x228f
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2e3f(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
jne 0x228f
movl $0x6b, %esi
jmp 0x2282
movl $0x68, %esi
jmp 0x2282
movl $0x69, %esi
jmp 0x2282
movl $0x6a, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x2e05(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x22be
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2df0(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x2351
leaq 0x2dd9(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x22e9
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2dc1(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x235b
leaq 0x2db1(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2314
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2d96(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x2365
leaq 0x2d89(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2527
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2d67(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
jne 0x2527
movl $0x7b, %esi
jmp 0x2522
movl $0x78, %esi
jmp 0x2522
movl $0x79, %esi
jmp 0x2522
movl $0x7a, %esi
jmp 0x2522
movl $0x5e, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x2d13(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x23b0
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2cfb(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x2438
leaq 0x2ce7(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x23db
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2ccc(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x243f
leaq 0x2cbf(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2406
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2ca1(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
je 0x2446
leaq 0x2c97(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2458
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2c76(%rip), %rsi      # 0x509e
callq 0x1040
testl %eax, %eax
jne 0x2458
movl $0x6f, %esi
jmp 0x244b
movl $0x6c, %esi
jmp 0x244b
movl $0x6d, %esi
jmp 0x244b
movl $0x6e, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x8(%rax), %r12
leaq 0x2c3c(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2487
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2c27(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x250f
leaq 0x2c10(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x24b2
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2bf8(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x2516
leaq 0x2be8(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x24dd
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2bcd(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
je 0x251d
leaq 0x2bc0(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2527
movq 0x48(%r15), %rax
movq 0x8(%rax), %rdi
leaq 0x2ba2(%rip), %rsi      # 0x50a1
callq 0x1040
testl %eax, %eax
jne 0x2527
movl $0x7f, %esi
jmp 0x2522
movl $0x7c, %esi
jmp 0x2522
movl $0x7d, %esi
jmp 0x2522
movl $0x7e, %esi
movq %r14, %rdi
callq *%rbx
movq 0x40(%r15), %rax
movq 0x18(%rax), %rax
movb (%rax), %r12b
xorl %eax, %eax
cmpb $0x2d, %r12b
sete %al
leal (%rax,%rax,4), %esi
addl $0xfa, %esi
movq %r14, %rdi
callq *%rbx
movq 0x40(%r15), %rax
movq 0x18(%rax), %rdi
cmpb $0x2d, %r12b
jne 0x255a
incq %rdi
callq 0x1160
movq %r14, %rdi
movl %eax, %esi
callq *%rbx
movq 0x30(%r15), %rax
movq 0x10(%rax), %r12
leaq 0x2b21(%rip), %rsi      # 0x5096
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x25ca
leaq 0x2b1f(%rip), %rsi      # 0x50a7
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x2659
cmpq $0x0, 0x20(%r15)
je 0x25bb
xorl %r12d, %r12d
movq 0x30(%r15,%r12,8), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1509
incq %r12
cmpq %r12, 0x20(%r15)
ja 0x25a2
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x38(%r15), %rax
cmpw $0x2, (%rax)
jne 0x26c6
movq 0x40(%r15), %r13
cmpw $0x3, (%r13)
jne 0x26c6
cmpq $0x3, 0x20(%r15)
jne 0x2581
movq 0x8(%rax), %r12
leaq 0x2aa1(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x2987
leaq 0x2a8d(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x2995
leaq 0x2a79(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x29b9
leaq 0x2a65(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x29c7
movl $0x93, %esi
jmp 0x29be
movq 0x38(%r15), %rax
movzwl (%rax), %ecx
cmpl $0x2, %ecx
je 0x291a
cmpl $0x3, %ecx
jne 0x2598
cmpq $0x2, 0x20(%r15)
jne 0x2598
movq %r14, %rdi
movl $0x20, %esi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x18(%rax), %rax
movb (%rax), %r12b
xorl %eax, %eax
cmpb $0x2d, %r12b
sete %al
leal (%rax,%rax,4), %esi
addl $0xfa, %esi
movq %r14, %rdi
callq *%rbx
movq 0x38(%r15), %rax
movq 0x18(%rax), %rdi
cmpb $0x2d, %r12b
jne 0x26ba
incq %rdi
callq 0x1160
movl %eax, %esi
jmp 0x29a8
movq 0x8(%rax), %r13
leaq 0x29ca(%rip), %rsi      # 0x509b
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x275c
movq 0x40(%r15), %rax
cmpw $0x2, (%rax)
jne 0x275c
cmpq $0x3, 0x20(%r15)
jne 0x2581
movq 0x8(%rax), %r13
leaq 0x299e(%rip), %rsi      # 0x509b
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x299c
leaq 0x298a(%rip), %rsi      # 0x509e
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a16
leaq 0x2976(%rip), %rsi      # 0x50a1
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a32
leaq 0x2962(%rip), %rsi      # 0x50a4
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2581
movl $0xa3, %esi
jmp 0x29fd
leaq 0x293b(%rip), %rsi      # 0x509e
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x27ee
movq 0x40(%r15), %rax
cmpw $0x2, (%rax)
jne 0x27ee
cmpq $0x3, 0x20(%r15)
jne 0x2581
movq 0x8(%rax), %r13
leaq 0x290c(%rip), %rsi      # 0x509b
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x29b2
leaq 0x28f8(%rip), %rsi      # 0x509e
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a24
leaq 0x28e4(%rip), %rsi      # 0x50a1
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a40
leaq 0x28d0(%rip), %rsi      # 0x50a4
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2581
movl $0xb3, %esi
jmp 0x29fd
leaq 0x28ac(%rip), %rsi      # 0x50a1
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2880
movq 0x40(%r15), %rax
cmpw $0x2, (%rax)
jne 0x2880
cmpq $0x3, 0x20(%r15)
jne 0x2581
movq 0x8(%rax), %r13
leaq 0x287a(%rip), %rsi      # 0x509b
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a0f
leaq 0x2866(%rip), %rsi      # 0x509e
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a2b
leaq 0x2852(%rip), %rsi      # 0x50a1
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a47
leaq 0x283e(%rip), %rsi      # 0x50a4
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2581
movl $0xc3, %esi
jmp 0x29fd
leaq 0x281d(%rip), %rsi      # 0x50a4
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2581
movq 0x40(%r15), %rax
cmpw $0x2, (%rax)
jne 0x2581
cmpq $0x3, 0x20(%r15)
jne 0x2581
movq 0x8(%rax), %r13
leaq 0x27e0(%rip), %rsi      # 0x509b
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a1d
leaq 0x27cc(%rip), %rsi      # 0x509e
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a39
leaq 0x27b8(%rip), %rsi      # 0x50a1
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
je 0x2a4e
leaq 0x27a4(%rip), %rsi      # 0x50a4
movq %r13, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2581
movl $0xd3, %esi
jmp 0x29fd
cmpq $0x2, 0x20(%r15)
jne 0x2598
movq 0x8(%rax), %r12
leaq 0x276b(%rip), %rsi      # 0x509b
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x2980
leaq 0x275b(%rip), %rsi      # 0x509e
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x298e
leaq 0x274b(%rip), %rsi      # 0x50a1
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
je 0x29a3
leaq 0x273b(%rip), %rsi      # 0x50a4
movq %r12, %rdi
callq 0x1040
testl %eax, %eax
jne 0x2598
movl $0x24, %esi
jmp 0x29a8
movl $0x21, %esi
jmp 0x29a8
movl $0x90, %esi
jmp 0x29be
movl $0x22, %esi
jmp 0x29a8
movl $0x91, %esi
jmp 0x29be
movl $0xa0, %esi
jmp 0x29fd
movl $0x23, %esi
movq %r14, %rdi
callq *%rbx
jmp 0x2598
movl $0xb0, %esi
jmp 0x29fd
movl $0x92, %esi
movq %r14, %rdi
callq *%rbx
movq 0x40(%r15), %r13
movq 0x18(%r13), %rax
movb (%rax), %r12b
xorl %eax, %eax
cmpb $0x2d, %r12b
sete %al
leal (%rax,%rax,4), %esi
addl $0xfa, %esi
movq %r14, %rdi
callq *%rbx
movq 0x40(%r15), %rax
movq 0x18(%rax), %rdi
cmpb $0x2d, %r12b
jne 0x29f6
incq %rdi
callq 0x1160
movl %eax, %esi
movq %r14, %rdi
callq *%rbx
movq 0x30(%r15), %rax
movq 0x10(%rax), %r12
jmp 0x2581
movl $0xc0, %esi
jmp 0x29fd
movl $0xa1, %esi
jmp 0x29fd
movl $0xd0, %esi
jmp 0x29fd
movl $0xb1, %esi
jmp 0x29fd
movl $0xc1, %esi
jmp 0x29fd
movl $0xa2, %esi
jmp 0x29fd
movl $0xd1, %esi
jmp 0x29fd
movl $0xb2, %esi
jmp 0x29fd
movl $0xc2, %esi
jmp 0x29fd
movl $0xd2, %esi
jmp 0x29fd