// File: /workspace/github_cpp_makefile_star2_O1/malcolmyeh[P]CC3K/orc.cc
// Function: Orc::dealDamage[abi:cxx11](Character*)
std::string Orc::dealDamage(Character *opponent)
{
    double amount;
    double lifesteal;
    std::string combatMsg;
    std::string defender = opponent->getRace();
    int attack = this->Atk;
    int defense = opponent->getDef();

    amount = ceil((100.0 / (100.0 + defense)) * attack);

    int chance = rand() % 8;
    if (chance == 0)
    {
        //BESERK
        amount *= 1.5;
        lifesteal = amount * 0.25;
        this->heal((int)lifesteal);
        opponent->takeDamage((int)amount);
        combatMsg = "BESERK! You deal " + std::to_string((int)amount) + " damage to " + defender + " (HP: " + std::to_string(opponent->getHP()) + "). You lifesteal for " + std::to_string((int)lifesteal) + " HP (HP: " + std::to_string(this->HP) + "). ";

    }
    else if (chance == 1 || chance == 2)
    {
        //lifesteal
        lifesteal = amount * 0.25;
        this->heal((int)lifesteal);
        opponent->takeDamage((int)amount);
        combatMsg = "You deal " + std::to_string((int)amount) + " damage to " + defender + " (HP: " + std::to_string(opponent->getHP()) + "). You lifesteal for " + std::to_string((int)lifesteal) + " HP (HP: " + std::to_string(this->HP) + "). ";
    }
    else if (chance == 3 || chance == 4)
    {
        //critical hit
        amount *= 1.5;
        opponent->takeDamage((int)amount);
        combatMsg = "You deal " + std::to_string((int)amount) + " damage to " + defender + " (HP: " + std::to_string(opponent->getHP()) + "). ";
    }
    else
    {
        opponent->takeDamage((int)amount);
        combatMsg = "You deal " + std::to_string((int)amount) + " damage to " + defender + " (HP: " + std::to_string(opponent->getHP()) + "). ";
    }

    if (opponent->getHP() == 0)
    {
        combatMsg += defender + " has been slain. You have earned " + std::to_string(opponent->getGold()) + " gold. ";
        this->updateGold(opponent->getGold());
    }
    return combatMsg;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdx, %r15
movq %rsi, %r14
leaq 0x10(%rdi), %rax
movq %rax, -0x228(%rbp)
movq %rax, (%rdi)
movq $0x0, 0x8(%rdi)
movq %rdi, -0x110(%rbp)
movb $0x0, 0x10(%rdi)
movq (%rdx), %rax
leaq -0x220(%rbp), %rdi
movq %rdx, %rsi
callq *0x28(%rax)
movl 0x8(%r14), %ebx
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
cvtsi2sd %eax, %xmm0
movsd 0x113e2(%rip), %xmm1    # 0x1d918
addsd %xmm1, %xmm0
divsd %xmm0, %xmm1
xorps %xmm0, %xmm0
cvtsi2sd %ebx, %xmm0
mulsd %xmm1, %xmm0
callq 0x4040
movsd %xmm0, -0x198(%rbp)
callq 0x4060
leal 0x7(%rax), %ecx
testl %eax, %eax
cmovnsl %eax, %ecx
andl $-0x8, %ecx
subl %ecx, %eax
movq %r14, -0x200(%rbp)
je 0xc61d
movsd -0x198(%rbp), %xmm1
cmpl $0x2, %eax
ja 0xc6cc
movsd 0x1143a(%rip), %xmm0    # 0x1d9c8
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %r12d
movq %r14, %rdi
movl %r12d, %esi
callq 0xb610
cvttsd2si -0x198(%rbp), %r13d
movq (%r15), %rax
movq %r15, %rdi
movl %r13d, %esi
callq *0x48(%rax)
movl %r13d, %r14d
negl %r14d
cmovsl %r13d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xce82
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xce7b
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xce80
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xce82
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xc5dd
addl $-0x3, %ebx
jmp 0xce82
movsd -0x198(%rbp), %xmm1
mulsd 0x11393(%rip), %xmm1    # 0x1d9c0
movsd 0x11393(%rip), %xmm0    # 0x1d9c8
movsd %xmm1, -0x198(%rbp)
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %r12d
movq %r14, %rdi
movl %r12d, %esi
callq 0xb610
cvttsd2si -0x198(%rbp), %r13d
movq (%r15), %rax
movq %r15, %rdi
movl %r13d, %esi
callq *0x48(%rax)
movl %r13d, %r14d
negl %r14d
cmovsl %r13d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xc7d1
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xc7ca
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xc7cf
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xc7d1
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xc68c
addl $-0x3, %ebx
jmp 0xc7d1
addl $-0x3, %eax
cmpl $0x1, %eax
ja 0xc753
mulsd 0x112e4(%rip), %xmm1    # 0x1d9c0
cvttsd2si %xmm1, %r12d
movq (%r15), %rax
movq %r15, %rdi
movl %r12d, %esi
callq *0x48(%rax)
movl %r12d, %r14d
negl %r14d
cmovsl %r12d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xd749
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xd73a
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xd747
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xd749
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xc713
addl $-0x3, %ebx
jmp 0xd749
cvttsd2si %xmm1, %r12d
movq (%r15), %rax
movq %r15, %rdi
movl %r12d, %esi
callq *0x48(%rax)
movl %r12d, %r14d
negl %r14d
cmovsl %r12d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xd97d
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xd73f
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xd97b
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xd97d
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xc78a
addl $-0x3, %ebx
jmp 0xd97d
addl $-0x2, %ebx
jmp 0xc7d1
decl %ebx
shrl $0x1f, %r13d
leal (%rbx,%r13), %esi
leaq -0x1e8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x1f8(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r13d, %edi
leaq -0x1f8(%rbp), %r13
addq (%r13), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
leaq 0x111c0(%rip), %rcx     # 0x1d9d4
movl $0x11, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x1a8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xc853
movq %rdx, -0x1b8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1a8(%rbp)
jmp 0xc85b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x1b8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x110a0(%rip), %rsi     # 0x1d920
callq 0x4280
leaq -0x1c8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xc8b2
movq %rdx, -0x1d8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1c8(%rbp)
jmp 0xc8ba
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x1d8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
callq 0x4080
leaq -0x98(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xc918
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0xc920
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xa8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1134d(%rip), %rsi     # 0x1dc92
callq 0x4280
leaq -0xd8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xc977
movq %rdx, -0xe8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xd8(%rbp)
jmp 0xc97f
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xe0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15), %rax
movq %r15, %rdi
callq *0x18(%rax)
movl %eax, %r13d
movl %eax, %r14d
negl %r14d
cmovsl %eax, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xc9ff
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xc9f8
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xc9fd
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xc9ff
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xc9c7
addl $-0x3, %ebx
jmp 0xc9ff
addl $-0x2, %ebx
jmp 0xc9ff
decl %ebx
shrl $0x1f, %r13d
leal (%rbx,%r13), %esi
leaq -0x160(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x170(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r13d, %edi
addq -0x170(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
movq -0xe8(%rbp), %rcx
movq -0xe0(%rbp), %r8
movq -0x168(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq -0xd8(%rbp), %rdi
cmpq %rdi, %rcx
je 0xca68
movq -0xd8(%rbp), %rsi
cmpq %rsi, %rax
movq -0x200(%rbp), %r13
jbe 0xca95
movl $0xf, %esi
leaq -0x160(%rbp), %rdi
cmpq %rdi, -0x170(%rbp)
je 0xca90
movq -0x160(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xcaaa
movq -0x170(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x4080
jmp 0xcaba
leaq -0x170(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0xf8(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xcae4
movq %rsi, -0x108(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf8(%rbp)
jmp 0xcaec
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x100(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x10ed4(%rip), %rsi     # 0x1d9e6
leaq -0x108(%rbp), %rdi
callq 0x4280
leaq -0xb8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xcb4b
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xcb53
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl %r12d, %r14d
negl %r14d
cmovsl %r12d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xcbc7
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xcbc0
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xcbc5
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xcbc7
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xcb8f
addl $-0x3, %ebx
jmp 0xcbc7
addl $-0x2, %ebx
jmp 0xcbc7
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq -0x140(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x150(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r12d, %edi
addq -0x150(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
movq -0xc8(%rbp), %rcx
movq -0xc0(%rbp), %r8
movq -0x148(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq -0xb8(%rbp), %rdi
cmpq %rdi, %rcx
je 0xcc30
movq -0xb8(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xcc56
movl $0xf, %esi
leaq -0x140(%rbp), %rdi
cmpq %rdi, -0x150(%rbp)
je 0xcc51
movq -0x140(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xcc6b
movq -0x150(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x4080
jmp 0xcc7b
leaq -0x150(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x78(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xcc9f
movq %rsi, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0xcca7
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x1093a(%rip), %rsi     # 0x1d604
leaq -0x88(%rbp), %rdi
callq 0x4280
movq %r13, %rdi
leaq -0x58(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xcd00
movq %rsi, %r13
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0xcd0b
movupd (%rcx), %xmm0
movq %rsi, %r13
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x10(%rdi), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %ebx
cmpl $0xa, %r12d
jb 0xcd80
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0xcd79
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xcd7e
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xcd80
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xcd48
addl $-0x3, %ebx
jmp 0xcd80
addl $-0x2, %ebx
jmp 0xcd80
decl %ebx
shrl $0x1f, %r14d
leal (%rbx,%r14), %esi
leaq -0x120(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x130(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
addq -0x130(%rbp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0xa510
movq -0x68(%rbp), %rcx
movq -0x60(%rbp), %r8
movq -0x128(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r13, %rcx
je 0xcdd9
movq -0x58(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xcdff
movl $0xf, %esi
leaq -0x120(%rbp), %rdi
cmpq %rdi, -0x130(%rbp)
je 0xcdfa
movq -0x120(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xce11
movq -0x130(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x4080
jmp 0xce21
leaq -0x130(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x38(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xce42
movq %rsi, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xce4a
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x10d88(%rip), %rsi     # 0x1dbf5
leaq -0x48(%rbp), %rdi
callq 0x4280
jmp 0xd527
addl $-0x2, %ebx
jmp 0xce82
decl %ebx
shrl $0x1f, %r13d
leal (%rbx,%r13), %esi
leaq -0x1e8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x1f8(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r13d, %edi
leaq -0x1f8(%rbp), %r13
addq (%r13), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
leaq 0x10b17(%rip), %rcx     # 0x1d9dc
movl $0x9, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x1a8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xcf04
movq %rdx, -0x1b8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1a8(%rbp)
jmp 0xcf0c
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x1b8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x109ef(%rip), %rsi     # 0x1d920
callq 0x4280
leaq -0x1c8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xcf63
movq %rdx, -0x1d8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1c8(%rbp)
jmp 0xcf6b
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x1d8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
callq 0x4080
leaq -0x98(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xcfc9
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0xcfd1
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xa8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x10c9c(%rip), %rsi     # 0x1dc92
callq 0x4280
leaq -0xd8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd028
movq %rdx, -0xe8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xd8(%rbp)
jmp 0xd030
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xe0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15), %rax
movq %r15, %rdi
callq *0x18(%rax)
movl %eax, %r13d
movl %eax, %r14d
negl %r14d
cmovsl %eax, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xd0b0
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xd0a9
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xd0ae
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xd0b0
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xd078
addl $-0x3, %ebx
jmp 0xd0b0
addl $-0x2, %ebx
jmp 0xd0b0
decl %ebx
shrl $0x1f, %r13d
leal (%rbx,%r13), %esi
leaq -0x160(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x170(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r13d, %edi
addq -0x170(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
movq -0xe8(%rbp), %rcx
movq -0xe0(%rbp), %r8
movq -0x168(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq -0xd8(%rbp), %rdi
cmpq %rdi, %rcx
je 0xd119
movq -0xd8(%rbp), %rsi
cmpq %rsi, %rax
movq -0x200(%rbp), %r13
jbe 0xd146
movl $0xf, %esi
leaq -0x160(%rbp), %rdi
cmpq %rdi, -0x170(%rbp)
je 0xd141
movq -0x160(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xd15b
movq -0x170(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x4080
jmp 0xd16b
leaq -0x170(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0xf8(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xd195
movq %rsi, -0x108(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf8(%rbp)
jmp 0xd19d
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x100(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x10823(%rip), %rsi     # 0x1d9e6
leaq -0x108(%rbp), %rdi
callq 0x4280
leaq -0xb8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd1fc
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xd204
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl %r12d, %r14d
negl %r14d
cmovsl %r12d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xd278
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xd271
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xd276
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xd278
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xd240
addl $-0x3, %ebx
jmp 0xd278
addl $-0x2, %ebx
jmp 0xd278
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq -0x140(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x150(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r12d, %edi
addq -0x150(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
movq -0xc8(%rbp), %rcx
movq -0xc0(%rbp), %r8
movq -0x148(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq -0xb8(%rbp), %rdi
cmpq %rdi, %rcx
je 0xd2e1
movq -0xb8(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xd307
movl $0xf, %esi
leaq -0x140(%rbp), %rdi
cmpq %rdi, -0x150(%rbp)
je 0xd302
movq -0x140(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xd31c
movq -0x150(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x4080
jmp 0xd32c
leaq -0x150(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x78(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xd350
movq %rsi, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0xd358
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x10289(%rip), %rsi     # 0x1d604
leaq -0x88(%rbp), %rdi
callq 0x4280
movq %r13, %rdi
leaq -0x58(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd3b1
movq %rsi, %r13
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0xd3bc
movupd (%rcx), %xmm0
movq %rsi, %r13
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl 0x10(%rdi), %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %ebx
cmpl $0xa, %r12d
jb 0xd431
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0xd42a
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xd42f
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xd431
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xd3f9
addl $-0x3, %ebx
jmp 0xd431
addl $-0x2, %ebx
jmp 0xd431
decl %ebx
shrl $0x1f, %r14d
leal (%rbx,%r14), %esi
leaq -0x120(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x130(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
addq -0x130(%rbp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0xa510
movq -0x68(%rbp), %rcx
movq -0x60(%rbp), %r8
movq -0x128(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r13, %rcx
je 0xd48a
movq -0x58(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xd4b0
movl $0xf, %esi
leaq -0x120(%rbp), %rdi
cmpq %rdi, -0x130(%rbp)
je 0xd4ab
movq -0x120(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xd4c2
movq -0x130(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x4080
jmp 0xd4d2
leaq -0x130(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x38(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xd4f3
movq %rsi, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xd4fb
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x106d7(%rip), %rsi     # 0x1dbf5
leaq -0x48(%rbp), %rdi
callq 0x4280
leaq -0x180(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd554
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0xd55d
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x190(%rbp), %rbx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x110(%rbp), %rdi
movq %rbx, %rsi
callq 0x41c0
movq (%rbx), %rdi
cmpq %r14, %rdi
je 0xd5a1
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x4170
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
leaq -0x1a8(%rbp), %rbx
je 0xd5c1
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0xd5e3
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0xd5f8
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x4170
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd611
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0xd633
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xd655
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x4170
leaq -0xf8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd674
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0xd696
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0xd6b8
movq -0xd8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0xd6da
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0xd6fc
movq -0x1c8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x1b8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xd717
movq -0x1a8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0xdef0
movq -0x1e8(%rbp), %rsi
jmp 0xdee8
addl $-0x2, %ebx
jmp 0xd749
addl $-0x2, %ebx
jmp 0xd97d
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq -0xd8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0xe8(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r12d, %edi
leaq -0xe8(%rbp), %r12
addq (%r12), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
leaq 0x10250(%rip), %rcx     # 0x1d9dc
movl $0x9, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0xf8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd7cb
movq %rdx, -0x108(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf8(%rbp)
jmp 0xd7d3
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x108(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x10128(%rip), %rsi     # 0x1d920
callq 0x4280
leaq -0xb8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd82a
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xd832
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xc8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
callq 0x4080
leaq -0x78(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd88a
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0xd892
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x88(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x103db(%rip), %rsi     # 0x1dc92
callq 0x4280
leaq -0x58(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd8e3
movq %rsi, %r13
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0xd8ee
movupd (%rcx), %xmm0
movq %rsi, %r13
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15), %rax
movq %r15, %rdi
callq *0x18(%rax)
movl %eax, %r12d
movl %eax, %r14d
negl %r14d
cmovsl %eax, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xdbb1
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xd973
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xdbaf
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xdbb1
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xd937
addl $-0x3, %ebx
jmp 0xdbb1
addl $-0x2, %ebx
jmp 0xdbb1
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq -0xd8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0xe8(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r12d, %edi
leaq -0xe8(%rbp), %r12
addq (%r12), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
leaq 0x1001c(%rip), %rcx     # 0x1d9dc
movl $0x9, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0xf8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xd9ff
movq %rdx, -0x108(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf8(%rbp)
jmp 0xda07
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x108(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xfef4(%rip), %rsi      # 0x1d920
callq 0x4280
leaq -0xb8(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xda5e
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0xda66
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xc8(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
callq 0x4080
leaq -0x78(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xdabe
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0xdac6
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x88(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x101a7(%rip), %rsi     # 0x1dc92
callq 0x4280
leaq -0x58(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xdb17
movq %rsi, %r13
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0xdb22
movupd (%rcx), %xmm0
movq %rsi, %r13
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15), %rax
movq %r15, %rdi
callq *0x18(%rax)
movl %eax, %r12d
movl %eax, %r14d
negl %r14d
cmovsl %eax, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xdcae
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xdba7
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xdcac
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xdcae
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xdb6b
addl $-0x3, %ebx
jmp 0xdcae
addl $-0x2, %ebx
jmp 0xdcae
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq -0x98(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0xa8(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r12d, %edi
addq -0xa8(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
movq -0x68(%rbp), %rcx
movq -0x60(%rbp), %r8
movq -0xa0(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r13, %rcx
je 0xdc0a
movq -0x58(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xdc30
movl $0xf, %esi
leaq -0x98(%rbp), %rdi
cmpq %rdi, -0xa8(%rbp)
je 0xdc2b
movq -0x98(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xdc42
movq -0xa8(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x4080
jmp 0xdc52
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x38(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xdc73
movq %rsi, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xdc7b
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xff57(%rip), %rsi      # 0x1dbf5
leaq -0x48(%rbp), %rdi
callq 0x4280
jmp 0xdda4
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq -0x98(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0xa8(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r12d, %edi
addq -0xa8(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
movq -0x68(%rbp), %rcx
movq -0x60(%rbp), %r8
movq -0xa0(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r13, %rcx
je 0xdd07
movq -0x58(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xdd2d
movl $0xf, %esi
leaq -0x98(%rbp), %rdi
cmpq %rdi, -0xa8(%rbp)
je 0xdd28
movq -0x98(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xdd3f
movq -0xa8(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x4080
jmp 0xdd4f
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x38(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xdd70
movq %rsi, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xdd78
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xfe5a(%rip), %rsi      # 0x1dbf5
leaq -0x48(%rbp), %rdi
callq 0x4280
leaq -0x180(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xddd1
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0xddda
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x190(%rbp), %rbx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x110(%rbp), %rdi
movq %rbx, %rsi
callq 0x41c0
movq (%rbx), %rdi
cmpq %r14, %rdi
je 0xde1e
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x4170
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xde37
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0xde59
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
leaq -0xd8(%rbp), %rbx
je 0xde75
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0xde91
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xdeb3
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0xded5
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xe8(%rbp), %rdi
cmpq %rbx, %rdi
je 0xdef0
movq -0xd8(%rbp), %rsi
incq %rsi
callq 0x4170
movq (%r15), %rax
movq %r15, %rdi
callq *0x18(%rax)
testl %eax, %eax
jne 0xe164
leaq -0x58(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x220(%rbp), %rsi
movq -0x218(%rbp), %rdx
addq %rsi, %rdx
leaq -0x68(%rbp), %rdi
callq 0xa582
leaq 0xfa02(%rip), %rsi      # 0x1d92c
leaq -0x68(%rbp), %rdi
callq 0x4280
movq (%r15), %rax
movq %r15, %rdi
callq *0x20(%rax)
movl %eax, %r12d
movl %eax, %r14d
negl %r14d
cmovsl %eax, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0xdf99
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0xdf92
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0xdf97
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0xdf99
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0xdf61
addl $-0x3, %ebx
jmp 0xdf99
addl $-0x2, %ebx
jmp 0xdf99
decl %ebx
shrl $0x1f, %r12d
leal (%rbx,%r12), %esi
leaq -0x78(%rbp), %r13
movq %r13, -0x10(%r13)
leaq -0x88(%rbp), %rdi
movl $0x2d, %edx
callq 0x41b0
movl %r12d, %edi
addq -0x88(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0xa510
movq -0x68(%rbp), %rcx
movq -0x60(%rbp), %r8
movq -0x80(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
leaq -0x58(%rbp), %r14
cmpq %r14, %rcx
je 0xdff0
movq -0x58(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xe00c
movl $0xf, %esi
cmpq %r13, -0x88(%rbp)
je 0xe007
movq -0x78(%rbp), %rsi
cmpq %rsi, %rax
jbe 0xe01e
movq -0x88(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x4080
jmp 0xe02e
leaq -0x88(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4190
leaq -0x38(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xe04f
movq %rsi, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xe057
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xf2e8(%rip), %rsi      # 0x1d362
leaq -0x48(%rbp), %rdi
callq 0x4280
leaq -0x180(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe0b0
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0xe0b8
movupd (%rcx), %xmm0
movupd %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
movq -0x110(%rbp), %rdi
callq 0x4080
movq -0x190(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe107
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x4170
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe120
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x88(%rbp), %rdi
cmpq %r13, %rdi
je 0xe138
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x68(%rbp), %rdi
cmpq %r14, %rdi
je 0xe14d
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x4170
movq (%r15), %rax
movq %r15, %rdi
callq *0x20(%rax)
movq -0x200(%rbp), %rdi
movq (%rdi), %rcx
movl %eax, %esi
callq *(%rcx)
leaq -0x210(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe183
movq -0x210(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x110(%rbp), %rax
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xe19e
movq %rax, %r14
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe1c1
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe1c1
jmp 0xe1be
movq %rax, %r14
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0xe23e
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe23e
jmp 0xe1e7
movq %rax, %r14
jmp 0xe253
jmp 0xe1ee
movq %rax, %r14
jmp 0xe26f
jmp 0xe1f5
movq %rax, %r14
jmp 0xe291
jmp 0xe1ff
movq %rax, %r14
jmp 0xe2b3
jmp 0xe565
jmp 0xe565
jmp 0xe356
jmp 0xe379
jmp 0xe3a0
jmp 0xe3ba
jmp 0xe3d8
jmp 0xe3ff
jmp 0xe426
jmp 0xe44a
jmp 0xe23b
movq %rax, %r14
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0xe253
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0xe26f
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xe291
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x108(%rbp), %rdi
leaq -0xf8(%rbp), %rax
cmpq %rax, %rdi
je 0xe2b3
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0xe568
movq -0xd8(%rbp), %rsi
jmp 0xe554
jmp 0xe471
jmp 0xe476
jmp 0xe47b
jmp 0xe483
jmp 0xe565
movq %rax, %r14
movq -0x190(%rbp), %rdi
cmpq %rbx, %rdi
je 0xe312
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe312
movq %rax, %r14
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe330
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe330
movq %rax, %r14
movq -0x88(%rbp), %rdi
cmpq %r13, %rdi
je 0xe495
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe495
jmp 0xe492
movq %rax, %r14
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe37c
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe37c
jmp 0xe565
movq %rax, %r14
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0xe3a3
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe3a3
movq %rax, %r14
movq -0x68(%rbp), %rdi
cmpq %r13, %rdi
je 0xe3bd
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe3bd
movq %rax, %r14
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe3db
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe3db
movq %rax, %r14
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0xe402
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe402
movq %rax, %r14
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0xe429
movq -0xb8(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe429
movq %rax, %r14
leaq -0xf8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe44d
movq -0xf8(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe44d
movq %rax, %r14
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0xe4b2
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe4b2
movq %rax, %r14
jmp 0xe4d4
movq %rax, %r14
jmp 0xe4f6
movq %rax, %r14
jmp 0xe518
movq %rax, %r14
jmp 0xe53a
jmp 0xe565
jmp 0xe4af
movq %rax, %r14
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0xe568
movq -0x58(%rbp), %rsi
jmp 0xe554
movq %rax, %r14
movq -0xe8(%rbp), %rdi
leaq -0xd8(%rbp), %rax
cmpq %rax, %rdi
je 0xe4d4
movq -0xd8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0xe4f6
movq -0x98(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0xe518
movq -0x1c8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0xe53a
movq -0x1a8(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0xe568
movq -0x1e8(%rbp), %rsi
incq %rsi
callq 0x4170
jmp 0xe568
jmp 0xe565
movq %rax, %r14
jmp 0xe587
movq %rax, %r14
leaq -0x210(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe587
movq -0x210(%rbp), %rsi
incq %rsi
callq 0x4170
movq -0x110(%rbp), %rax
movq (%rax), %rdi
cmpq -0x228(%rbp), %rdi
je 0xe5ac
movq -0x228(%rbp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x4170
movq %r14, %rdi
callq 0x4250