// File: /workspace/github_cpp_makefile_star2_O2/ATOMIC-LICHESS[P]ATOMKRAFT/evaluate.cpp
// Function: trace_evaluate[abi:cxx11](Position const&)
std::string trace_evaluate(const Position& pos) {

    Value margin;
    std::string totals;

    TraceStream.str("");
    TraceStream << std::showpoint << std::showpos << std::fixed << std::setprecision(2);
    memset(TracedScores, 0, 2 * 16 * sizeof(Score));

    NEW bool expl_threat;
    do_evaluate<false, true>(pos, margin, &expl_threat);

    totals = TraceStream.str();
    TraceStream.str("");

    TraceStream << std::setw(21) << "Eval term " << "|    White    |    Black    |     Total     \n"
                <<             "                     |   MG    EG  |   MG    EG  |   MG     EG   \n"
                <<             "---------------------+-------------+-------------+---------------\n";

    trace_row("Material, PST, Tempo", PST);
    trace_row("Material imbalance", IMBALANCE);
    trace_row("Pawns", PAWN);
    trace_row("Knights", KNIGHT);
    trace_row("Bishops", BISHOP);
    trace_row("Rooks", ROOK);
    trace_row("Queens", QUEEN);
    trace_row("Mobility", MOBILITY);
    trace_row("King safety", KING);
    trace_row("Threats", THREAT);
    trace_row("Passed pawns", PASSED);
    trace_row("Unstoppable pawns", UNSTOPPABLE);
    trace_row("Space", SPACE);

    TraceStream <<             "---------------------+-------------+-------------+---------------\n";
    trace_row("Total", TOTAL);
    TraceStream << totals;

    return TraceStream.str();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rsi, %r12
movq %rdi, 0x108(%rsp)
leaq 0x1f8(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x171f7(%rip), %rsi     # 0x26234
leaq 0x118(%rsp), %rdi
leaq 0x6c(%rsp), %rdx
callq 0x9c42
leaq 0x39c752(%rip), %rdi    # 0x3ab7a8
leaq 0x118(%rsp), %rsi
callq 0x55f0
leaq 0x118(%rsp), %rdi
callq 0x5858
leaq 0x39c719(%rip), %rsi    # 0x3ab790
movq 0x39c722(%rip), %rax    # 0x3ab7a0
movq -0x18(%rax), %rcx
orl $0x400, 0x28(%rcx,%rsi) # imm = 0x400
movq -0x18(%rax), %rcx
orl $0x800, 0x28(%rcx,%rsi) # imm = 0x800
movq -0x18(%rax), %rcx
movl $0xfffffefb, %edx       # imm = 0xFFFFFEFB
andl 0x28(%rcx,%rsi), %edx
orl $0x4, %edx
movl %edx, 0x28(%rcx,%rsi)
movq -0x18(%rax), %rax
movq $0x2, 0x18(%rax,%rsi)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x39c8ed(%rip)   # 0x3ab9b0
movapd %xmm0, 0x39c8d5(%rip)   # 0x3ab9a0
movapd %xmm0, 0x39c8bd(%rip)   # 0x3ab990
movapd %xmm0, 0x39c8a5(%rip)   # 0x3ab980
movapd %xmm0, 0x39c88d(%rip)   # 0x3ab970
movapd %xmm0, 0x39c875(%rip)   # 0x3ab960
movapd %xmm0, 0x39c85d(%rip)   # 0x3ab950
movapd %xmm0, 0x39c845(%rip)   # 0x3ab940
movq 0x1938(%r12), %rax
movl 0x24(%rax), %r13d
movslq 0x192c(%r12), %rax
imulq $0x560, %rax, %rax      # imm = 0x560
leaq 0x3aa973(%rip), %r14    # 0x3b9a90
leaq (%r14,%rax), %rdi
addq $0x40, %rdi
movq %r12, %rsi
callq 0x1276e
movq %rax, %rcx
movq %rax, 0x118(%rsp)
movl 0x158(%r12), %ebx
movl 0x178(%r12), %eax
addl 0x154(%r12), %ebx
addl 0x15c(%r12), %ebx
addl 0x160(%r12), %ebx
addl 0x164(%r12), %ebx
addl 0x174(%r12), %eax
addl 0x17c(%r12), %eax
addl 0x180(%r12), %eax
addl 0x184(%r12), %eax
movl %ebx, 0xfc(%rsp)
movl %eax, 0xf8(%rsp)
subl %eax, %ebx
imull 0x262a1(%rip), %ebx     # 0x35440
movswl 0x8(%rcx), %r15d
pushq $0x4
popq %rsi
movl %ebx, %eax
cltd
idivl %esi
movl %eax, %ebp
movq 0x10(%rcx), %rdi
testq %rdi, %rdi
je 0xf1cb
movq (%rdi), %rax
movq %r12, %rsi
callq *0x18(%rax)
cmpl $0x7532, %eax           # imm = 0x7532
jne 0x10cca
movslq 0x192c(%r12), %rax
imulq $0x560, %rax, %rax      # imm = 0x560
leaq (%r14,%rax), %rdi
addq $0x58, %rdi
movq %r12, %rsi
callq 0x167dc
imull $0x10001, %r15d, %ecx   # imm = 0x10001
shll $0x10, %ebp
addl %ebx, %r13d
addl %ecx, %r13d
addl %ebp, %r13d
leaq 0x118(%rsp), %rbx
movq %rax, 0x8(%rbx)
addl 0x30(%rax), %r13d
movl %r13d, 0xf4(%rsp)
movl %r13d, 0x6c(%rsp)
movq %r12, %rdi
movq %rbx, %rsi
callq 0x111b1
movq %r12, %rdi
movq %rbx, %rsi
callq 0x112b2
movq 0x140(%r12), %rax
movq %rax, 0x20(%rsp)
notq %rax
movq %rax, 0x38(%rsp)
movq %r12, 0x60(%rsp)
leaq 0x210(%r12), %r15
andq $0x0, 0x20(%rbx)
movl 0xa0(%rbx), %eax
movl %eax, 0x30(%rsp)
movl 0xa8(%rbx), %eax
movl %eax, 0x10(%rsp)
movl 0xb0(%rbx), %eax
movl %eax, 0x14(%rsp)
movq 0x90(%rbx), %rax
movq %rax, 0x40(%rsp)
movq 0x58(%rbx), %rax
movq %rax, 0x58(%rsp)
movq 0x80(%rbx), %rax
movq %rax, 0x70(%rsp)
xorl %r12d, %r12d
xorl %ebp, %ebp
xorl %r13d, %r13d
movslq (%r15), %r14
cmpq $0x40, %r14
je 0xf356
leaq 0x10249e(%rip), %rax    # 0x111750
movq 0x400(%rax,%r14,8), %rbx
orq %rbx, %r12
movq %r12, 0x138(%rsp)
testq %rbx, 0x40(%rsp)
je 0xf30f
movl 0x30(%rsp), %eax
incl %eax
movl %eax, 0x30(%rsp)
movl %eax, 0x1b8(%rsp)
movl 0x10(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x10(%rsp)
movl %eax, 0x1c0(%rsp)
movq %rbx, %rdi
andq 0x70(%rsp), %rdi
je 0xf30f
callq 0x122c5
movl 0x14(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0x14(%rsp)
movl %ecx, 0x1c8(%rsp)
andq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x122c5
cltq
leaq 0x39c07b(%rip), %rcx    # 0x3ab3a0
movl 0x100(%rcx,%rax,4), %eax
xorl %ecx, %ecx
movq 0x58(%rsp), %rdx
leaq 0x101e66(%rip), %rsi    # 0x1111a0
testq %rdx, (%rsi,%r14,8)
je 0xf346
movl 0x39c422(%rip), %ecx    # 0x3ab768
addq $0x4, %r15
leal (%rbp,%rax,2), %ebp
subl %ecx, %r13d
jmp 0xf29e
movq %r12, 0x100(%rsp)
movl %r13d, 0xf0(%rsp)
movl %r13d, 0x39c5db(%rip)   # 0x3ab948
andq $0x0, 0x140(%rsp)
movq 0x60(%rsp), %r14
leaq 0x250(%r14), %r13
movq $0x0, 0xe0(%rsp)
pushq $0x2
popq %rbx
movl $0x0, 0x2c(%rsp)
movslq (%r13), %r12
cmpq $0x40, %r12
je 0xf4ee
movq 0x140(%r14), %rsi
andq 0x128(%r14), %rsi
notq %rsi
andq 0x100(%r14), %rsi
movl %r12d, %edi
callq 0x8208
movq %rax, %r15
movq 0xe0(%rsp), %rcx
orq %rax, %rcx
movq %rcx, 0xe0(%rsp)
movq %rcx, 0x140(%rsp)
testq %rax, 0x40(%rsp)
je 0xf42f
movl 0x30(%rsp), %eax
incl %eax
movl %eax, 0x30(%rsp)
movl %eax, 0x1b8(%rsp)
movl 0x10(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x10(%rsp)
movl %eax, 0x1c0(%rsp)
movq %r15, %rdi
andq 0x70(%rsp), %rdi
je 0xf42f
callq 0x122c5
movl 0x14(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0x14(%rsp)
movl %ecx, 0x1c8(%rsp)
andq 0x38(%rsp), %r15
movq %r15, %rdi
callq 0x122c5
cltq
leaq 0x39bf5b(%rip), %rcx    # 0x3ab3a0
movl 0x180(%rcx,%rax,4), %eax
xorl %ecx, %ecx
movq 0x58(%rsp), %rdx
leaq 0x101d46(%rip), %rsi    # 0x1111a0
testq %rdx, (%rsi,%r12,8)
je 0xf466
movl 0x39c306(%rip), %ecx    # 0x3ab76c
addq $0x4, %r13
leal (%rbp,%rax,2), %ebp
subl %ecx, 0x2c(%rsp)
cmpb $0x1, 0x1924(%r14)
jne 0xf399
cmpl $0x7, %r12d
je 0xf48f
testl %r12d, %r12d
jne 0xf399
xorl %eax, %eax
testl %r12d, %r12d
sete %al
leal (%r12,%rax,2), %ecx
addl $0x7, %ecx
cmpl $0x1, (%r14,%rcx,4)
jne 0xf399
movl %ecx, %ecx
cmpl $0x10, 0x20(%r14,%rcx,4)
jne 0xf4d4
leal 0x7(,%rax,2), %eax
leal (%r12,%rax,2), %eax
cmpl $0x1, (%r14,%rax,4)
movl 0x39c2c3(%rip), %edi    # 0x3ab78c
jne 0xf4de
subl %edi, 0x2c(%rsp)
jmp 0xf399
movl 0x39c2b2(%rip), %eax    # 0x3ab78c
addl %eax, %eax
jmp 0xf4e5
movl %ebx, %esi
callq 0x11d88
subl %eax, 0x2c(%rsp)
jmp 0xf399
movq %rbp, 0x90(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0x39c44c(%rip)    # 0x3ab94c
andq $0x0, 0x148(%rsp)
leaq 0x290(%r14), %rsi
movq 0x120(%rsp), %rax
movq %rax, 0x48(%rsp)
movq $0x0, 0xc0(%rsp)
movl 0x1d4(%rsp), %eax
movl %eax, 0xc(%rsp)
movl $0x0, 0x80(%rsp)
movslq (%rsi), %rbx
cmpq $0x40, %rbx
je 0xf7c1
movq %rsi, 0x18(%rsp)
movq 0x128(%r14), %rsi
orq 0x120(%r14), %rsi
andq 0x140(%r14), %rsi
movl %ebx, %r13d
notq %rsi
andq 0x100(%r14), %rsi
movl %r13d, %edi
callq 0x8255
movq %rax, %r15
movq 0xc0(%rsp), %rcx
orq %rax, %rcx
movq %rcx, 0xc0(%rsp)
movq %rcx, 0x148(%rsp)
testq %rax, 0x40(%rsp)
je 0xf5e3
movl 0x30(%rsp), %eax
incl %eax
movl %eax, 0x30(%rsp)
movl %eax, 0x1b8(%rsp)
movl 0x10(%rsp), %eax
addl $0x3, %eax
movl %eax, 0x10(%rsp)
movl %eax, 0x1c0(%rsp)
movq %r15, %rdi
andq 0x70(%rsp), %rdi
je 0xf5e3
callq 0x122c5
movl 0x14(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0x14(%rsp)
movl %ecx, 0x1c8(%rsp)
andq 0x38(%rsp), %r15
movq %r15, %rdi
callq 0x122c5
movl %eax, %edi
cltq
leaq 0x39bda5(%rip), %rcx    # 0x3ab3a0
movl 0x200(%rcx,%rax,4), %r12d
xorl %r9d, %r9d
movq 0x58(%rsp), %rax
leaq 0x101b8e(%rip), %rcx    # 0x1111a0
testq %rax, (%rcx,%rbx,8)
je 0xf61f
movl 0x39c151(%rip), %r9d    # 0x3ab770
movl %r13d, %r10d
andl $0x7, %r10d
pushq $0x1
popq %r15
movl %r10d, %ecx
shll %cl, %r15d
movq 0x48(%rsp), %rcx
movl 0x34(%rcx), %eax
movl 0x38(%rcx), %ecx
btl %r10d, %eax
movq 0x18(%rsp), %rsi
jae 0xf653
testl %r15d, %ecx
je 0xf689
movl 0x39c12f(%rip), %eax    # 0x3ab780
jmp 0xf67a
xorl %eax, %eax
testl %r15d, %ecx
je 0xf68f
movq 0x48(%rsp), %rcx
cmpq $0x0, 0x8(%rcx)
je 0xf674
leaq 0x101f63(%rip), %rcx    # 0x1115d0
cmpq $0x0, (%rcx,%r10,8)
jne 0xf68f
movl 0x39c10e(%rip), %eax    # 0x3ab788
movl 0xc(%rsp), %ecx
btl %r10d, %ecx
setb %cl
shll %cl, %eax
jmp 0xf68f
movl 0x39c0f5(%rip), %eax    # 0x3ab784
movq 0x60(%rsp), %rcx
movl 0x510(%rcx), %ecx
andl $0x7, %ecx
movl %r10d, %edx
subl %ecx, %edx
movl %edx, %ecx
negl %ecx
cmovsl %edx, %ecx
cmpl $0x1, %ecx
ja 0xf6ec
movq %r10, 0x88(%rsp)
movl %r15d, %ebp
movq %rbx, %r15
movl %r9d, %ebx
movq %r13, %r14
movl %edi, %r13d
leal (%rax,%rax,4), %edi
pushq $0x4
popq %rsi
callq 0x11d88
movq 0x18(%rsp), %rsi
movl %r13d, %edi
movq %r14, %r13
movl %ebx, %r9d
movq %r15, %rbx
movl %ebp, %r15d
movq 0x88(%rsp), %r10
addq $0x4, %rsi
movq 0x90(%rsp), %rcx
leal (%rcx,%r12,2), %ecx
movq %rcx, 0x90(%rsp)
movl 0x80(%rsp), %ecx
subl %r9d, %ecx
addl %eax, %ecx
movl %ecx, 0x80(%rsp)
cmpl $0x6, %edi
movq 0x60(%rsp), %r14
jg 0xf53f
movq 0x48(%rsp), %rax
movl 0x34(%rax), %eax
testl %r15d, %eax
jne 0xf53f
movl 0x310(%r14), %edx
movl %edx, %ecx
andl $0x7, %ecx
cmpl $0x4, %ecx
jb 0xf76f
cmpl %ecx, %r10d
jbe 0xf53f
cmpl $0x8, %edx
jb 0xf760
xorl %ebx, %edx
cmpl $0x7, %edx
ja 0xf53f
shrl %cl, %eax
testl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
jne 0xf53f
jmp 0xf798
cmpl %ecx, %r10d
jae 0xf53f
cmpl $0x8, %edx
jb 0xf789
xorl %r13d, %edx
cmpl $0x7, %edx
ja 0xf53f
pushq $-0x1
popq %rdx
shll %cl, %edx
notl %edx
testl %edx, %eax
jne 0xf53f
movq 0x1938(%r14), %rax
testb $0x5, 0x10(%rax)
setne %cl
shll $0x4, %edi
movl $0xb4, %eax
subl %edi, %eax
sarl %cl, %eax
shll $0x10, %eax
subl %eax, 0x80(%rsp)
jmp 0xf53f
movl 0x80(%rsp), %eax
movl %eax, 0x39c182(%rip)    # 0x3ab950
leaq 0x2d0(%r14), %r12
andq $0x0, 0x150(%rsp)
movq $0x0, 0xb8(%rsp)
movl $0x0, 0x84(%rsp)
movq 0x90(%rsp), %rbp
movq 0x100(%rsp), %r13
movslq (%r12), %rbx
cmpq $0x40, %rbx
je 0xf92a
movq %r14, %rdi
movl %ebx, %esi
callq 0x1230a
movq %rax, %r15
movq 0xb8(%rsp), %rcx
orq %rax, %rcx
movq %rcx, 0xb8(%rsp)
movq %rcx, 0x150(%rsp)
testq %rax, 0x40(%rsp)
je 0xf885
movl 0x30(%rsp), %eax
incl %eax
movl %eax, 0x30(%rsp)
movl %eax, 0x1b8(%rsp)
movl 0x10(%rsp), %eax
addl $0x5, %eax
movl %eax, 0x10(%rsp)
movl %eax, 0x1c0(%rsp)
movq %r15, %rdi
andq 0x70(%rsp), %rdi
je 0xf885
callq 0x122c5
movl 0x14(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0x14(%rsp)
movl %ecx, 0x1c8(%rsp)
movq 0x148(%r14), %rax
orq 0x20(%rsp), %rax
notq %rax
andq %rax, %r15
movq %r15, %rdi
callq 0x819a
cltq
leaq 0x39baf8(%rip), %rcx    # 0x3ab3a0
movl 0x280(%rcx,%rax,4), %eax
xorl %ecx, %ecx
movq 0x58(%rsp), %rdx
leaq 0x1018e3(%rip), %rsi    # 0x1111a0
testq %rdx, (%rsi,%rbx,8)
je 0xf8c9
movl 0x39beab(%rip), %ecx    # 0x3ab774
addq $0x4, %r12
addl %eax, %ebp
leal (%rbp,%rax,2), %ebp
subl %ecx, 0x84(%rsp)
movslq 0x510(%r14), %rax
movslq 0x310(%r14), %rcx
movq %rax, %rdx
shlq $0x6, %rdx
addq 0x256a2(%rip), %rdx     # 0x34f98
cmpb $0x2, (%rcx,%rdx)
jl 0xf805
shlq $0x6, %rbx
addq 0x2568d(%rip), %rbx     # 0x34f98
movsbq (%rax,%rbx), %rax
leaq 0x19919(%rip), %rcx     # 0x29230
imull $0x10001, (%rcx,%rax,4), %eax # imm = 0x10001
addl %eax, 0x84(%rsp)
jmp 0xf805
movq %rbp, 0x90(%rsp)
movl 0x84(%rsp), %eax
movl %eax, 0x39c015(%rip)    # 0x3ab954
leaq 0x128(%rsp), %rsi
movq 0x8(%rsi), %rdi
movq 0x30(%rsi), %rdx
movq 0xe0(%rsp), %rax
orq %r13, %rax
movq 0xc0(%rsp), %rcx
orq 0xb8(%rsp), %rcx
orq %rax, %rcx
movq %rdi, 0x38(%rsp)
orq %rdi, %rcx
movq %rdx, 0x50(%rsp)
orq %rdx, %rcx
movq %rcx, 0xa8(%rsp)
movq %rcx, (%rsi)
movq 0x148(%r14), %rax
movq %rax, 0x1e0(%rsp)
notq %rax
movq %rax, 0x98(%rsp)
andq $0x0, 0x50(%rsi)
leaq 0x410(%r14), %rbx
movl 0x94(%rsi), %r13d
movl 0x9c(%rsi), %ebp
movl 0xa4(%rsi), %eax
movl %eax, 0xc(%rsp)
movq $0x0, 0xd8(%rsp)
movq 0x88(%rsi), %rax
movq %rax, 0x18(%rsp)
movq $0x0, 0x40(%rsp)
movl $0x0, 0xa4(%rsp)
leaq 0x101d58(%rip), %r12    # 0x111750
movslq (%rbx), %r14
cmpq $0x40, %r14
je 0xfabf
movq 0x400(%r12,%r14,8), %r15
movq 0xd8(%rsp), %rcx
orq %r15, %rcx
movq %rcx, 0xd8(%rsp)
movq %rcx, 0x178(%rsp)
testq %r15, 0x18(%rsp)
je 0xfa68
incl %r13d
movl %r13d, 0x1bc(%rsp)
movl %ebp, %eax
addl $0x2, %eax
movl %eax, %ebp
movl %eax, 0x1c4(%rsp)
movq %r15, %rdi
andq 0x50(%rsp), %rdi
je 0xfa68
callq 0x122c5
movl 0xc(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0xc(%rsp)
movl %ecx, 0x1cc(%rsp)
andq 0x98(%rsp), %r15
movq %r15, %rdi
callq 0x122c5
cltq
leaq 0x39b91f(%rip), %rcx    # 0x3ab3a0
movl 0x100(%rcx,%rax,4), %eax
xorl %ecx, %ecx
leaq 0x10170f(%rip), %rdx    # 0x1111a0
movq 0x38(%rsp), %rsi
testq %rsi, (%rdx,%r14,8)
je 0xfaa2
movl 0x39bcc6(%rip), %ecx    # 0x3ab768
addq $0x4, %rbx
movq 0x40(%rsp), %rdx
leal (%rdx,%rax,2), %edx
movq %rdx, 0x40(%rsp)
subl %ecx, 0xa4(%rsp)
jmp 0xf9f8
movl %r13d, 0x20(%rsp)
movl 0xa4(%rsp), %eax
movl %eax, 0x39beb7(%rip)    # 0x3ab988
andq $0x0, 0x180(%rsp)
movq 0x60(%rsp), %r14
leaq 0x450(%r14), %rbx
movq $0x0, 0xd0(%rsp)
movl %ebp, %r12d
xorl %ebp, %ebp
movslq (%rbx), %r13
cmpq $0x40, %r13
je 0xfc4d
movq 0x148(%r14), %rsi
andq 0x128(%r14), %rsi
notq %rsi
andq 0x100(%r14), %rsi
movl %r13d, %edi
callq 0x8208
movq %rax, %r15
movq 0xd0(%rsp), %rcx
orq %rax, %rcx
movq %rcx, 0xd0(%rsp)
movq %rcx, 0x180(%rsp)
testq %rax, 0x18(%rsp)
je 0xfb86
movl 0x20(%rsp), %eax
incl %eax
movl %eax, 0x20(%rsp)
movl %eax, 0x1bc(%rsp)
addl $0x2, %r12d
movl %r12d, 0x1c4(%rsp)
movq %r15, %rdi
andq 0x50(%rsp), %rdi
je 0xfb86
callq 0x122c5
movl 0xc(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0xc(%rsp)
movl %ecx, 0x1cc(%rsp)
andq 0x98(%rsp), %r15
movq %r15, %rdi
callq 0x122c5
cltq
leaq 0x39b801(%rip), %rcx    # 0x3ab3a0
movl 0x180(%rcx,%rax,4), %eax
xorl %ecx, %ecx
leaq 0x1015f1(%rip), %rdx    # 0x1111a0
movq 0x38(%rsp), %rsi
testq %rsi, (%rdx,%r13,8)
je 0xfbc0
movl 0x39bbac(%rip), %ecx    # 0x3ab76c
addq $0x4, %rbx
movq 0x40(%rsp), %rdx
leal (%rdx,%rax,2), %edx
movq %rdx, 0x40(%rsp)
subl %ecx, %ebp
cmpb $0x1, 0x1924(%r14)
jne 0xfaf7
cmpl $0x3f, %r13d
je 0xfbf1
cmpl $0x38, %r13d
jne 0xfaf7
xorl %eax, %eax
testb $0x7, %r13b
sete %al
leal -0x9(%r13,%rax,2), %ecx
cmpl $0x9, (%r14,%rcx,4)
jne 0xfaf7
addl $-0x8, %ecx
cmpl $0x10, (%r14,%rcx,4)
jne 0xfc34
leal -0x9(,%rax,2), %eax
leal (%r13,%rax,2), %eax
cmpl $0x9, (%r14,%rax,4)
movl 0x39bb61(%rip), %edi    # 0x3ab78c
jne 0xfc3e
subl %edi, %ebp
jmp 0xfaf7
movl 0x39bb52(%rip), %eax    # 0x3ab78c
addl %eax, %eax
jmp 0xfc46
pushq $0x2
popq %rsi
callq 0x11d88
subl %eax, %ebp
jmp 0xfaf7
movl %ebp, 0xec(%rsp)
movl %ebp, 0x39bd32(%rip)    # 0x3ab98c
leaq 0x490(%r14), %rsi
andq $0x0, 0x188(%rsp)
movq $0x0, 0xb0(%rsp)
movl 0x1d0(%rsp), %eax
movl %eax, 0xcc(%rsp)
movl $0x0, 0x7c(%rsp)
movslq (%rsi), %rbx
cmpq $0x40, %rbx
je 0xff29
movq %rsi, 0x110(%rsp)
movq 0x128(%r14), %rsi
orq 0x120(%r14), %rsi
andq 0x148(%r14), %rsi
movl %ebx, %r15d
notq %rsi
andq 0x100(%r14), %rsi
movl %r15d, %edi
callq 0x8255
movq %rax, %r13
movq 0xb0(%rsp), %rcx
orq %rax, %rcx
movq %rcx, 0xb0(%rsp)
movq %rcx, 0x188(%rsp)
testq %rax, 0x18(%rsp)
je 0xfd37
movl 0x20(%rsp), %eax
incl %eax
movl %eax, 0x20(%rsp)
movl %eax, 0x1bc(%rsp)
addl $0x3, %r12d
movl %r12d, 0x1c4(%rsp)
movq %r13, %rdi
andq 0x50(%rsp), %rdi
movl %r12d, 0x88(%rsp)
je 0xfd3f
callq 0x122c5
movl 0xc(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0xc(%rsp)
movl %ecx, 0x1cc(%rsp)
jmp 0xfd3f
movl %r12d, 0x88(%rsp)
andq 0x98(%rsp), %r13
movq %r13, %rdi
callq 0x122c5
movl %eax, %edi
cltq
leaq 0x39b646(%rip), %rcx    # 0x3ab3a0
movl 0x200(%rcx,%rax,4), %r12d
xorl %r9d, %r9d
leaq 0x101434(%rip), %rax    # 0x1111a0
movq 0x38(%rsp), %rcx
testq %rcx, (%rax,%rbx,8)
je 0xfd7e
movl 0x39b9f2(%rip), %r9d    # 0x3ab770
movl %r15d, %r10d
andl $0x7, %r10d
movq 0x48(%rsp), %rax
movl 0x34(%rax), %edx
movl 0x38(%rax), %eax
pushq $0x1
popq %r13
movl %r10d, %ecx
shll %cl, %r13d
btl %r10d, %eax
movq 0x110(%rsp), %rsi
jae 0xfdb5
testl %r13d, %edx
je 0xfdee
movl 0x39b9cd(%rip), %eax    # 0x3ab780
jmp 0xfddc
xorl %eax, %eax
testl %r13d, %edx
je 0xfdf4
movq 0x48(%rsp), %rcx
cmpq $0x0, 0x10(%rcx)
je 0xfdd6
leaq 0x101801(%rip), %rcx    # 0x1115d0
cmpq $0x0, (%rcx,%r10,8)
jne 0xfdf4
movl 0x39b9ac(%rip), %eax    # 0x3ab788
movl 0xcc(%rsp), %ecx
btl %r10d, %ecx
setb %cl
shll %cl, %eax
jmp 0xfdf4
movl 0x39b990(%rip), %eax    # 0x3ab784
movq 0x60(%rsp), %rcx
movl 0x310(%rcx), %ecx
andl $0x7, %ecx
movl %r10d, %edx
subl %ecx, %edx
movl %edx, %ecx
negl %ecx
cmovsl %edx, %ecx
cmpl $0x1, %ecx
ja 0xfe54
movq %r10, 0x1d8(%rsp)
movl %r13d, %ebp
movq %rbx, %r13
movl %r9d, %ebx
movq %r15, %r14
movl %edi, %r15d
leal (%rax,%rax,4), %edi
pushq $0x4
popq %rsi
callq 0x11d88
movq 0x110(%rsp), %rsi
movl %r15d, %edi
movq %r14, %r15
movl %ebx, %r9d
movq %r13, %rbx
movl %ebp, %r13d
movq 0x1d8(%rsp), %r10
addq $0x4, %rsi
movq 0x40(%rsp), %rcx
leal (%rcx,%r12,2), %ecx
movq %rcx, 0x40(%rsp)
movl 0x7c(%rsp), %ecx
subl %r9d, %ecx
addl %eax, %ecx
movl %ecx, 0x7c(%rsp)
cmpl $0x6, %edi
movq 0x60(%rsp), %r14
movl 0x88(%rsp), %r12d
jg 0xfc8c
movq 0x48(%rsp), %rax
movl 0x38(%rax), %eax
testl %r13d, %eax
jne 0xfc8c
movl 0x510(%r14), %edx
movl %edx, %ecx
andl $0x7, %ecx
cmpl $0x4, %ecx
jb 0xfed6
cmpl %ecx, %r10d
jbe 0xfc8c
sarl $0x3, %edx
cmpl $0x7, %edx
je 0xfec7
sarl $0x3, %ebx
cmpl %ebx, %edx
jne 0xfc8c
shrl %cl, %eax
testl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
jne 0xfc8c
jmp 0xff03
cmpl %ecx, %r10d
jae 0xfc8c
sarl $0x3, %edx
cmpl $0x7, %edx
je 0xfef4
sarl $0x3, %r15d
cmpl %r15d, %edx
jne 0xfc8c
pushq $-0x1
popq %rdx
shll %cl, %edx
notl %edx
testl %edx, %eax
jne 0xfc8c
movq 0x1938(%r14), %rax
testb $0xa, 0x10(%rax)
setne %cl
shll $0x4, %edi
movl $0xb4, %eax
subl %edi, %eax
sarl %cl, %eax
shll $0x10, %eax
subl %eax, 0x7c(%rsp)
jmp 0xfc8c
movl %r12d, 0x88(%rsp)
andq $0x0, 0x190(%rsp)
movl 0x7c(%rsp), %eax
movl %eax, 0x39ba4c(%rip)    # 0x3ab990
leaq 0x4d0(%r14), %r12
xorl %ebp, %ebp
xorl %ebx, %ebx
movslq (%r12), %r15
cmpq $0x40, %r15
je 0x1006d
movq %r14, %rdi
movl %r15d, %esi
callq 0x1230a
movq %rax, %r13
orq %rax, %rbp
movq %rbp, 0x190(%rsp)
testq %rax, 0x18(%rsp)
je 0xffc6
movl 0x20(%rsp), %eax
incl %eax
movl %eax, 0x20(%rsp)
movl %eax, 0x1bc(%rsp)
movl 0x88(%rsp), %eax
addl $0x5, %eax
movl %eax, 0x88(%rsp)
movl %eax, 0x1c4(%rsp)
movq %r13, %rdi
andq 0x50(%rsp), %rdi
je 0xffc6
callq 0x122c5
movl 0xc(%rsp), %ecx
addl %eax, %ecx
movl %ecx, 0xc(%rsp)
movl %ecx, 0x1cc(%rsp)
movq 0x140(%r14), %rax
orq 0x1e0(%rsp), %rax
notq %rax
andq %rax, %r13
movq %r13, %rdi
callq 0x819a
cltq
leaq 0x39b3b4(%rip), %rcx    # 0x3ab3a0
movl 0x280(%rcx,%rax,4), %eax
xorl %ecx, %ecx
leaq 0x1011a4(%rip), %rdx    # 0x1111a0
movq 0x38(%rsp), %rsi
testq %rsi, (%rdx,%r15,8)
je 0x1000d
movl 0x39b767(%rip), %ecx    # 0x3ab774
addq $0x4, %r12
movq 0x40(%rsp), %rdx
addl %eax, %edx
leal (%rdx,%rax,2), %edx
movq %rdx, 0x40(%rsp)
subl %ecx, %ebx
movslq 0x310(%r14), %rax
movslq 0x510(%r14), %rcx
movq %rax, %rdx
shlq $0x6, %rdx
addq 0x24f5a(%rip), %rdx     # 0x34f98
cmpb $0x2, (%rcx,%rdx)
jl 0xff4f
shlq $0x6, %r15
addq 0x24f45(%rip), %r15     # 0x34f98
movsbq (%rax,%r15), %rax
leaq 0x191d1(%rip), %rcx     # 0x29230
imull $0x10001, (%rcx,%rax,4), %eax # imm = 0x10001
addl %eax, %ebx
jmp 0xff4f
movl %ebx, 0x39b921(%rip)    # 0x3ab994
movq 0x58(%rsp), %rcx
orq 0x70(%rsp), %rcx
movq 0xd8(%rsp), %rax
orq 0xd0(%rsp), %rax
orq %rcx, %rax
movq 0xb0(%rsp), %rcx
orq %rbp, %rcx
orq %rax, %rcx
movq %rcx, 0x38(%rsp)
movq %rcx, 0x168(%rsp)
movl 0x1090(%r14), %eax
movq %rax, %rcx
xorq $0x1, %rcx
shlq $0x6, %rax
movq %rcx, %rdx
shlq $0x6, %rdx
leaq 0x128(%rsp), %rsi
movq 0x30(%rsi,%rdx), %rdx
andq (%rsi,%rax), %rdx
testq %rdx, 0x140(%r14,%rcx,8)
jne 0x10cca
movq 0x90(%rsp), %rax
movl %eax, %edi
subl 0x40(%rsp), %edi
movl 0x39b829(%rip), %esi    # 0x3ab920
callq 0x1116c
movl 0xf0(%rsp), %edx
addl 0xf4(%rsp), %edx
movl 0x2c(%rsp), %ecx
addl 0x80(%rsp), %ecx
addl %edx, %ecx
addl 0x84(%rsp), %ecx
movl 0xa4(%rsp), %edx
addl 0xec(%rsp), %edx
movl 0x7c(%rsp), %esi
addl %ebx, %esi
addl %edx, %esi
subl %esi, %ecx
addl %eax, %ecx
movl %ecx, 0x2c(%rsp)
movl %ecx, 0x6c(%rsp)
movl 0x310(%r14), %r15d
movq 0x48(%rsp), %rdi
movq %r14, %rsi
movl %r15d, %edx
callq 0x12340
movl %eax, %ebx
movslq %r15d, %rdx
pushq $0x6
popq %rsi
movq %r14, %rdi
movq %rdx, 0x18(%rsp)
callq 0x18638
movl %r15d, 0x98(%rsp)
andq 0x140(%r14), %rax
je 0x1018d
movq %rax, %rdi
callq 0x122c5
imull $0xfff5fff6, %eax, %eax # imm = 0xFFF5FFF6
addl %eax, %ebx
movl 0x20(%rsp), %eax
testl %eax, %eax
jle 0x102d0
cmpl $0x0, 0xc(%rsp)
je 0x102d0
movl %ebx, 0x58(%rsp)
movq 0x38(%rsp), %rdi
andq 0x50(%rsp), %rdi
callq 0x122c5
movl %eax, %r15d
leaq 0x18f6f(%rip), %rax     # 0x29130
movq 0x18(%rsp), %rcx
movl (%rax,%rcx,4), %r12d
movq 0x48(%rsp), %rdi
movq %r14, %rsi
movl 0x98(%rsp), %edx
callq 0x12340
movl %eax, %ecx
movq %r14, %r13
addl 0xc(%rsp), %r15d
leal (%r15,%r15,2), %edi
movl 0x20(%rsp), %r8d
imull 0x88(%rsp), %r8d
movl %r8d, %eax
cltd
pushq $0x2
popq %rsi
idivl %esi
movl %eax, %esi
cmpl $0x34, %r8d
pushq $0x19
popq %rax
cmovgel %eax, %esi
addl $0x8000, %ecx           # imm = 0x8000
shrl $0x10, %ecx
movl %ecx, %eax
cwtd
movw $0xffe0, %cx            # imm = 0xFFE0
idivw %cx
cwtl
addl %edi, %r12d
addl %esi, %r12d
addl %eax, %r12d
movq 0x148(%r14), %rbx
movq %rbx, %rdi
notq %rdi
andq 0x50(%rsp), %rdi
andq %rbp, %rdi
je 0x103c8
callq 0x122c5
imull $0xc, %eax, %r14d
movl 0x1090(%r13), %eax
cmpl $0x1, %eax
sete %cl
shll %cl, %r14d
addl %r12d, %r14d
movq 0x148(%r13), %rbx
cmpl $0x1, %eax
movl 0x98(%rsp), %r15d
jne 0x103d3
movq 0xa8(%rsp), %rax
andq 0x70(%rsp), %rax
testq %rbx, %rax
jne 0x103d3
movq 0x60(%rsp), %rcx
movslq 0x310(%rcx), %rax
movslq 0x510(%rcx), %rcx
shlq $0x6, %rax
addq 0x24ce8(%rip), %rax     # 0x34f98
cmpb $0x2, (%rcx,%rax)
jl 0x103d3
leaq 0x251a7(%rip), %rax     # 0x35468
imull $0xfffeffff, (%rax), %eax # imm = 0xFFFEFFFF
addl %eax, 0x58(%rsp)
jmp 0x103d3
movq 0x148(%r14), %rax
movq %rax, %rcx
notq %rcx
andq 0x50(%rsp), %rbp
testq %rcx, %rbp
setne %sil
movl 0x1090(%r14), %edx
cmpl $0x1, %edx
sete %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0x10340
movq 0xa8(%rsp), %rsi
andq 0x70(%rsp), %rsi
testq %rax, %rsi
jne 0x10340
movslq 0x310(%r14), %rsi
movslq 0x510(%r14), %rdi
shlq $0x6, %rsi
addq 0x24c6d(%rip), %rsi     # 0x34f98
cmpb $0x2, (%rdi,%rsi)
jl 0x10340
leaq 0x25130(%rip), %rsi     # 0x35468
imull $0xfffeffff, (%rsi), %esi # imm = 0xFFFEFFFF
addl %esi, %ebx
cmpl $0x1, %edx
sete %dl
leaq 0x10c203(%rip), %rsi    # 0x11c550
movq 0x18(%rsp), %rdi
movq (%rsi,%rdi,8), %rsi
andq 0x50(%rsp), %rsi
andq 0xb0(%rsp), %rsi
testq %rcx, %rsi
setne %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0x103bf
movq 0xa8(%rsp), %rcx
andq 0x70(%rsp), %rcx
testq %rax, %rcx
jne 0x103bf
movslq 0x310(%r14), %rax
movslq 0x510(%r14), %rcx
shlq $0x6, %rax
addq 0x24bfd(%rip), %rax     # 0x34f98
cmpb $0x2, (%rcx,%rax)
jl 0x103bf
xorpd %xmm0, %xmm0
movsd %xmm0, 0x20(%rsp)
leaq 0x250ae(%rip), %rax     # 0x35460
imull $0xfffeffff, (%rax), %eax # imm = 0xFFFEFFFF
addl %eax, %ebx
jmp 0x1054a
xorpd %xmm0, %xmm0
jmp 0x10544
movl %r12d, %r14d
movl 0x98(%rsp), %r15d
movq %rbx, %rdi
notq %rdi
leaq 0x10c170(%rip), %rax    # 0x11c550
movq 0x18(%rsp), %rcx
andq (%rax,%rcx,8), %rdi
andq 0xb0(%rsp), %rdi
andq 0x50(%rsp), %rdi
je 0x1046e
callq 0x122c5
movl %eax, %r13d
shll $0x3, %r13d
movq 0x60(%rsp), %rdx
movl 0x1090(%rdx), %eax
cmpl $0x1, %eax
sete %cl
shll %cl, %r13d
addl %r14d, %r13d
movq %rdx, %r14
movq 0x148(%rdx), %rbx
cmpl $0x1, %eax
jne 0x10476
movq 0xa8(%rsp), %rax
andq 0x70(%rsp), %rax
testq %rbx, %rax
jne 0x10476
movslq 0x310(%r14), %rax
movslq 0x510(%r14), %rcx
shlq $0x6, %rax
addq 0x24b43(%rip), %rax     # 0x34f98
cmpb $0x2, (%rcx,%rax)
jl 0x10476
leaq 0x24ffe(%rip), %rax     # 0x35460
imull $0xfffeffff, (%rax), %eax # imm = 0xFFFEFFFF
addl %eax, 0x58(%rsp)
jmp 0x10476
movl %r14d, %r13d
movq 0x60(%rsp), %r14
orq 0xa8(%rsp), %rbx
notq %rbx
movq %r14, %rdi
movl %r15d, %esi
callq 0x12330
movq %rax, %r12
andq %rbx, %r12
movq %r14, %rdi
movq 0x18(%rsp), %rsi
callq 0xcf20
movq %rax, %r15
andq %rbx, %r15
movq %r15, %rdi
orq %r12, %rdi
andq %rbp, %rdi
je 0x104bb
callq 0x122c5
leal (%rax,%rax,2), %eax
addl %eax, %r13d
andq 0xb0(%rsp), %r12
je 0x104d2
movq %r12, %rdi
callq 0x122c5
leal (%r13,%rax,2), %r13d
andq 0xd0(%rsp), %r15
je 0x104ea
movq %r15, %rdi
callq 0x122c5
addl %r13d, %eax
movl %eax, %r13d
leaq 0x10125f(%rip), %rax    # 0x111750
movq 0x18(%rsp), %rcx
andq 0x400(%rax,%rcx,8), %rbx
andq 0xd8(%rsp), %rbx
je 0x10516
movq %rbx, %rdi
callq 0x122c5
addl %r13d, %eax
movl %eax, %r13d
xorl %eax, %eax
testl %r13d, %r13d
cmovgl %r13d, %eax
cmpl $0x63, %eax
pushq $0x63
popq %rcx
cmovgel %ecx, %eax
leaq 0x39b491(%rip), %rcx    # 0x3ab9c0
movl (%rcx,%rax,4), %eax
movl 0x58(%rsp), %ebx
subl %eax, %ebx
addl $0x8000, %eax           # imm = 0x8000
sarl $0x10, %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x20(%rsp)
movl %ebx, 0x58(%rsp)
movl %ebx, 0x39b404(%rip)    # 0x3ab958
movl 0x510(%r14), %ebp
movq 0x48(%rsp), %rdi
movq %r14, %rsi
movl %ebp, %edx
callq 0x1234e
movl %eax, %r13d
movslq %ebp, %rdx
pushq $0x6
popq %rsi
movq %r14, %rdi
movq %rdx, 0x18(%rsp)
callq 0x18638
andq 0x148(%r14), %rax
je 0x1059a
movq %rax, %rdi
callq 0x122c5
imull $0xfff5fff6, %eax, %eax # imm = 0xFFF5FFF6
addl %eax, %r13d
cmpl $0x0, 0x30(%rsp)
jle 0x106ce
cmpl $0x0, 0x14(%rsp)
je 0x106ce
movq 0xa8(%rsp), %rdi
andq 0x70(%rsp), %rdi
movq %rdi, %r12
callq 0x122c5
movl %eax, %ebx
movq 0x18(%rsp), %rax
xorq $0x38, %rax
leaq 0x18b59(%rip), %rcx     # 0x29130
movq %r14, %r15
movl (%rcx,%rax,4), %r14d
movq 0x48(%rsp), %rdi
movq %r15, %rsi
movl %ebp, %edx
callq 0x1234e
movl %eax, %ecx
movl %r13d, 0x48(%rsp)
addl 0x14(%rsp), %ebx
leal (%rbx,%rbx,2), %edi
movl 0x30(%rsp), %r8d
imull 0x10(%rsp), %r8d
movl %r8d, %eax
cltd
pushq $0x2
popq %rsi
idivl %esi
movl %eax, %esi
cmpl $0x34, %r8d
pushq $0x19
popq %rax
cmovgel %eax, %esi
addl $0x8000, %ecx           # imm = 0x8000
shrl $0x10, %ecx
movl %ecx, %eax
cwtd
movw $0xffe0, %cx            # imm = 0xFFE0
idivw %cx
cwtl
addl %edi, %r14d
addl %esi, %r14d
addl %eax, %r14d
movq 0x140(%r15), %r13
movq %r13, %rdi
notq %rdi
andq 0xb8(%rsp), %rdi
andq %r12, %rdi
je 0x107c8
callq 0x122c5
imull $0xc, %eax, %ebx
movl 0x1090(%r15), %eax
testl %eax, %eax
sete %cl
shll %cl, %ebx
addl %r14d, %ebx
movq 0x140(%r15), %r13
testl %eax, %eax
movq %r15, %r14
jne 0x107ce
movq 0x38(%rsp), %rax
andq 0x50(%rsp), %rax
testq %r13, %rax
jne 0x107ce
movslq 0x510(%r14), %rax
movslq 0x310(%r14), %rcx
shlq $0x6, %rax
addq 0x248ea(%rip), %rax     # 0x34f98
cmpb $0x2, (%rcx,%rax)
jl 0x107ce
leaq 0x24da9(%rip), %rax     # 0x35468
imull $0xfffeffff, (%rax), %eax # imm = 0xFFFEFFFF
addl %eax, 0x48(%rsp)
jmp 0x107ce
movq 0x140(%r14), %rax
movq %rax, %rcx
notq %rcx
movq 0xb8(%rsp), %rdx
andq 0x70(%rsp), %rdx
testq %rcx, %rdx
setne %sil
movl 0x1090(%r14), %edx
testl %edx, %edx
sete %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0x10743
movq 0x38(%rsp), %rsi
andq 0x50(%rsp), %rsi
testq %rax, %rsi
jne 0x10743
movslq 0x510(%r14), %rsi
movslq 0x310(%r14), %rdi
shlq $0x6, %rsi
addq 0x2486b(%rip), %rsi     # 0x34f98
cmpb $0x2, (%rdi,%rsi)
jl 0x10743
leaq 0x24d2e(%rip), %rsi     # 0x35468
imull $0xfffeffff, (%rsi), %esi # imm = 0xFFFEFFFF
addl %esi, %r13d
testl %edx, %edx
sete %dl
leaq 0x10be01(%rip), %rsi    # 0x11c550
movq 0x70(%rsp), %rdi
movq 0x18(%rsp), %r8
andq (%rsi,%r8,8), %rdi
andq 0xc0(%rsp), %rdi
testq %rcx, %rdi
setne %cl
andb %dl, %cl
cmpb $0x1, %cl
jne 0x107bf
movq 0x38(%rsp), %rcx
andq 0x50(%rsp), %rcx
testq %rax, %rcx
jne 0x107bf
movslq 0x510(%r14), %rax
movslq 0x310(%r14), %rcx
shlq $0x6, %rax
addq 0x247fe(%rip), %rax     # 0x34f98
cmpb $0x2, (%rcx,%rax)
jl 0x107bf
xorpd %xmm0, %xmm0
movsd %xmm0, 0x30(%rsp)
leaq 0x24caf(%rip), %rax     # 0x35460
imull $0xfffeffff, (%rax), %eax # imm = 0xFFFEFFFF
addl %eax, %r13d
jmp 0x10930
xorpd %xmm0, %xmm0
jmp 0x1092a
movl %r14d, %ebx
movq %r15, %r14
movq %r13, %rdi
notq %rdi
leaq 0x10bd75(%rip), %rax    # 0x11c550
movq 0x18(%rsp), %rcx
andq (%rax,%rcx,8), %rdi
andq 0xc0(%rsp), %rdi
andq %r12, %rdi
je 0x10857
callq 0x122c5
movl %eax, %ebp
shll $0x3, %ebp
movl 0x1090(%r14), %eax
testl %eax, %eax
sete %cl
shll %cl, %ebp
addl %ebx, %ebp
movq 0x140(%r14), %r13
testl %eax, %eax
jne 0x10859
movq 0x50(%rsp), %rax
andq 0x38(%rsp), %rax
testq %r13, %rax
jne 0x10859
movslq 0x510(%r14), %rax
movslq 0x310(%r14), %rcx
shlq $0x6, %rax
addq 0x2475a(%rip), %rax     # 0x34f98
cmpb $0x2, (%rcx,%rax)
jl 0x10859
leaq 0x24c15(%rip), %rax     # 0x35460
imull $0xfffeffff, (%rax), %eax # imm = 0xFFFEFFFF
addl %eax, 0x48(%rsp)
jmp 0x10859
movl %ebx, %ebp
orq 0x38(%rsp), %r13
notq %r13
movq %r14, %rdi
movq 0x18(%rsp), %r15
movl %r15d, %esi
callq 0x12330
movq %rax, %rbx
andq %r13, %rbx
movq %r14, %rdi
movl %r15d, %esi
callq 0xcf20
movq %rax, %r15
andq %r13, %r15
movq %r15, %rdi
orq %rbx, %rdi
andq 0xb8(%rsp), %rdi
je 0x108a2
callq 0x122c5
leal (%rax,%rax,2), %eax
addl %eax, %ebp
andq 0xc0(%rsp), %rbx
je 0x108b8
movq %rbx, %rdi
callq 0x122c5
leal (%rbp,%rax,2), %ebp
andq 0xe0(%rsp), %r15
je 0x108ce
movq %r15, %rdi
callq 0x122c5
addl %ebp, %eax
movl %eax, %ebp
leaq 0x100e7b(%rip), %rax    # 0x111750
movq 0x18(%rsp), %rcx
andq 0x400(%rax,%rcx,8), %r13
andq 0x100(%rsp), %r13
je 0x108f8
movq %r13, %rdi
callq 0x122c5
addl %ebp, %eax
movl %eax, %ebp
xorl %eax, %eax
testl %ebp, %ebp
cmovgl %ebp, %eax
cmpl $0x63, %eax
pushq $0x63
popq %rcx
cmovll %eax, %ecx
leaq 0x39b0b1(%rip), %rax    # 0x3ab9c0
movl 0x200(%rax,%rcx,4), %eax
movl 0x48(%rsp), %r13d
subl %eax, %r13d
addl $0x8000, %eax           # imm = 0x8000
sarl $0x10, %eax
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x30(%rsp)
movl %r13d, 0x39b061(%rip)   # 0x3ab998
leaq 0x118(%rsp), %rsi
movq %r14, %rdi
callq 0x113b0
movl %eax, %ebx
leaq 0x118(%rsp), %rsi
movq %r14, %rdi
callq 0x11578
subl %eax, %ebx
movl 0x58(%rsp), %ecx
addl 0x2c(%rsp), %ecx
subl %r13d, %ecx
addl %ebx, %ecx
movl %ecx, 0x6c(%rsp)
movq 0x1938(%r14), %rax
cmpl $0x0, 0x28(%rax)
je 0x1097f
cmpl $0x0, 0x2c(%rax)
jne 0x10999
movl %ecx, %ebx
leaq 0x118(%rsp), %rsi
movq %r14, %rdi
callq 0x1174b
movl %ebx, %ecx
addl %eax, %ecx
movl %ecx, 0x6c(%rsp)
movq 0x118(%rsp), %r15
movl %ecx, %ebp
andl $0x7fff, %ebp           # imm = 0x7FFF
movl %ecx, 0x58(%rsp)
movl %ecx, %r14d
andl $0x8000, %r14d          # imm = 0x8000
xorl %edx, %edx
cmpl %r14d, %ebp
setbe %dl
movq %r15, %rdi
movq 0x60(%rsp), %rsi
callq 0x12296
movl %eax, %ebx
movl 0x2c(%r15), %esi
cmpl $0x40, %eax
jne 0x10a29
cmpl $0x7f, %esi
jg 0x10a29
movl 0xf8(%rsp), %eax
cmpl %eax, 0xfc(%rsp)
jne 0x10a29
movq 0x60(%rsp), %rax
movq 0x1938(%rax), %rdx
leaq 0x24a61(%rip), %rax     # 0x35460
movl (%rax), %edi
pushq $0x20
popq %rbx
pushq $0x40
popq %rcx
pushq $0x10
popq %rax
cmpl %r14d, %ebp
ja 0x10a14
movl 0x2c(%rdx), %edx
jmp 0x10a17
movl 0x28(%rdx), %edx
cmpl %edi, %edx
jle 0x10a29
leaq 0x24a2e(%rip), %rdi     # 0x35450
cmpl (%rdi), %edx
cmovgl %ecx, %eax
movl %eax, %ebx
testl %esi, %esi
je 0x10a34
movq 0x60(%rsp), %r14
jmp 0x10a6e
movq 0x60(%rsp), %r14
movslq 0x310(%r14), %rax
movslq 0x510(%r14), %rcx
shlq $0x6, %rax
addq 0x24546(%rip), %rax     # 0x34f98
movsbq (%rcx,%rax), %rax
movl %ebx, %ecx
cvtsi2ss %rcx, %xmm0
leaq 0x187fb(%rip), %rcx     # 0x29260
mulss (%rcx,%rax,4), %xmm0
cvttss2si %xmm0, %ebx
movq 0x90(%rsp), %r12
leaq 0x6c(%rsp), %rdi
movl %ebx, %edx
callq 0x11cc6
movq 0x1938(%r14), %rcx
movl 0x24(%rcx), %ecx
movl %ecx, 0x39aece(%rip)    # 0x3ab960
andl $0x0, 0x39af07(%rip)    # 0x3ab9a0
movl %eax, 0x10(%rsp)
movswl 0x8(%r15), %eax
imull $0x10001, %eax, %eax    # imm = 0x10001
movl %eax, 0x39aeb6(%rip)    # 0x3ab964
andl $0x0, 0x39aeef(%rip)    # 0x3ab9a4
leaq 0x118(%rsp), %r15
movq 0x8(%r15), %rax
movl 0x30(%rax), %eax
movl %eax, 0x39ae7a(%rip)    # 0x3ab944
andl $0x0, 0x39aeb3(%rip)    # 0x3ab984
movl 0x39ae48(%rip), %r13d   # 0x3ab920
movl %r12d, %edi
movl %r13d, %esi
callq 0x1116c
movl %eax, %ebp
movq 0x40(%rsp), %rdi
movl %r13d, %esi
callq 0x1116c
movl %ebp, 0x39ae70(%rip)    # 0x3ab968
movl %eax, 0x39aeaa(%rip)    # 0x3ab9a8
andl $0x0, 0x39ae67(%rip)    # 0x3ab96c
andl $0x0, 0x39aea0(%rip)    # 0x3ab9ac
movq %r14, %rdi
movq %r15, %rsi
callq 0x113b0
movl %eax, %r15d
leaq 0x118(%rsp), %rsi
movq %r14, %rdi
callq 0x11578
movl %r15d, 0x39ae3f(%rip)   # 0x3ab970
movl %eax, 0x39ae79(%rip)    # 0x3ab9b0
leaq 0x118(%rsp), %rsi
movq %r14, %rdi
callq 0x1174b
movl %eax, 0x39ae27(%rip)    # 0x3ab974
andl $0x0, 0x39ae60(%rip)    # 0x3ab9b4
andl $0x0, 0x39ae1d(%rip)    # 0x3ab978
andq $0x0, 0x39ae55(%rip)    # 0x3ab9b8
movl 0x58(%rsp), %eax
movl %eax, 0x39ae0f(%rip)    # 0x3ab97c
leaq 0x39ac2c(%rip), %rdi    # 0x3ab7a0
leaq 0x18551(%rip), %rsi     # 0x290cc
callq 0x53b0
leaq 0x248c1(%rip), %r14     # 0x35448
cvtsi2sdl (%r14), %xmm1
movsd 0x20(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x56a0
leaq 0x18544(%rip), %rsi     # 0x290e9
movq %rax, %rdi
callq 0x53b0
cvtsi2sdl (%r14), %xmm1
movsd 0x30(%rsp), %xmm0
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x56a0
leaq 0x18528(%rip), %rsi     # 0x290f3
movq %rax, %rdi
callq 0x53b0
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
andl $0xfffff7ff, 0x18(%rax,%rdx) # imm = 0xFFFFF7FF
movq -0x18(%rcx), %rcx
movq $0x6, 0x10(%rax,%rcx)
movq 0x118(%rsp), %r15
cvtsi2sdl 0x2c(%r15), %xmm0
mulsd 0x18153(%rip), %xmm0    # 0x28d58
mulsd 0x18153(%rip), %xmm0    # 0x28d60
movq %rax, %rdi
callq 0x56a0
leaq 0x184e2(%rip), %rsi     # 0x290fe
movq %rax, %rdi
callq 0x53b0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x6, 0x10(%rax,%rcx)
cvtsi2sdl 0x2c(%r15), %xmm0
mulsd 0x18126(%rip), %xmm0    # 0x28d68
addsd 0x18126(%rip), %xmm0    # 0x28d70
mulsd 0x18106(%rip), %xmm0    # 0x28d58
movq %rax, %rdi
callq 0x56a0
leaq 0x184a4(%rip), %rsi     # 0x29105
movq %rax, %rdi
callq 0x53b0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x6, 0x10(%rax,%rcx)
cvtsi2sd %ebx, %xmm0
mulsd 0x180d3(%rip), %xmm0    # 0x28d58
mulsd 0x180eb(%rip), %xmm0    # 0x28d78
movq %rax, %rdi
callq 0x56a0
leaq 0x1846e(%rip), %rsi     # 0x2910a
movq %rax, %rdi
callq 0x53b0
leaq 0x18466(%rip), %rsi     # 0x29111
movq %rax, %rdi
callq 0x53b0
cvtsi2sdl 0x10(%rsp), %xmm0
cvtsi2sdl (%r14), %xmm1
divsd %xmm1, %xmm0
movq %rax, %rdi
callq 0x56a0
leaq 0x39aad7(%rip), %rsi    # 0x3ab7a8
leaq 0x118(%rsp), %rdi
callq 0x5670
leaq 0x1e8(%rsp), %rdi
leaq 0x118(%rsp), %rbx
movq %rbx, %rsi
callq 0x54c0
movq %rbx, %rdi
callq 0x5858
leaq 0x1552f(%rip), %rsi     # 0x26234
leaq 0x118(%rsp), %rdi
leaq 0x6c(%rsp), %rdx
callq 0x9c42
leaq 0x39aa8a(%rip), %rdi    # 0x3ab7a8
leaq 0x118(%rsp), %rsi
callq 0x55f0
leaq 0x118(%rsp), %rdi
callq 0x5858
leaq 0x39aa61(%rip), %rdi    # 0x3ab7a0
movq 0x39aa5a(%rip), %rax    # 0x3ab7a0
movq -0x18(%rax), %rax
leaq 0x39aa3f(%rip), %rcx    # 0x3ab790
movq $0x15, 0x20(%rax,%rcx)
leaq 0x181fa(%rip), %rsi     # 0x28f5b
callq 0x53b0
leaq 0x181f9(%rip), %rsi     # 0x28f66
movq %rax, %rdi
callq 0x53b0
leaq 0x18218(%rip), %rsi     # 0x28f94
movq %rax, %rdi
callq 0x53b0
leaq 0x1824c(%rip), %rsi     # 0x28fd7
movq %rax, %rdi
callq 0x53b0
leaq 0x18280(%rip), %rdi     # 0x2901a
pushq $0x8
popq %rsi
callq 0x10f05
leaq 0x18286(%rip), %rdi     # 0x2902f
pushq $0x9
popq %rsi
callq 0x10f05
leaq 0x1828a(%rip), %rdi     # 0x29042
pushq $0x1
popq %rsi
callq 0x10f05
leaq 0x18281(%rip), %rdi     # 0x29048
pushq $0x2
popq %rsi
callq 0x10f05
leaq 0x1827a(%rip), %rdi     # 0x29050
pushq $0x3
popq %rsi
callq 0x10f05
leaq 0x18273(%rip), %rdi     # 0x29058
pushq $0x4
popq %rsi
callq 0x10f05
leaq 0x1826a(%rip), %rdi     # 0x2905e
pushq $0x5
popq %rsi
callq 0x10f05
leaq 0x18262(%rip), %rdi     # 0x29065
pushq $0xa
popq %rsi
callq 0x10f05
leaq 0x1825c(%rip), %rdi     # 0x2906e
pushq $0x6
popq %rsi
callq 0x10f05
leaq 0x18259(%rip), %rdi     # 0x2907a
pushq $0xb
popq %rsi
callq 0x10f05
leaq 0x18252(%rip), %rdi     # 0x29082
pushq $0xc
popq %rsi
callq 0x10f05
leaq 0x18250(%rip), %rdi     # 0x2908f
pushq $0xd
popq %rsi
callq 0x10f05
leaq 0x180de(%rip), %rdi     # 0x28f2c
pushq $0xe
popq %rsi
callq 0x10f05
leaq 0x39a943(%rip), %rdi    # 0x3ab7a0
leaq 0x18173(%rip), %rsi     # 0x28fd7
callq 0x53b0
leaq 0x18231(%rip), %rdi     # 0x290a1
pushq $0xf
popq %rsi
callq 0x10f05
leaq 0x39a921(%rip), %rdi    # 0x3ab7a0
leaq 0x1e8(%rsp), %rsi
callq 0x5340
leaq 0x39a915(%rip), %rsi    # 0x3ab7a8
movq 0x108(%rsp), %rdi
callq 0x5670
leaq 0x1e8(%rsp), %rdi
callq 0x5858
movq 0x108(%rsp), %rax
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x10eed
jmp 0x10eed
jmp 0x10ed1
jmp 0x10eed
jmp 0x10eed
movq %rax, %rbx
leaq 0x118(%rsp), %rdi
callq 0x5858
jmp 0x10ef0
jmp 0x10eed
jmp 0x10eed
jmp 0x10eed
jmp 0x10eed
jmp 0x10eed
movq %rax, %rbx
leaq 0x1e8(%rsp), %rdi
callq 0x5858
movq %rbx, %rdi
callq 0x5780