// File: Davidc2525[P]Leaf/compiler/registers/x86_32_register_provider.cpp
// Function: X86_32RegisterProvider::X86_32RegisterProvider()
X86_32RegisterProvider::X86_32RegisterProvider()
{
    string *byte = new string("BYTE");   //8
    string *word = new string("WORD");   //16
    string *dword = new string("DWORD"); //32
    //string *qword = new string("QWORD"); //64

    int counter = 0;

    registers_.push_back(new Register(counter++, new string("ah"), 8, byte));
    registers_.push_back(new Register(counter++, new string("al"), 8, byte));
    registers_.push_back(new Register(counter++, new string("bh"), 8, byte));
    registers_.push_back(new Register(counter++, new string("bl"), 8, byte));
    registers_.push_back(new Register(counter++, new string("ch"), 8, byte));
    registers_.push_back(new Register(counter++, new string("cl"), 8, byte));
    registers_.push_back(new Register(counter++, new string("dh"), 8, byte));
    registers_.push_back(new Register(counter++, new string("dl"), 8, byte));

    registers_.push_back(new Register(counter++, new string("ax"), 16, word));
    registers_.push_back(new Register(counter++, new string("bx"), 16, word));
    registers_.push_back(new Register(counter++, new string("cx"), 16, word));
    registers_.push_back(new Register(counter++, new string("dx"), 16, word));
    registers_.push_back(new Register(counter++, new string("si"), 16, word));
    registers_.push_back(new Register(counter++, new string("di"), 16, word));

    registers_.push_back(new Register(counter++, new string("eax"), 32, dword));
    registers_.push_back(new Register(counter++, new string("ebx"), 32, dword));
    registers_.push_back(new Register(counter++, new string("ecx"), 32, dword));
    registers_.push_back(new Register(counter++, new string("edx"), 32, dword));
    registers_.push_back(new Register(counter++, new string("esi"), 32, dword));
    registers_.push_back(new Register(counter++, new string("edi"), 32, dword));

    reservers = new map<int, stack<int> *>;
    for (auto x = registers_.begin(); x != registers_.end(); x++)
    {
        reservers->insert(make_pair((*x)->id, new stack<int>));
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x560, %rsp            # imm = 0x560
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x28f30
movq -0x1d0(%rbp), %rax
leaq 0x1efdb(%rip), %rcx     # 0x49508
movq %rcx, (%rax)
movl $0x20, 0x30(%rax)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x1c8(%rbp)
jmp 0x2a54a
movb $0x1, -0x1e(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
callq 0x6500
movq -0x1c8(%rbp), %rdi
movq -0x1d8(%rbp), %rdx
leaq 0xb54d(%rip), %rsi      # 0x35ac0
callq 0xada0
jmp 0x2a57a
movb $0x0, -0x1e(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x6340
movq -0x1c8(%rbp), %rax
movq %rax, -0x10(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x1e0(%rbp)
jmp 0x2a5a5
movb $0x1, -0x2a(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0x6500
movq -0x1e0(%rbp), %rdi
movq -0x1e8(%rbp), %rdx
leaq 0xb4f8(%rip), %rsi      # 0x35ac6
callq 0xada0
jmp 0x2a5d5
movb $0x0, -0x2a(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x6340
movq -0x1e0(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x1f0(%rbp)
jmp 0x2a600
movb $0x1, -0x3a(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x1f8(%rbp)
callq 0x6500
movq -0x1f0(%rbp), %rdi
movq -0x1f8(%rbp), %rdx
leaq 0xb49c(%rip), %rsi      # 0x35ac5
callq 0xada0
jmp 0x2a630
movb $0x0, -0x3a(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x6340
movq -0x1f0(%rbp), %rcx
movq -0x1d0(%rbp), %rax
movq %rcx, -0x38(%rbp)
movl $0x0, -0x40(%rbp)
addq $0x8, %rax
movq %rax, -0x208(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x200(%rbp)
jmp 0x2a674
movb $0x1, -0x4b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x214(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x210(%rbp)
jmp 0x2a699
movb $0x1, -0x4a(%rbp)
leaq -0x49(%rbp), %rdi
movq %rdi, -0x220(%rbp)
callq 0x6500
movq -0x210(%rbp), %rdi
movq -0x220(%rbp), %rdx
leaq 0xb823(%rip), %rsi      # 0x35ee5
callq 0xada0
jmp 0x2a6c9
movq -0x210(%rbp), %rdx
movl -0x214(%rbp), %esi
movq -0x200(%rbp), %rdi
movb $0x0, -0x4a(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2a6f1
movq -0x208(%rbp), %rdi
movq -0x200(%rbp), %rax
movb $0x0, -0x4b(%rbp)
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %rsi
callq 0x28f60
jmp 0x2a712
leaq -0x49(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x230(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x228(%rbp)
jmp 0x2a740
movb $0x1, -0x5b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x23c(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x238(%rbp)
jmp 0x2a765
movb $0x1, -0x5a(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x248(%rbp)
callq 0x6500
movq -0x238(%rbp), %rdi
movq -0x248(%rbp), %rdx
leaq 0xb3db(%rip), %rsi      # 0x35b69
callq 0xada0
jmp 0x2a795
movq -0x238(%rbp), %rdx
movl -0x23c(%rbp), %esi
movq -0x228(%rbp), %rdi
movb $0x0, -0x5a(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2a7bd
movq -0x230(%rbp), %rdi
movq -0x228(%rbp), %rax
movb $0x0, -0x5b(%rbp)
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %rsi
callq 0x28f60
jmp 0x2a7de
leaq -0x59(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x258(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x250(%rbp)
jmp 0x2a80c
movb $0x1, -0x6b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x264(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x260(%rbp)
jmp 0x2a831
movb $0x1, -0x6a(%rbp)
leaq -0x69(%rbp), %rdi
movq %rdi, -0x270(%rbp)
callq 0x6500
movq -0x260(%rbp), %rdi
movq -0x270(%rbp), %rdx
leaq 0xb68e(%rip), %rsi      # 0x35ee8
callq 0xada0
jmp 0x2a861
movq -0x260(%rbp), %rdx
movl -0x264(%rbp), %esi
movq -0x250(%rbp), %rdi
movb $0x0, -0x6a(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2a889
movq -0x258(%rbp), %rdi
movq -0x250(%rbp), %rax
movb $0x0, -0x6b(%rbp)
movq %rax, -0x68(%rbp)
leaq -0x68(%rbp), %rsi
callq 0x28f60
jmp 0x2a8aa
leaq -0x69(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x280(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x278(%rbp)
jmp 0x2a8d8
movb $0x1, -0x7b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x28c(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x288(%rbp)
jmp 0x2a8fd
movb $0x1, -0x7a(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0x298(%rbp)
callq 0x6500
movq -0x288(%rbp), %rdi
movq -0x298(%rbp), %rdx
leaq 0xb5c5(%rip), %rsi      # 0x35eeb
callq 0xada0
jmp 0x2a92d
movq -0x288(%rbp), %rdx
movl -0x28c(%rbp), %esi
movq -0x278(%rbp), %rdi
movb $0x0, -0x7a(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2a955
movq -0x280(%rbp), %rdi
movq -0x278(%rbp), %rax
movb $0x0, -0x7b(%rbp)
movq %rax, -0x78(%rbp)
leaq -0x78(%rbp), %rsi
callq 0x28f60
jmp 0x2a976
leaq -0x79(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x2a8(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x2a0(%rbp)
jmp 0x2a9a4
movb $0x1, -0x8b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x2b4(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x2b0(%rbp)
jmp 0x2a9cc
movb $0x1, -0x8a(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0x6500
movq -0x2b0(%rbp), %rdi
movq -0x2c0(%rbp), %rdx
leaq 0xb83d(%rip), %rsi      # 0x36238
callq 0xada0
jmp 0x2aa02
movq -0x2b0(%rbp), %rdx
movl -0x2b4(%rbp), %esi
movq -0x2a0(%rbp), %rdi
movb $0x0, -0x8a(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2aa2d
movq -0x2a8(%rbp), %rdi
movq -0x2a0(%rbp), %rax
movb $0x0, -0x8b(%rbp)
movq %rax, -0x88(%rbp)
leaq -0x88(%rbp), %rsi
callq 0x28f60
jmp 0x2aa57
leaq -0x89(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x2d0(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x2c8(%rbp)
jmp 0x2aa88
movb $0x1, -0x9b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x2dc(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x2d8(%rbp)
jmp 0x2aab0
movb $0x1, -0x9a(%rbp)
leaq -0x99(%rbp), %rdi
movq %rdi, -0x2e8(%rbp)
callq 0x6500
movq -0x2d8(%rbp), %rdi
movq -0x2e8(%rbp), %rdx
leaq 0xb40f(%rip), %rsi      # 0x35eee
callq 0xada0
jmp 0x2aae6
movq -0x2d8(%rbp), %rdx
movl -0x2dc(%rbp), %esi
movq -0x2c8(%rbp), %rdi
movb $0x0, -0x9a(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2ab11
movq -0x2d0(%rbp), %rdi
movq -0x2c8(%rbp), %rax
movb $0x0, -0x9b(%rbp)
movq %rax, -0x98(%rbp)
leaq -0x98(%rbp), %rsi
callq 0x28f60
jmp 0x2ab3b
leaq -0x99(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x2f8(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x2f0(%rbp)
jmp 0x2ab6c
movb $0x1, -0xab(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x304(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x300(%rbp)
jmp 0x2ab94
movb $0x1, -0xaa(%rbp)
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0x6500
movq -0x300(%rbp), %rdi
movq -0x310(%rbp), %rdx
leaq 0xb32e(%rip), %rsi      # 0x35ef1
callq 0xada0
jmp 0x2abca
movq -0x300(%rbp), %rdx
movl -0x304(%rbp), %esi
movq -0x2f0(%rbp), %rdi
movb $0x0, -0xaa(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2abf5
movq -0x2f8(%rbp), %rdi
movq -0x2f0(%rbp), %rax
movb $0x0, -0xab(%rbp)
movq %rax, -0xa8(%rbp)
leaq -0xa8(%rbp), %rsi
callq 0x28f60
jmp 0x2ac1f
leaq -0xa9(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x320(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x318(%rbp)
jmp 0x2ac50
movb $0x1, -0xbb(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x32c(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x328(%rbp)
jmp 0x2ac78
movb $0x1, -0xba(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x338(%rbp)
callq 0x6500
movq -0x328(%rbp), %rdi
movq -0x338(%rbp), %rdx
leaq 0xb24d(%rip), %rsi      # 0x35ef4
callq 0xada0
jmp 0x2acae
movq -0x328(%rbp), %rdx
movl -0x32c(%rbp), %esi
movq -0x318(%rbp), %rdi
movb $0x0, -0xba(%rbp)
movq -0x10(%rbp), %r8
movl $0x8, %ecx
callq 0x212a0
jmp 0x2acd9
movq -0x320(%rbp), %rdi
movq -0x318(%rbp), %rax
movb $0x0, -0xbb(%rbp)
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rsi
callq 0x28f60
jmp 0x2ad03
leaq -0xb9(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x348(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x340(%rbp)
jmp 0x2ad34
movb $0x1, -0xcb(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x354(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x350(%rbp)
jmp 0x2ad5c
movb $0x1, -0xca(%rbp)
leaq -0xc9(%rbp), %rdi
movq %rdi, -0x360(%rbp)
callq 0x6500
movq -0x350(%rbp), %rdi
movq -0x360(%rbp), %rdx
leaq 0xb16d(%rip), %rsi      # 0x35ef8
callq 0xada0
jmp 0x2ad92
movq -0x350(%rbp), %rdx
movl -0x354(%rbp), %esi
movq -0x340(%rbp), %rdi
movb $0x0, -0xca(%rbp)
movq -0x28(%rbp), %r8
movl $0x10, %ecx
callq 0x212a0
jmp 0x2adbd
movq -0x348(%rbp), %rdi
movq -0x340(%rbp), %rax
movb $0x0, -0xcb(%rbp)
movq %rax, -0xc8(%rbp)
leaq -0xc8(%rbp), %rsi
callq 0x28f60
jmp 0x2ade7
leaq -0xc9(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x370(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x368(%rbp)
jmp 0x2ae18
movb $0x1, -0xdb(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x37c(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x378(%rbp)
jmp 0x2ae40
movb $0x1, -0xda(%rbp)
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x388(%rbp)
callq 0x6500
movq -0x378(%rbp), %rdi
movq -0x388(%rbp), %rdx
leaq 0xb08d(%rip), %rsi      # 0x35efc
callq 0xada0
jmp 0x2ae76
movq -0x378(%rbp), %rdx
movl -0x37c(%rbp), %esi
movq -0x368(%rbp), %rdi
movb $0x0, -0xda(%rbp)
movq -0x28(%rbp), %r8
movl $0x10, %ecx
callq 0x212a0
jmp 0x2aea1
movq -0x370(%rbp), %rdi
movq -0x368(%rbp), %rax
movb $0x0, -0xdb(%rbp)
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %rsi
callq 0x28f60
jmp 0x2aecb
leaq -0xd9(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x398(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x390(%rbp)
jmp 0x2aefc
movb $0x1, -0xeb(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x3a4(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x3a0(%rbp)
jmp 0x2af24
movb $0x1, -0xea(%rbp)
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x3b0(%rbp)
callq 0x6500
movq -0x3a0(%rbp), %rdi
movq -0x3b0(%rbp), %rdx
leaq 0xafad(%rip), %rsi      # 0x35f00
callq 0xada0
jmp 0x2af5a
movq -0x3a0(%rbp), %rdx
movl -0x3a4(%rbp), %esi
movq -0x390(%rbp), %rdi
movb $0x0, -0xea(%rbp)
movq -0x28(%rbp), %r8
movl $0x10, %ecx
callq 0x212a0
jmp 0x2af85
movq -0x398(%rbp), %rdi
movq -0x390(%rbp), %rax
movb $0x0, -0xeb(%rbp)
movq %rax, -0xe8(%rbp)
leaq -0xe8(%rbp), %rsi
callq 0x28f60
jmp 0x2afaf
leaq -0xe9(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x3c0(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x3b8(%rbp)
jmp 0x2afe0
movb $0x1, -0xfb(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x3cc(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x3c8(%rbp)
jmp 0x2b008
movb $0x1, -0xfa(%rbp)
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x3d8(%rbp)
callq 0x6500
movq -0x3c8(%rbp), %rdi
movq -0x3d8(%rbp), %rdx
leaq 0xaecd(%rip), %rsi      # 0x35f04
callq 0xada0
jmp 0x2b03e
movq -0x3c8(%rbp), %rdx
movl -0x3cc(%rbp), %esi
movq -0x3b8(%rbp), %rdi
movb $0x0, -0xfa(%rbp)
movq -0x28(%rbp), %r8
movl $0x10, %ecx
callq 0x212a0
jmp 0x2b069
movq -0x3c0(%rbp), %rdi
movq -0x3b8(%rbp), %rax
movb $0x0, -0xfb(%rbp)
movq %rax, -0xf8(%rbp)
leaq -0xf8(%rbp), %rsi
callq 0x28f60
jmp 0x2b093
leaq -0xf9(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x3e8(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x3e0(%rbp)
jmp 0x2b0c4
movb $0x1, -0x10b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x3f4(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x3f0(%rbp)
jmp 0x2b0ec
movb $0x1, -0x10a(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x400(%rbp)
callq 0x6500
movq -0x3f0(%rbp), %rdi
movq -0x400(%rbp), %rdx
leaq 0xaded(%rip), %rsi      # 0x35f08
callq 0xada0
jmp 0x2b122
movq -0x3f0(%rbp), %rdx
movl -0x3f4(%rbp), %esi
movq -0x3e0(%rbp), %rdi
movb $0x0, -0x10a(%rbp)
movq -0x28(%rbp), %r8
movl $0x10, %ecx
callq 0x212a0
jmp 0x2b14d
movq -0x3e8(%rbp), %rdi
movq -0x3e0(%rbp), %rax
movb $0x0, -0x10b(%rbp)
movq %rax, -0x108(%rbp)
leaq -0x108(%rbp), %rsi
callq 0x28f60
jmp 0x2b177
leaq -0x109(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x410(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x408(%rbp)
jmp 0x2b1a8
movb $0x1, -0x11b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x41c(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x418(%rbp)
jmp 0x2b1d0
movb $0x1, -0x11a(%rbp)
leaq -0x119(%rbp), %rdi
movq %rdi, -0x428(%rbp)
callq 0x6500
movq -0x418(%rbp), %rdi
movq -0x428(%rbp), %rdx
leaq 0xad0d(%rip), %rsi      # 0x35f0c
callq 0xada0
jmp 0x2b206
movq -0x418(%rbp), %rdx
movl -0x41c(%rbp), %esi
movq -0x408(%rbp), %rdi
movb $0x0, -0x11a(%rbp)
movq -0x28(%rbp), %r8
movl $0x10, %ecx
callq 0x212a0
jmp 0x2b231
movq -0x410(%rbp), %rdi
movq -0x408(%rbp), %rax
movb $0x0, -0x11b(%rbp)
movq %rax, -0x118(%rbp)
leaq -0x118(%rbp), %rsi
callq 0x28f60
jmp 0x2b25b
leaq -0x119(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x438(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x430(%rbp)
jmp 0x2b28c
movb $0x1, -0x12b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x444(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x440(%rbp)
jmp 0x2b2b4
movb $0x1, -0x12a(%rbp)
leaq -0x129(%rbp), %rdi
movq %rdi, -0x450(%rbp)
callq 0x6500
movq -0x440(%rbp), %rdi
movq -0x450(%rbp), %rdx
leaq 0xac14(%rip), %rsi      # 0x35ef7
callq 0xada0
jmp 0x2b2ea
movq -0x440(%rbp), %rdx
movl -0x444(%rbp), %esi
movq -0x430(%rbp), %rdi
movb $0x0, -0x12a(%rbp)
movq -0x38(%rbp), %r8
movl $0x20, %ecx
callq 0x212a0
jmp 0x2b315
movq -0x438(%rbp), %rdi
movq -0x430(%rbp), %rax
movb $0x0, -0x12b(%rbp)
movq %rax, -0x128(%rbp)
leaq -0x128(%rbp), %rsi
callq 0x28f60
jmp 0x2b33f
leaq -0x129(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x460(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x458(%rbp)
jmp 0x2b370
movb $0x1, -0x13b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x46c(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x468(%rbp)
jmp 0x2b398
movb $0x1, -0x13a(%rbp)
leaq -0x139(%rbp), %rdi
movq %rdi, -0x478(%rbp)
callq 0x6500
movq -0x468(%rbp), %rdi
movq -0x478(%rbp), %rdx
leaq 0xab34(%rip), %rsi      # 0x35efb
callq 0xada0
jmp 0x2b3ce
movq -0x468(%rbp), %rdx
movl -0x46c(%rbp), %esi
movq -0x458(%rbp), %rdi
movb $0x0, -0x13a(%rbp)
movq -0x38(%rbp), %r8
movl $0x20, %ecx
callq 0x212a0
jmp 0x2b3f9
movq -0x460(%rbp), %rdi
movq -0x458(%rbp), %rax
movb $0x0, -0x13b(%rbp)
movq %rax, -0x138(%rbp)
leaq -0x138(%rbp), %rsi
callq 0x28f60
jmp 0x2b423
leaq -0x139(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x488(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x480(%rbp)
jmp 0x2b454
movb $0x1, -0x14b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x494(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x490(%rbp)
jmp 0x2b47c
movb $0x1, -0x14a(%rbp)
leaq -0x149(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x6500
movq -0x490(%rbp), %rdi
movq -0x4a0(%rbp), %rdx
leaq 0xaa54(%rip), %rsi      # 0x35eff
callq 0xada0
jmp 0x2b4b2
movq -0x490(%rbp), %rdx
movl -0x494(%rbp), %esi
movq -0x480(%rbp), %rdi
movb $0x0, -0x14a(%rbp)
movq -0x38(%rbp), %r8
movl $0x20, %ecx
callq 0x212a0
jmp 0x2b4dd
movq -0x488(%rbp), %rdi
movq -0x480(%rbp), %rax
movb $0x0, -0x14b(%rbp)
movq %rax, -0x148(%rbp)
leaq -0x148(%rbp), %rsi
callq 0x28f60
jmp 0x2b507
leaq -0x149(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x4b0(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x4a8(%rbp)
jmp 0x2b538
movb $0x1, -0x15b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x4bc(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x4b8(%rbp)
jmp 0x2b560
movb $0x1, -0x15a(%rbp)
leaq -0x159(%rbp), %rdi
movq %rdi, -0x4c8(%rbp)
callq 0x6500
movq -0x4b8(%rbp), %rdi
movq -0x4c8(%rbp), %rdx
leaq 0xa974(%rip), %rsi      # 0x35f03
callq 0xada0
jmp 0x2b596
movq -0x4b8(%rbp), %rdx
movl -0x4bc(%rbp), %esi
movq -0x4a8(%rbp), %rdi
movb $0x0, -0x15a(%rbp)
movq -0x38(%rbp), %r8
movl $0x20, %ecx
callq 0x212a0
jmp 0x2b5c1
movq -0x4b0(%rbp), %rdi
movq -0x4a8(%rbp), %rax
movb $0x0, -0x15b(%rbp)
movq %rax, -0x158(%rbp)
leaq -0x158(%rbp), %rsi
callq 0x28f60
jmp 0x2b5eb
leaq -0x159(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x4d8(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x4d0(%rbp)
jmp 0x2b61c
movb $0x1, -0x16b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x4e4(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x4e0(%rbp)
jmp 0x2b644
movb $0x1, -0x16a(%rbp)
leaq -0x169(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x6500
movq -0x4e0(%rbp), %rdi
movq -0x4f0(%rbp), %rdx
leaq 0xa894(%rip), %rsi      # 0x35f07
callq 0xada0
jmp 0x2b67a
movq -0x4e0(%rbp), %rdx
movl -0x4e4(%rbp), %esi
movq -0x4d0(%rbp), %rdi
movb $0x0, -0x16a(%rbp)
movq -0x38(%rbp), %r8
movl $0x20, %ecx
callq 0x212a0
jmp 0x2b6a5
movq -0x4d8(%rbp), %rdi
movq -0x4d0(%rbp), %rax
movb $0x0, -0x16b(%rbp)
movq %rax, -0x168(%rbp)
leaq -0x168(%rbp), %rsi
callq 0x28f60
jmp 0x2b6cf
leaq -0x169(%rbp), %rdi
callq 0x6340
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x500(%rbp)
movl $0x28, %edi
callq 0x62e0
movq %rax, -0x4f8(%rbp)
jmp 0x2b700
movb $0x1, -0x17b(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x50c(%rbp)
incl %eax
movl %eax, -0x40(%rbp)
movl $0x20, %edi
callq 0x62e0
movq %rax, -0x508(%rbp)
jmp 0x2b728
movb $0x1, -0x17a(%rbp)
leaq -0x179(%rbp), %rdi
movq %rdi, -0x518(%rbp)
callq 0x6500
movq -0x508(%rbp), %rdi
movq -0x518(%rbp), %rdx
leaq 0xa7b4(%rip), %rsi      # 0x35f0b
callq 0xada0
jmp 0x2b75e
movq -0x508(%rbp), %rdx
movl -0x50c(%rbp), %esi
movq -0x4f8(%rbp), %rdi
movb $0x0, -0x17a(%rbp)
movq -0x38(%rbp), %r8
movl $0x20, %ecx
callq 0x212a0
jmp 0x2b789
movq -0x500(%rbp), %rdi
movq -0x4f8(%rbp), %rax
movb $0x0, -0x17b(%rbp)
movq %rax, -0x178(%rbp)
leaq -0x178(%rbp), %rsi
callq 0x28f60
jmp 0x2b7b3
leaq -0x179(%rbp), %rdi
callq 0x6340
movl $0x30, %edi
callq 0x62e0
movq %rax, -0x520(%rbp)
jmp 0x2b7d2
movq -0x520(%rbp), %rdi
callq 0x28f90
movq -0x520(%rbp), %rax
movq -0x1d0(%rbp), %rdi
movq %rax, 0x20(%rdi)
addq $0x8, %rdi
callq 0x22330
movq %rax, -0x188(%rbp)
movq -0x1d0(%rbp), %rdi
addq $0x8, %rdi
callq 0x223a0
movq %rax, -0x190(%rbp)
leaq -0x188(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x22360
testb $0x1, %al
jne 0x2b833
jmp 0x2c1a2
movq -0x1d0(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x538(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x224b0
movq (%rax), %rax
movq %rax, -0x530(%rbp)
movl $0x50, %edi
callq 0x62e0
movq %rax, -0x528(%rbp)
jmp 0x2b86e
movq -0x528(%rbp), %rdi
callq 0x29020
jmp 0x2b87c
movq -0x530(%rbp), %rdi
movq -0x528(%rbp), %rax
movq %rax, -0x1a8(%rbp)
leaq -0x1a8(%rbp), %rsi
callq 0x28ff0
movq %rdx, -0x548(%rbp)
movl %eax, -0x53c(%rbp)
jmp 0x2b8ac
movq -0x538(%rbp), %rdi
movq -0x548(%rbp), %rax
movl -0x53c(%rbp), %ecx
movl %ecx, -0x1a0(%rbp)
movq %rax, -0x198(%rbp)
leaq -0x1a0(%rbp), %rsi
callq 0x28fb0
movb %dl, -0x551(%rbp)
movq %rax, -0x550(%rbp)
jmp 0x2b8e8
movb -0x551(%rbp), %al
movq -0x550(%rbp), %rcx
movq %rcx, -0x1b8(%rbp)
movb %al, -0x1b0(%rbp)
leaq -0x188(%rbp), %rdi
xorl %esi, %esi
callq 0x224f0
movq %rax, -0x1c0(%rbp)
jmp 0x2b800
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x6340
testb $0x1, -0x1e(%rbp)
jne 0x2b94a
jmp 0x2b95b
movq -0x1c8(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x6340
testb $0x1, -0x2a(%rbp)
jne 0x2b97d
jmp 0x2b98e
movq -0x1e0(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x6340
testb $0x1, -0x3a(%rbp)
jne 0x2b9b0
jmp 0x2b9c1
movq -0x1f0(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2ba04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x49(%rbp), %rdi
callq 0x6340
testb $0x1, -0x4a(%rbp)
jne 0x2b9f1
jmp 0x2ba02
movq -0x210(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2ba04
testb $0x1, -0x4b(%rbp)
jne 0x2ba0c
jmp 0x2ba1d
movq -0x200(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2ba60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x59(%rbp), %rdi
callq 0x6340
testb $0x1, -0x5a(%rbp)
jne 0x2ba4d
jmp 0x2ba5e
movq -0x238(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2ba60
testb $0x1, -0x5b(%rbp)
jne 0x2ba68
jmp 0x2ba79
movq -0x228(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2babc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x69(%rbp), %rdi
callq 0x6340
testb $0x1, -0x6a(%rbp)
jne 0x2baa9
jmp 0x2baba
movq -0x260(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2babc
testb $0x1, -0x6b(%rbp)
jne 0x2bac4
jmp 0x2bad5
movq -0x250(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bb18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x79(%rbp), %rdi
callq 0x6340
testb $0x1, -0x7a(%rbp)
jne 0x2bb05
jmp 0x2bb16
movq -0x288(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bb18
testb $0x1, -0x7b(%rbp)
jne 0x2bb20
jmp 0x2bb31
movq -0x278(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bb7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x89(%rbp), %rdi
callq 0x6340
testb $0x1, -0x8a(%rbp)
jne 0x2bb67
jmp 0x2bb78
movq -0x2b0(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bb7a
testb $0x1, -0x8b(%rbp)
jne 0x2bb85
jmp 0x2bb96
movq -0x2a0(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bbdf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x99(%rbp), %rdi
callq 0x6340
testb $0x1, -0x9a(%rbp)
jne 0x2bbcc
jmp 0x2bbdd
movq -0x2d8(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bbdf
testb $0x1, -0x9b(%rbp)
jne 0x2bbea
jmp 0x2bbfb
movq -0x2c8(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bc44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xa9(%rbp), %rdi
callq 0x6340
testb $0x1, -0xaa(%rbp)
jne 0x2bc31
jmp 0x2bc42
movq -0x300(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bc44
testb $0x1, -0xab(%rbp)
jne 0x2bc4f
jmp 0x2bc60
movq -0x2f0(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bca9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xb9(%rbp), %rdi
callq 0x6340
testb $0x1, -0xba(%rbp)
jne 0x2bc96
jmp 0x2bca7
movq -0x328(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bca9
testb $0x1, -0xbb(%rbp)
jne 0x2bcb4
jmp 0x2bcc5
movq -0x318(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bd0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xc9(%rbp), %rdi
callq 0x6340
testb $0x1, -0xca(%rbp)
jne 0x2bcfb
jmp 0x2bd0c
movq -0x350(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bd0e
testb $0x1, -0xcb(%rbp)
jne 0x2bd19
jmp 0x2bd2a
movq -0x340(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bd73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xd9(%rbp), %rdi
callq 0x6340
testb $0x1, -0xda(%rbp)
jne 0x2bd60
jmp 0x2bd71
movq -0x378(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bd73
testb $0x1, -0xdb(%rbp)
jne 0x2bd7e
jmp 0x2bd8f
movq -0x368(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bdd8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xe9(%rbp), %rdi
callq 0x6340
testb $0x1, -0xea(%rbp)
jne 0x2bdc5
jmp 0x2bdd6
movq -0x3a0(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bdd8
testb $0x1, -0xeb(%rbp)
jne 0x2bde3
jmp 0x2bdf4
movq -0x390(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2be3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xf9(%rbp), %rdi
callq 0x6340
testb $0x1, -0xfa(%rbp)
jne 0x2be2a
jmp 0x2be3b
movq -0x3c8(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2be3d
testb $0x1, -0xfb(%rbp)
jne 0x2be48
jmp 0x2be59
movq -0x3b8(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bea2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x109(%rbp), %rdi
callq 0x6340
testb $0x1, -0x10a(%rbp)
jne 0x2be8f
jmp 0x2bea0
movq -0x3f0(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bea2
testb $0x1, -0x10b(%rbp)
jne 0x2bead
jmp 0x2bebe
movq -0x3e0(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bf07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x119(%rbp), %rdi
callq 0x6340
testb $0x1, -0x11a(%rbp)
jne 0x2bef4
jmp 0x2bf05
movq -0x418(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bf07
testb $0x1, -0x11b(%rbp)
jne 0x2bf12
jmp 0x2bf23
movq -0x408(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bf6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x129(%rbp), %rdi
callq 0x6340
testb $0x1, -0x12a(%rbp)
jne 0x2bf59
jmp 0x2bf6a
movq -0x440(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bf6c
testb $0x1, -0x12b(%rbp)
jne 0x2bf77
jmp 0x2bf88
movq -0x430(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2bfd1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x139(%rbp), %rdi
callq 0x6340
testb $0x1, -0x13a(%rbp)
jne 0x2bfbe
jmp 0x2bfcf
movq -0x468(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2bfd1
testb $0x1, -0x13b(%rbp)
jne 0x2bfdc
jmp 0x2bfed
movq -0x458(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2c036
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x149(%rbp), %rdi
callq 0x6340
testb $0x1, -0x14a(%rbp)
jne 0x2c023
jmp 0x2c034
movq -0x490(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2c036
testb $0x1, -0x14b(%rbp)
jne 0x2c041
jmp 0x2c052
movq -0x480(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2c09b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x159(%rbp), %rdi
callq 0x6340
testb $0x1, -0x15a(%rbp)
jne 0x2c088
jmp 0x2c099
movq -0x4b8(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2c09b
testb $0x1, -0x15b(%rbp)
jne 0x2c0a6
jmp 0x2c0b7
movq -0x4a8(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2c100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x169(%rbp), %rdi
callq 0x6340
testb $0x1, -0x16a(%rbp)
jne 0x2c0ed
jmp 0x2c0fe
movq -0x4e0(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2c100
testb $0x1, -0x16b(%rbp)
jne 0x2c10b
jmp 0x2c11c
movq -0x4d0(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x2c165
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x179(%rbp), %rdi
callq 0x6340
testb $0x1, -0x17a(%rbp)
jne 0x2c152
jmp 0x2c163
movq -0x508(%rbp), %rdi
movl $0x20, %esi
callq 0x62f0
jmp 0x2c165
testb $0x1, -0x17b(%rbp)
jne 0x2c170
jmp 0x2c181
movq -0x4f8(%rbp), %rdi
movl $0x28, %esi
callq 0x62f0
jmp 0x2c1ab
movq -0x528(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
movl $0x50, %esi
callq 0x62f0
jmp 0x2c1ab
addq $0x560, %rsp            # imm = 0x560
popq %rbp
retq
movq -0x1d0(%rbp), %rdi
callq 0x29050
movq -0x18(%rbp), %rdi
callq 0x64f0