// File: /workspace/github_cpp_makefile_star2_O3/DoubleString[P]RtConverter/src/Rtklib/ublox.cpp
// Function: bamboo::decode_ubx(bamboo::raw_t*)
static int decode_ubx(raw_t *raw)
{
    int type=(U1(raw->buff+2)<<8)+U1(raw->buff+3);
    
    trace(3,"decode_ubx: type=%04x len=%d\n",type,raw->len);
    
    /* checksum */
    if (!checksum(raw->buff,raw->len)) {
        trace(2,"ubx checksum error: type=%04x len=%d\n",type,raw->len);
        return -1;
    }
    switch (type) {
        case ID_RXMRAW  : return decode_rxmraw  (raw);
        case ID_RXMRAWX : return decode_rxmrawx (raw);
        case ID_RXMSFRB : return decode_rxmsfrb (raw);
        case ID_RXMSFRBX: return decode_rxmsfrbx(raw);
        case ID_NAVSOL  : return decode_navsol  (raw);
        case ID_NAVTIME : return decode_navtime (raw);
        case ID_TRKMEAS : return decode_trkmeas (raw);
        case ID_TRKD5   : return decode_trkd5   (raw);
        case ID_TRKSFRBX: return decode_trksfrbx(raw);
    }
    if (raw->outtype) {
        sprintf(raw->msgtype,"UBX 0x%02X 0x%02X (%4d)",type>>8,type&0xF,
                raw->len);
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %rdi, %r14
leaq 0x81a90(%rdi), %rbx
movzbl 0x81a92(%rdi), %eax
movl %eax, -0x48(%rbp)
movl %eax, %r15d
shll $0x8, %r15d
movzbl 0x81a93(%rdi), %r12d
orl %r12d, %r15d
movl 0x81a78(%rdi), %ecx
leaq 0x19f2a(%rip), %rsi     # 0x78b23
xorl %r13d, %r13d
movl $0x3, %edi
movl %r15d, %edx
xorl %eax, %eax
callq 0x4d55d
movslq 0x81a78(%r14), %r8
leal -0x2(%r8), %eax
movl $0x0, %ecx
cmpq $0x5, %r8
jl 0x5ec41
movl %eax, %edx
addq $-0x2, %rdx
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r13d, %r13d
addb 0x81a92(%r14,%rsi), %r13b
addb %r13b, %cl
incq %rsi
cmpq %rsi, %rdx
jne 0x5ec2e
cltq
cmpb (%rbx,%rax), %r13b
jne 0x5ed4d
movq %rbx, %r13
cmpb -0x1(%rbx,%r8), %cl
jne 0x5ed4d
cmpl $0x309, %r15d           # imm = 0x309
movq %r14, -0x30(%rbp)
jg 0x5ed81
leal -0x210(%r15), %eax
cmpl $0x5, %eax
ja 0x5ee25
leaq 0x189dd(%rip), %rcx     # 0x77660
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq $0x0, -0x160(%rbp)
leaq 0x19ee1(%rip), %rsi     # 0x78b7f
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rax
cmpl $0x0, 0x81a8c(%rax)
je 0x5ece0
leaq 0x70e70(%rax), %rdi
movl 0x81a78(%rax), %edx
movzbl 0x81a9c(%rax), %ecx
leaq 0x19ec1(%rip), %rsi     # 0x78b96
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rax
leaq 0x82a90(%rax), %rdi
leaq 0x19ec5(%rip), %rsi     # 0x78bb3
movq %rdi, -0xc0(%rbp)
callq 0x8160
testq %rax, %rax
je 0x5ed17
leaq 0x19eb4(%rip), %rsi     # 0x78bba
leaq -0x160(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8610
movq -0x30(%rbp), %rcx
movzbl 0x81a9c(%rcx), %r12d
movl 0x81a78(%rcx), %edx
leal (%r12,%r12,2), %eax
leal 0xc(,%rax,8), %eax
cmpl %eax, %edx
jge 0x5f269
leaq 0x19e81(%rip), %rsi     # 0x78bc4
movl $0x2, %edi
movl %r12d, %ecx
jmp 0x5ed5f
leaq 0x19ded(%rip), %rsi     # 0x78b41
movl $0x2, %edi
movl %r15d, %edx
movl %r8d, %ecx
xorl %eax, %eax
callq 0x4d55d
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %r15d, %eax
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x30a, %r15d           # imm = 0x30A
je 0x5effd
cmpl $0x30f, %r15d           # imm = 0x30F
je 0x5f0a8
cmpl $0x310, %r15d           # imm = 0x310
jne 0x5ee95
leaq 0x1a370(%rip), %rsi     # 0x7911f
xorl %r15d, %r15d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rsi
cmpl $0x0, 0x81a8c(%rsi)
je 0x5eded
leaq 0x70e70(%rsi), %rdi
movl 0x81a78(%rsi), %edx
leaq 0x1a355(%rip), %rsi     # 0x79137
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rsi
movq (%rsi), %r12
testq %r12, %r12
je 0x5ed6c
movzbl 0x81a98(%rsi), %ecx
movl 0x81a78(%rsi), %edx
imull $0x38, %ecx, %eax
addl $0x70, %eax
cmpl %eax, %edx
jge 0x5f716
leaq 0x1a331(%rip), %rsi     # 0x7914c
movl $0x2, %edi
jmp 0x5ed5f
cmpl $0x106, %r15d           # imm = 0x106
je 0x5f17a
cmpl $0x120, %r15d           # imm = 0x120
jne 0x5ee95
leaq 0x1a2b0(%rip), %rsi     # 0x790f2
xorl %r15d, %r15d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rcx
cmpl $0x0, 0x81a8c(%rcx)
je 0x5ee80
leaq 0x70e70(%rcx), %rdi
movl 0x81a78(%rcx), %edx
leaq 0x1a295(%rip), %rsi     # 0x7910a
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rcx
movb 0x81aa1(%rcx), %al
notb %al
testb $0x3, %al
jne 0x5ed6c
jmp 0x5f1cf
cmpl $0x0, 0x81a8c(%r14)
je 0x5fb94
addq $0x70e70, %r14          # imm = 0x70E70
andl $0xf, %r12d
leaq 0x19cb2(%rip), %rsi     # 0x78b67
xorl %r15d, %r15d
movq %r14, %rdi
movl -0x48(%rbp), %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x8120
jmp 0x5ed6c
movq $0x0, -0x90(%rbp)
movl $0x0, -0xc4(%rbp)
leaq 0x19d52(%rip), %rsi     # 0x78c3b
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rcx
movl 0x81a78(%rcx), %edx
cmpl $0x17, %edx
jg 0x5f227
leaq 0x19d41(%rip), %rsi     # 0x78c53
jmp 0x5ef73
leaq 0x19e73(%rip), %rsi     # 0x78d8e
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rax
cmpl $0x0, 0x81a8c(%rax)
je 0x5ef5d
leaq 0x70e70(%rax), %rdi
movl 0x81a78(%rax), %edx
movzbl 0x81a97(%rax), %ecx
leaq 0x19e54(%rip), %rsi     # 0x78da6
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rax
movl 0x81a78(%rax), %edx
cmpl $0x29, %edx
jg 0x5f5d5
leaq 0x19e50(%rip), %rsi     # 0x78dc3
movl $0x2, %edi
jmp 0x5f21b
leaq 0x19ea9(%rip), %rsi     # 0x78e2d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rsi
cmpl $0x0, 0x81a8c(%rsi)
je 0x5efce
leaq 0x70e70(%rsi), %rdi
movl 0x81a78(%rsi), %edx
movzbl 0x81a96(%rsi), %ecx
movzbl 0x81a97(%rsi), %r8d
leaq 0x19e83(%rip), %rsi     # 0x78e46
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rsi
movzbl 0x81a96(%rsi), %edx
cmpq $0x6, %rdx
ja 0x5fafc
leaq 0x186ce(%rip), %rax     # 0x776b4
movslq (%rax,%rdx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorl %r12d, %r12d
movl $0x1, %r14d
jmp 0x5fb2e
leaq 0x1a1bf(%rip), %rsi     # 0x791c3
xorl %r15d, %r15d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rax
cmpl $0x0, 0x81a8c(%rax)
je 0x5f042
leaq 0x70e70(%rax), %rdi
movl 0x81a78(%rax), %edx
leaq 0x1a1a2(%rip), %rsi     # 0x791d9
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0x5ed6c
movsd 0x8(%rax), %xmm0
callq 0x4f9b0
movq -0x30(%rbp), %rcx
movq (%rcx), %rsi
movq -0x30(%rbp), %rcx
movsd 0x8(%rcx), %xmm1
movq %rax, %rdi
callq 0x4f51b
movq -0x30(%rbp), %rsi
movapd %xmm0, %xmm3
movzbl 0x81a96(%rsi), %edi
movl $0x56, %r12d
movl $0x38, %r8d
cmpl $0x3, %edi
je 0x5f99f
cmpl $0x6, %edi
jne 0x5f999
movl $0x40, %r8d
jmp 0x5f99f
leaq 0x1a185(%rip), %rsi     # 0x79234
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rsi
cmpl $0x0, 0x81a8c(%rsi)
je 0x5f0f9
leaq 0x70e70(%rsi), %rdi
movl 0x81a78(%rsi), %edx
movzbl 0x81a97(%rsi), %ecx
movzbl 0x81a98(%rsi), %r8d
leaq 0x1a15f(%rip), %rsi     # 0x7924d
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rsi
movzbl 0x81a97(%rsi), %edx
cmpl $0x7, %edx
jae 0x5f20f
movl $0x6f, %eax
btl %edx, %eax
jae 0x5f20f
leaq 0x198b2(%rip), %rax     # 0x789d0
movl (%rax,%rdx,4), %r14d
movl %edx, %eax
leaq 0x198c1(%rip), %rcx     # 0x789ec
movzbl 0x81a98(%rsi), %r15d
addl (%rcx,%rax,4), %r15d
movl %r14d, %edi
movl %r15d, %esi
callq 0x4d28d
testl %eax, %eax
je 0x5fc61
xorl %r15d, %r15d
leal -0x1(%r14), %ecx
cmpl $0x7, %ecx
ja 0x606b9
leaq 0x18517(%rip), %rdx     # 0x77678
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
movq -0x30(%rbp), %rdi
jmpq *%rcx
movl %eax, %esi
movl $0xd, %edx
jmp 0x5fb6f
leaq 0x19f45(%rip), %rsi     # 0x790c6
xorl %r15d, %r15d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rcx
cmpl $0x0, 0x81a8c(%rcx)
je 0x5f1bf
leaq 0x70e70(%rcx), %rdi
movl 0x81a78(%rcx), %edx
leaq 0x19f29(%rip), %rsi     # 0x790dd
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rcx
movb 0x81aa1(%rcx), %al
notb %al
testb $0xc, %al
jne 0x5ed6c
cvtsi2sdl 0x81a96(%rcx), %xmm0
cvtsi2sdl 0x81a9a(%rcx), %xmm1
mulsd 0xdb21(%rip), %xmm1     # 0x6cd08
movzwl 0x81a9e(%rcx), %edi
mulsd 0xcb82(%rip), %xmm0     # 0x6bd78
addsd %xmm1, %xmm0
movq %rcx, %rbx
callq 0x4f24a
movq %rax, (%rbx)
movsd %xmm0, 0x8(%rbx)
jmp 0x5ed6c
leaq 0x1a05b(%rip), %rsi     # 0x79271
movl $0x2, %edi
xorl %eax, %eax
callq 0x4d55d
jmp 0x5ed66
movsd 0x81a96(%rcx), %xmm0
movzwl 0x81a9e(%rcx), %edi
movl %edi, -0xd4(%rbp)
movzbl 0x81aa1(%rcx), %r12d
movl %r12d, %eax
shll $0x5, %eax
orl $0x18, %eax
cmpl %eax, %edx
jae 0x5f81a
leaq 0x19a19(%rip), %rsi     # 0x78c75
movl $0x2, %edi
movl %r12d, %ecx
jmp 0x5ed5f
movl 0x81a96(%rcx), %eax
cvtsi2sd %rax, %xmm0
movzwl 0x81a9a(%rcx), %r13d
movl %r13d, -0x90(%rbp)
mulsd 0xcaed(%rip), %xmm0     # 0x6bd78
movl %r13d, %edi
movq %rcx, %r14
callq 0x4f24a
testl %r13d, %r13d
je 0x5fab2
movq %rax, %rbx
movsd -0x160(%rbp), %xmm1
xorpd %xmm3, %xmm3
xorpd %xmm2, %xmm2
movapd %xmm2, -0x80(%rbp)
ucomisd %xmm3, %xmm1
jbe 0x5f32b
leaq -0x90(%rbp), %rsi
movq %rbx, %rdi
movsd %xmm0, -0x40(%rbp)
callq 0x4f2b1
movapd %xmm0, %xmm1
movsd -0x160(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
divsd %xmm0, %xmm1
movapd %xmm1, -0x80(%rbp)
movsd 0xc985(%rip), %xmm0     # 0x6bc78
addsd %xmm1, %xmm0
callq 0x8ac0
movapd -0x80(%rbp), %xmm2
subsd %xmm0, %xmm2
mulsd -0x48(%rbp), %xmm2
movapd 0xb7be(%rip), %xmm1     # 0x6aad0
movapd %xmm2, -0x80(%rbp)
xorpd %xmm2, %xmm1
movq %rbx, %rdi
movsd -0x40(%rbp), %xmm0
callq 0x4f4e7
movq %rax, %rbx
movq -0x30(%rbp), %r14
movq (%r14), %rsi
movsd 0x8(%r14), %xmm1
movq %rbx, %rdi
movsd %xmm0, -0x40(%rbp)
callq 0x4f51b
cmpl $0x40, %r12d
movl $0x40, %eax
cmovbl %r12d, %eax
movl %eax, -0x68(%rbp)
testl %r12d, %r12d
je 0x5fbd4
leaq 0x81a9e(%r14), %r12
movapd -0x80(%rbp), %xmm3
xorpd 0xb75e(%rip), %xmm3     # 0x6aad0
leaq 0x7f670(%r14), %rax
movq %rax, -0x100(%rbp)
movsd 0xb740(%rip), %xmm4     # 0x6aac8
cmpltpd %xmm0, %xmm4
movsd 0xa58b(%rip), %xmm1     # 0x69920
movapd %xmm0, -0xb0(%rbp)
movapd %xmm0, %xmm2
cmpltpd %xmm1, %xmm2
orpd %xmm4, %xmm2
movss %xmm2, -0x50(%rbp)
movsd 0xb591(%rip), %xmm0     # 0x6a948
mulsd %xmm3, %xmm0
movsd %xmm0, -0x88(%rbp)
mulsd 0xc9d5(%rip), %xmm3     # 0x6bda0
movapd %xmm3, -0x80(%rbp)
xorl %r15d, %r15d
xorl %eax, %eax
xorl %ecx, %ecx
movq %r14, %r8
movsd -0x40(%rbp), %xmm0
movq %rbx, -0x60(%rbp)
movl %eax, -0x34(%rbp)
movq 0x1d28(%r8), %rax
movl %ecx, -0x48(%rbp)
movslq %ecx, %r13
movq %r13, %rcx
shlq $0x5, %rcx
leaq (%rcx,%rcx,2), %r14
movq %rbx, (%rax,%r14)
movsd %xmm0, 0x8(%rax,%r14)
movsd (%r12), %xmm0
addsd -0x88(%rbp), %xmm0
movsd %xmm0, 0x20(%rax,%r14)
movsd 0x8(%r12), %xmm0
addsd -0x80(%rbp), %xmm0
movsd %xmm0, 0x38(%rax,%r14)
movss 0x10(%r12), %xmm0
movss %xmm0, 0x50(%rax,%r14)
movzbl 0x14(%r12), %ecx
movl %ecx, -0x58(%rbp)
movsbl 0x16(%r12), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %ecx, %xmm0
mulsd 0xb44b(%rip), %xmm0     # 0x6a8a8
addsd 0xc813(%rip), %xmm0     # 0x6bc78
cvttsd2si %xmm0, %ecx
movb %cl, 0x12(%rax,%r14)
movb 0x17(%r12), %al
movq 0x1d28(%r8), %rcx
movb %al, 0x15(%rcx,%r14)
movq 0x1d28(%r8), %rax
movb $0x1, 0x18(%rax,%r14)
movq -0xc0(%rbp), %rdi
leaq 0x16315(%rip), %rsi     # 0x757af
movq %r8, %rbx
callq 0x8160
testq %rax, %rax
je 0x5f4d1
movq 0x1d28(%rbx), %rax
leaq (,%r13,2), %rcx
addq %r13, %rcx
shlq $0x5, %rcx
movsd 0x20(%rax,%rcx), %xmm0
xorpd 0xb605(%rip), %xmm0     # 0x6aad0
movlpd %xmm0, 0x20(%rax,%rcx)
movl -0x58(%rbp), %ebx
cmpb $0x78, %bl
movl $0x1, %edi
sbbl $-0x1, %edi
movl %ebx, %esi
callq 0x4d28d
testl %eax, %eax
je 0x5f599
movq -0x30(%rbp), %r8
movq 0x1d28(%r8), %rcx
leaq (,%r13,2), %rdx
addq %r13, %rdx
shlq $0x5, %rdx
movb %al, 0x10(%rcx,%rdx)
decl %eax
cltq
leaq (%rax,%rax,2), %rax
movq -0x100(%rbp), %rsi
leaq (%rsi,%rax,8), %rax
movb 0x15(%rcx,%rdx), %cl
orb -0x50(%rbp), %cl
xorpd %xmm0, %xmm0
testb $0x1, %cl
jne 0x5f53b
movsd (%rax), %xmm0
addsd -0xb0(%rbp), %xmm0
movsd %xmm0, (%rax)
xorl %eax, %eax
movq -0x60(%rbp), %rbx
movsd -0x40(%rbp), %xmm0
movq 0x1d28(%r8), %rcx
addq %r14, %rcx
movq %r15, 0x40(%rcx,%rax,8)
movq %r15, 0x28(%rcx,%rax,8)
movl $0x0, 0x54(%rcx,%rax,4)
movb %r15b, 0x16(%rax,%rcx)
movq 0x1d28(%r8), %rcx
addq %r14, %rcx
movb %r15b, 0x13(%rax,%rcx)
movq 0x1d28(%r8), %rcx
addq %r14, %rcx
movb %r15b, 0x19(%rax,%rcx)
incq %rax
cmpq $0x2, %rax
jne 0x5f54a
movl -0x48(%rbp), %ecx
incl %ecx
jmp 0x5f5be
movl $0x2, %edi
leaq 0x19671(%rip), %rsi     # 0x78c16
movl %ebx, %edx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %r8
movq -0x60(%rbp), %rbx
movsd -0x40(%rbp), %xmm0
movl -0x48(%rbp), %ecx
movl -0x34(%rbp), %eax
incl %eax
addq $0x18, %r12
cmpl -0x68(%rbp), %eax
jne 0x5f3e3
jmp 0x5fbde
movzbl 0x81a97(%rax), %r15d
cmpl $0x78, %r15d
movl %r15d, -0x90(%rbp)
movl $0x1, %edi
sbbl $-0x1, %edi
movl %r15d, %esi
callq 0x4d28d
testl %eax, %eax
je 0x5fad0
movl %eax, %r14d
leaq -0x90(%rbp), %rsi
movl %eax, %edi
callq 0x4d2f2
cmpl $0x2, %eax
je 0x5fbf3
xorl %r15d, %r15d
cmpl $0x1, %eax
movq -0x30(%rbp), %rax
jne 0x5ed6c
movl 0x81a9c(%rax), %r12d
shrl $0x2, %r12d
andl $0x7, %r12d
leaq 0x197d1(%rip), %rsi     # 0x78e11
xorl %r15d, %r15d
movl $0x4, %edi
movl %r14d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %rsi
leal -0x6(%r12), %eax
cmpl $-0x5, %eax
jb 0x5ed6c
movl %r14d, %eax
decl %eax
cltq
imulq $0x17c, %rax, %rax      # imm = 0x17C
addq %rsi, %rax
movl %r12d, %edx
shll $0x5, %edx
subq %r12, %rdx
subq %r12, %rdx
addq %rdx, %rax
addq $0x70f52, %rax          # imm = 0x70F52
leaq 0x81a98(%rsi), %rcx
xorl %edx, %edx
movl $0x1, %esi
movl $0x17, %edi
movl %esi, %r8d
movzbl (%rax), %r9d
movl (%rcx), %r10d
xorl %r11d, %r11d
btl %edi, %r10d
setb %r11b
leal (%r11,%r9,2), %r9d
movb %r9b, (%rax)
movl %r8d, %r9d
andl $0x7, %r9d
cmpl $0x1, %r9d
adcq $0x0, %rax
incl %r8d
addl $-0x1, %edi
jb 0x5f6a3
incl %edx
addq $0x4, %rcx
addl $0x18, %esi
cmpl $0xa, %edx
jne 0x5f69b
xorl %r15d, %r15d
cmpl $0x5, %r12d
je 0x60bbe
cmpl $0x4, %r12d
movq -0x30(%rbp), %rsi
je 0x60bab
cmpl $0x3, %r12d
jne 0x5ed6c
movl %r14d, %edi
callq 0x610d6
movl %eax, %r15d
jmp 0x5ed6c
testl %ecx, %ecx
je 0x5ed6c
leaq 0x81afe(%rsi), %r15
movl %ecx, %eax
imulq $0x38, %rax, %rax
movsd 0xb27d(%rip), %xmm0     # 0x6a9b0
xorl %edi, %edi
cmpb $0x4, 0x81aff(%rsi,%rdi)
jb 0x5f78a
cmpb $0x0, 0x81b02(%rsi,%rdi)
jne 0x5f78a
movl 0x81b16(%rsi,%rdi), %edx
xorps %xmm1, %xmm1
cvtsi2sdl 0x81b1a(%rsi,%rdi), %xmm1
xorps %xmm2, %xmm2
cvtsi2sd %rdx, %xmm2
mulsd 0x17edc(%rip), %xmm1    # 0x77648
addsd %xmm2, %xmm1
mulsd 0xd588(%rip), %xmm1     # 0x6cd00
divsd 0xbcf8(%rip), %xmm1     # 0x6b478
ucomisd %xmm0, %xmm1
jbe 0x5f78a
movapd %xmm1, %xmm0
addq $0x38, %rdi
cmpl %edi, %eax
jne 0x5f735
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
ja 0x5fb94
movl %ecx, %r14d
addsd 0x17ea5(%rip), %xmm0    # 0x77650
divsd 0xc5d5(%rip), %xmm0     # 0x6bd88
addsd 0xc4bd(%rip), %xmm0     # 0x6bc78
movq %rsi, %rbx
callq 0x8ac0
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
mulsd 0xc5b5(%rip), %xmm0     # 0x6bd88
movapd %xmm0, -0xc0(%rbp)
movsd 0x8(%rbx), %xmm0
leaq -0x160(%rbp), %rsi
movq %r12, %rdi
callq 0x4f2b1
movapd -0xc0(%rbp), %xmm2
movsd 0xc5d1(%rip), %xmm1     # 0x6bdd0
addsd %xmm0, %xmm1
ucomisd %xmm2, %xmm1
jbe 0x606ee
movl -0x160(%rbp), %edi
incl %edi
jmp 0x60704
testl %edi, %edi
je 0x5fc43
movzbl 0x81aa3(%rcx), %r14d
callq 0x4f24a
movq -0x30(%rbp), %rcx
movq %rax, %r13
cmpl $0x0, 0x81a8c(%rcx)
movsd %xmm0, -0xb0(%rbp)
je 0x5f896
leaq -0x160(%rbp), %r15
movq %r13, %rdi
movsd -0xb0(%rbp), %xmm0
movq %r15, %rsi
movl $0x2, %edx
callq 0x4fcf1
movq -0x30(%rbp), %rax
leaq 0x70e70(%rax), %rdi
movq -0x30(%rbp), %rax
movl 0x81a78(%rax), %edx
leaq 0x19449(%rip), %rsi     # 0x78ccb
movq %r15, %rcx
movl %r12d, %r8d
movl %r14d, %r9d
xorl %eax, %eax
callq 0x8120
movq -0x30(%rbp), %rcx
leaq 0x82a90(%rcx), %r15
leaq 0x1930f(%rip), %rsi     # 0x78bb3
movq %r15, %rdi
callq 0x8160
testq %rax, %rax
je 0x5f8c9
leaq 0x19302(%rip), %rsi     # 0x78bba
leaq -0x90(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8610
leaq 0x19428(%rip), %rsi     # 0x78cf8
movq %r15, %rdi
callq 0x8160
testq %rax, %rax
je 0x5f8f5
leaq 0x1941f(%rip), %rsi     # 0x78d03
leaq -0xc4(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8610
movsd -0x90(%rbp), %xmm0
xorpd %xmm2, %xmm2
xorpd %xmm1, %xmm1
movapd %xmm1, -0xf0(%rbp)
ucomisd %xmm2, %xmm0
jbe 0x5fc97
leaq -0xd4(%rbp), %rsi
movq %r13, %rdi
movsd -0xb0(%rbp), %xmm0
callq 0x4f2b1
movapd %xmm0, %xmm1
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
divsd %xmm0, %xmm1
movapd %xmm1, -0xf0(%rbp)
movsd 0xc325(%rip), %xmm0     # 0x6bc78
addsd %xmm1, %xmm0
callq 0x8ac0
movapd -0xf0(%rbp), %xmm2
subsd %xmm0, %xmm2
mulsd -0x48(%rbp), %xmm2
movapd 0xb15b(%rip), %xmm1     # 0x6aad0
movapd %xmm2, -0xf0(%rbp)
xorpd %xmm2, %xmm1
movq %r13, %rdi
movsd -0xb0(%rbp), %xmm0
callq 0x4f4e7
movq %rax, %r13
jmp 0x5fc9f
movl $0x4e, %r12d
movslq 0x81a78(%rsi), %rax
addq $-0x2, %rax
cmpq %rax, %r12
jge 0x5ed6c
leaq (%r12,%r13), %r14
addsd 0xb0f1(%rip), %xmm3     # 0x6aab0
movsd 0xafe9(%rip), %xmm0     # 0x6a9b0
movq %r14, %rcx
cmpb $0x4, 0x29(%rcx)
jb 0x5fa12
movl (%rcx), %edx
xorps %xmm1, %xmm1
cvtsi2sdl 0x4(%rcx), %xmm1
xorps %xmm2, %xmm2
cvtsi2sd %rdx, %xmm2
mulsd 0x17c5e(%rip), %xmm1    # 0x77648
addsd %xmm2, %xmm1
mulsd 0xd30a(%rip), %xmm1     # 0x6cd00
divsd 0xba7a(%rip), %xmm1     # 0x6b478
cmpb $0x6, 0x38(%rcx)
jne 0x5fa08
subsd %xmm3, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x5fa12
movapd %xmm1, %xmm0
addq %r8, %rcx
movq %rcx, %rdx
subq %r13, %rdx
cmpq %rax, %rdx
jl 0x5f9ca
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
ja 0x5ed6c
movq %r8, -0x48(%rbp)
movl %edi, %r15d
movsd %xmm3, -0x88(%rbp)
addsd 0x17c0b(%rip), %xmm0    # 0x77650
divsd 0xc33b(%rip), %xmm0     # 0x6bd88
addsd 0xc223(%rip), %xmm0     # 0x6bc78
movq %rsi, %rbx
callq 0x8ac0
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
mulsd 0xc31b(%rip), %xmm0     # 0x6bd88
movapd %xmm0, -0x80(%rbp)
movq (%rbx), %rdi
movsd 0x8(%rbx), %xmm0
leaq -0x160(%rbp), %rsi
callq 0x4f2b1
movapd -0x80(%rbp), %xmm2
movsd 0xc33d(%rip), %xmm1     # 0x6bdd0
addsd %xmm0, %xmm1
ucomisd %xmm2, %xmm1
movl %r15d, -0x34(%rbp)
jbe 0x602f3
movl -0x160(%rbp), %edi
incl %edi
jmp 0x60309
movl 0x81a78(%r14), %edx
leaq 0x1912d(%rip), %rsi     # 0x78bed
xorl %r15d, %r15d
movl $0x3, %edi
movl %r12d, %ecx
jmp 0x5fc55
leaq 0x1930e(%rip), %rsi     # 0x78de5
movl $0x2, %edi
movl %r15d, %edx
jmp 0x5f21b
xorl %r12d, %r12d
movl $0x8, %r14d
jmp 0x5fb1c
xorl %edx, %edx
movl $0x4, %r14d
movb $0x1, %r12b
jmp 0x5fb2e
leaq 0x19367(%rip), %rsi     # 0x78e6a
jmp 0x5f216
xorl %r12d, %r12d
movl $0x2, %r14d
jmp 0x5fb1c
xorl %r12d, %r12d
movl $0x20, %r14d
xorl %edx, %edx
jmp 0x5fb2e
movl $0xc0, %edx
movl $0x10, %r14d
xorl %r12d, %r12d
movzbl 0x81a97(%rsi), %r15d
addl %edx, %r15d
movl %r14d, %edi
movl %r15d, %esi
callq 0x4d28d
testl %eax, %eax
je 0x5fb85
xorl %r15d, %r15d
leal -0x1(%r14), %ecx
cmpl $0x7, %ecx
ja 0x5fb9c
leaq 0x17b75(%rip), %rdx     # 0x776d0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
movq -0x30(%rbp), %rdi
jmpq *%rcx
movl %eax, %esi
movl $0x8, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x61f11
cmpl $0xff, %r15d
sete %al
testb %al, %r12b
je 0x5fbbc
xorl %r15d, %r15d
jmp 0x5ed6c
cmpl $0x10, %r14d
movq -0x30(%rbp), %rdi
je 0x5fbc8
cmpl $0x20, %r14d
jne 0x5ed6c
movl %eax, %esi
movl $0x8, %edx
jmp 0x606d8
leaq 0x192ca(%rip), %rsi     # 0x78e8d
jmp 0x5fc68
movl %eax, %esi
movl $0x8, %edx
jmp 0x60b54
xorl %ecx, %ecx
movq %r14, %r8
movsd -0x40(%rbp), %xmm0
movq %rbx, (%r8)
movsd %xmm0, 0x8(%r8)
movl %ecx, 0x1d20(%r8)
jmp 0x60b42
movq -0x30(%rbp), %rcx
movq 0x81ab8(%rcx), %rax
leaq -0x160(%rbp), %rdx
movq %rax, 0x20(%rdx)
movups 0x81a98(%rcx), %xmm0
movupd 0x81aa8(%rcx), %xmm1
movapd %xmm1, 0x10(%rdx)
movaps %xmm0, (%rdx)
movq (%rcx), %rdi
movsd 0x8(%rcx), %xmm0
movl -0x90(%rbp), %esi
addq $0x70e44, %rcx          # imm = 0x70E44
callq 0x60fc8
leal (%rax,%rax,2), %r15d
jmp 0x5ed6c
leaq 0x19056(%rip), %rsi     # 0x78ca0
xorl %r15d, %r15d
movl $0x3, %edi
movl %r12d, %ecx
xorl %eax, %eax
callq 0x4d55d
jmp 0x5ed6c
leaq 0x1962c(%rip), %rsi     # 0x79294
movl $0x2, %edi
movl %r14d, %edx
movl %r15d, %ecx
jmp 0x5ed5f
movl %eax, %esi
movl $0x8, %edx
jmp 0x60b71
movzbl 0x81a99(%rdi), %ecx
movl %eax, %esi
movl $0x8, %edx
jmp 0x60b95
movsd -0xb0(%rbp), %xmm0
movq -0x30(%rbp), %r10
movq %r13, -0x108(%rbp)
testl %r12d, %r12d
je 0x6069a
movl %r14d, -0xc8(%rbp)
leaq 0x81aa6(%r10), %r14
movapd 0xae07(%rip), %xmm1     # 0x6aad0
xorpd -0xf0(%rbp), %xmm1
leaq 0x7f670(%r10), %rax
movq %rax, -0x118(%rbp)
leaq 0x81860(%r10), %rax
movq %rax, -0x110(%rbp)
xorl %r13d, %r13d
movsd 0xc0a8(%rip), %xmm2     # 0x6bda0
movapd %xmm1, -0x180(%rbp)
mulsd %xmm1, %xmm2
movsd %xmm2, -0x168(%rbp)
xorl %edi, %edi
xorl %r15d, %r15d
movl %r12d, -0x94(%rbp)
movsd %xmm0, -0xb0(%rbp)
movzbl 0x1e(%r14), %ebx
xorpd %xmm1, %xmm1
testb $0x1, %bl
je 0x5fd33
movsd (%r14), %xmm1
movsd 0x8(%r14), %xmm2
movzbl 0x1c(%r14), %r9d
andl $0xf, %r9d
xorpd %xmm0, %xmm0
cmpb $0x6, %r9b
jae 0x5fd50
movapd %xmm2, %xmm0
movl %r15d, -0x48(%rbp)
xorpd %xmm3, %xmm3
testb $0x2, %bl
je 0x5fd61
movapd %xmm0, %xmm3
movzbl 0x14(%r14), %edx
cmpeqsd 0xac81(%rip), %xmm2     # 0x6a9f0
cmpq $0x6, %rdx
ja 0x5fe2b
movss 0x10(%r14), %xmm0
movzbl 0x15(%r14), %eax
movb 0x16(%r14), %cl
movb %cl, -0xc0(%rbp)
movzbl 0x17(%r14), %r11d
movzwl 0x18(%r14), %r10d
movb 0x1a(%r14), %r8b
leaq 0x1794d(%rip), %rsi     # 0x776f0
movslq (%rsi,%rdx,4), %rcx
addq %rsi, %rcx
movl %edi, -0x34(%rbp)
movsd %xmm1, -0x58(%rbp)
movss %xmm0, -0x68(%rbp)
movb %r8b, -0x60(%rbp)
movl %r9d, -0xcc(%rbp)
movapd %xmm2, -0x80(%rbp)
movw %r10w, -0x88(%rbp)
movapd %xmm3, -0x100(%rbp)
movl %r11d, -0xd0(%rbp)
movl %ebx, -0x50(%rbp)
jmpq *%rcx
movl $0x0, -0x4c(%rbp)
movl $0x1, -0x40(%rbp)
xorl %r12d, %r12d
movl $0x1, %edi
jmp 0x5fe85
movl $0x0, -0x4c(%rbp)
movl $0x8, %edi
movl $0xc, -0x40(%rbp)
jmp 0x5fe82
movl $0x1, -0x40(%rbp)
movl $0x0, -0x4c(%rbp)
movl $0x4, %edi
movb $0x1, %r12b
jmp 0x5fe85
movl %edi, %r15d
movl $0x2, %edi
leaq 0x18ed6(%rip), %rsi     # 0x78d10
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %r10
movl %r15d, %edi
movsd -0xb0(%rbp), %xmm0
movl -0x48(%rbp), %r15d
jmp 0x6029f
movl $0x1, -0x40(%rbp)
xorl %r12d, %r12d
movl $0x2, %edi
movb $0x1, %cl
movl %ecx, -0x4c(%rbp)
jmp 0x5fe85
movl $0x0, -0x4c(%rbp)
movl $0x20, %edi
movl $0x2f, -0x40(%rbp)
xorl %r12d, %r12d
xorl %r15d, %r15d
addl %eax, %r15d
movq %rdi, %rbx
movl %r15d, %esi
callq 0x4d28d
testl %eax, %eax
je 0x5ff00
movb -0xc0(%rbp), %dil
movzbl %dil, %ecx
cmpb $0x0, -0xc8(%rbp)
movl -0x94(%rbp), %r12d
movl -0x48(%rbp), %r15d
movsd -0x58(%rbp), %xmm4
movapd -0x80(%rbp), %xmm1
je 0x5ff97
movl $0x0, -0x40(%rbp)
leal -0x1(%rbx), %edx
cmpl $0x7, %edx
ja 0x5ff60
leaq 0x1782b(%rip), %rsi     # 0x7770c
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
testl %ecx, %ecx
je 0x60066
cmpl $0x3, %ecx
je 0x60039
jmp 0x6003d
cmpl $0xff, %r15d
sete %al
testb %al, %r12b
jne 0x5ff27
movl $0x2, %edi
leaq 0x18e18(%rip), %rsi     # 0x78d33
movl %ebx, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0x4d55d
movl -0x94(%rbp), %r12d
movsd -0xb0(%rbp), %xmm0
movl -0x48(%rbp), %r15d
jmp 0x6005a
movl $0x1, -0x40(%rbp)
movl $0x0, -0x4c(%rbp)
movl $0xc0, %r15d
movl $0x10, %edi
xorl %r12d, %r12d
jmp 0x5fe88
cmpl $0x10, %ebx
je 0x60030
cmpl $0x20, %ebx
jne 0x5ff97
cmpb $0x4, %dil
jae 0x6003d
movl %ecx, %ecx
leaq 0x19347(%rip), %rdx     # 0x792c8
movq (%rdx,%rcx,8), %rsi
shlb $0x3, %dil
movl $0x1b1b2f2f, %edx       # imm = 0x1B1B2F2F
movl %edi, %ecx
shrl %cl, %edx
jmp 0x60073
cmpl $0x7, %ebx
jle 0x5ffb9
cmpl $0x8, %ebx
je 0x5fff7
cmpl $0x10, %ebx
je 0x5ffc3
cmpl $0x20, %ebx
jne 0x6001c
cmpl $0x2f, -0x40(%rbp)
jne 0x6003d
movb $0x2f, %dl
jmp 0x6002c
cmpl $0x1, %ebx
je 0x6000d
cmpl $0x4, %ebx
jne 0x6001c
cmpl $0x1, -0x40(%rbp)
jne 0x6003d
jmp 0x6002a
testl %ecx, %ecx
je 0x60066
cmpl $0x6, %ecx
je 0x6006c
cmpl $0x5, %ecx
je 0x60009
jmp 0x6003d
movl $0x1, %edx
jmp 0x6001f
testl %ecx, %ecx
je 0x60066
cmpl $0x2, %ecx
jne 0x6003d
movb $0xe, %dl
jmp 0x6006e
movl -0x40(%rbp), %edx
cmpl $0x1, %edx
je 0x6002a
cmpl $0x1c, %edx
je 0x6006c
cmpl $0x1b, %edx
jne 0x6003d
movb $0x1b, %dl
jmp 0x6006e
movl -0x40(%rbp), %edx
cmpl $0x1, %edx
je 0x6002a
cmpl $0x11, %edx
je 0x60039
jmp 0x6003d
movl -0x40(%rbp), %edx
cmpl $0x1, %edx
sete %dl
testb %dl, -0x4c(%rbp)
je 0x6003d
movb $0x1, %dl
xorl %esi, %esi
jmp 0x60073
testl %ecx, %ecx
je 0x60066
cmpl $0x5, %ecx
jne 0x6003d
movb $0x11, %dl
jmp 0x6006e
movl $0x2, %edi
leaq 0x18d19(%rip), %rsi     # 0x78d62
movl %eax, %edx
xorl %eax, %eax
callq 0x4d55d
movsd -0xb0(%rbp), %xmm0
movl -0x34(%rbp), %edi
movq -0x30(%rbp), %r10
jmp 0x6029f
movl %ecx, %esi
movb $0x1, %dl
jmp 0x60073
movb $0x1c, %dl
movl $0x1, %esi
andnpd -0x100(%rbp), %xmm1
movapd -0xf0(%rbp), %xmm0
ucomisd 0xa87d(%rip), %xmm0     # 0x6a908
jne 0x6008f
jnp 0x600c0
cmpl $0x20, %ebx
je 0x600c9
cmpl $0x4, %ebx
jne 0x600d7
movl -0xd0(%rbp), %ecx
addl $-0x7, %ecx
cvtsi2sd %ecx, %xmm3
leaq 0x188a3(%rip), %rcx     # 0x78950
mulsd (%rcx,%rsi,8), %xmm3
leaq 0x18857(%rip), %rcx     # 0x78910
addsd (%rcx,%rsi,8), %xmm3
jmp 0x600eb
movapd %xmm1, %xmm3
movl -0x50(%rbp), %ebx
jmp 0x60102
leaq 0x188c0(%rip), %rcx     # 0x78990
movsd (%rcx,%rsi,8), %xmm3
jmp 0x600eb
movsd 0xbcc1(%rip), %xmm3     # 0x6bda0
leaq 0x10b0a(%rip), %rcx     # 0x70bf0
divsd (%rcx,%rsi,8), %xmm3
movl -0x50(%rbp), %ebx
addsd -0x168(%rbp), %xmm4
mulsd -0x180(%rbp), %xmm3
addsd %xmm1, %xmm3
movl %ebx, %edi
shrl $0x3, %edi
andl $0x1, %edi
movzwl -0x88(%rbp), %r9d
movzwl %r9w, %ecx
xorps %xmm1, %xmm1
cvtsi2sd %ecx, %xmm1
leal -0x1(%rax), %ecx
mulsd 0xbc50(%rip), %xmm1     # 0x6bd78
movslq %ecx, %r8
movb $0x1, %cl
testw %r9w, %r9w
je 0x60152
leaq (%r8,%r8,2), %r9
movq -0x118(%rbp), %r10
leaq (%r10,%r9,8), %r10
movsd (%r10,%rsi,8), %xmm2
ucomisd %xmm1, %xmm2
jbe 0x602bd
movq -0x30(%rbp), %r10
leaq (%r8,%r8,2), %r8
movq -0x118(%rbp), %r9
leaq (%r9,%r8,8), %r9
movsd %xmm1, (%r9,%rsi,8)
addq -0x110(%rbp), %r8
movb %dil, (%rsi,%r8)
movq 0x1d28(%r10), %r8
testl %r15d, %r15d
jle 0x601b1
movl %r15d, %r9d
leaq 0x10(%r8), %r10
xorl %edi, %edi
movsd -0xb0(%rbp), %xmm0
movzbl (%r10), %r11d
cmpl %r11d, %eax
je 0x6023e
incq %rdi
addq $0x60, %r10
cmpq %rdi, %r9
jne 0x60193
movl %r15d, %edi
jmp 0x601bb
xorl %edi, %edi
movsd -0xb0(%rbp), %xmm0
movslq %r15d, %r9
shlq $0x5, %r9
leaq (%r9,%r9,2), %r9
movq -0x108(%rbp), %r10
movq %r10, (%r8,%r9)
movsd %xmm0, 0x8(%r8,%r9)
movb %al, 0x10(%r8,%r9)
movb $0x0, 0x11(%r8,%r9)
xorl %eax, %eax
movq -0x30(%rbp), %r10
movq 0x1d28(%r10), %r8
addq %r9, %r8
movq %r13, 0x38(%r8,%rax,8)
movq %r13, 0x20(%r8,%rax,8)
movl $0x0, 0x50(%r8,%rax,4)
movb %r13b, 0x15(%rax,%r8)
movq 0x1d28(%r10), %r8
addq %r9, %r8
movb %r13b, 0x12(%rax,%r8)
movq 0x1d28(%r10), %r8
addq %r9, %r8
movb %r13b, 0x18(%rax,%r8)
incq %rax
cmpq $0x3, %rax
jne 0x601e9
incl %r15d
movq 0x1d28(%r10), %r8
jmp 0x60245
movl %r9d, %r15d
movq -0x30(%rbp), %r10
shrb %bl
andb $0x2, %bl
orb %bl, %cl
xorb $0x2, %cl
movl %edi, %eax
shlq $0x5, %rax
leaq (%rax,%rax,2), %rax
addq %rax, %r8
movsd %xmm3, 0x20(%r8,%rsi,8)
movsd %xmm4, 0x38(%r8,%rsi,8)
movss -0x68(%rbp), %xmm1
movss %xmm1, 0x50(%r8,%rsi,4)
movb -0x60(%rbp), %dil
shlb $0x2, %dil
movb %dil, 0x12(%rsi,%r8)
movq 0x1d28(%r10), %rdi
addq %rax, %rdi
movb %cl, 0x15(%rsi,%rdi)
addq 0x1d28(%r10), %rax
movb %dl, 0x18(%rsi,%rax)
movl -0x34(%rbp), %edi
incl %edi
cmpl %r12d, %edi
jae 0x6069d
addq $0x20, %r14
cmpl $0x40, %r15d
jl 0x5fd20
jmp 0x6069d
addq -0x110(%rbp), %r9
movzbl (%rsi,%r9), %r9d
cmpl %r9d, %edi
movq -0x30(%rbp), %r10
jne 0x60156
movl -0xc4(%rbp), %ecx
testl %ecx, %ecx
setne %r9b
cmpl -0xcc(%rbp), %ecx
setle %cl
andb %r9b, %cl
jmp 0x60156
addsd 0xbadd(%rip), %xmm0     # 0x6bdd8
ucomisd %xmm0, %xmm2
movl -0x160(%rbp), %edi
jbe 0x6030f
decl %edi
movl %edi, -0x160(%rbp)
movapd %xmm2, %xmm0
callq 0x4f24a
xorl %r15d, %r15d
movq %rax, -0x68(%rbp)
movq %rax, %rdi
movsd %xmm0, -0x60(%rbp)
xorl %esi, %esi
callq 0x4fdbe
leaq 0x16e9e(%rip), %rsi     # 0x771d3
movl $0x4, %edi
movq %rax, %rdx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %r8
movslq 0x81a78(%r8), %rax
addq $-0x2, %rax
cmpq %rax, %r12
movq -0x48(%rbp), %r9
jge 0x5ed6c
leaq 0x7f670(%r8), %rax
movq %rax, -0x40(%rbp)
xorl %r15d, %r15d
movl $0x0, -0xc0(%rbp)
movb 0x29(%r14), %r12b
andb $0x7, %r12b
cmpb $0x4, %r12b
jb 0x6065e
cmpb $0x6, -0x34(%rbp)
jne 0x603cb
movzbl 0x38(%r14), %eax
cmpq $0x7, %rax
jae 0x6045b
movl $0x6f, %ecx
btl %eax, %ecx
jae 0x6045b
shll $0x2, %eax
leaq 0x18619(%rip), %rcx     # 0x789d0
movl (%rax,%rcx), %ebx
movzbl 0x39(%r14), %esi
leaq 0x18626(%rip), %rcx     # 0x789ec
addl (%rax,%rcx), %esi
jmp 0x603db
movzbl 0x22(%r14), %esi
cmpl $0x78, %esi
movl $0x2, %ebx
sbbl $0x0, %ebx
movl %ebx, %edi
movl %esi, -0x58(%rbp)
callq 0x4d28d
testl %eax, %eax
je 0x6047b
xorps %xmm1, %xmm1
cvtsi2sdl 0x4(%r14), %xmm1
movl (%r14), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
movsd 0x1723f(%rip), %xmm2    # 0x77648
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0xc8e7(%rip), %xmm4     # 0x6cd00
mulsd %xmm4, %xmm1
divsd 0xb053(%rip), %xmm1     # 0x6b478
cmpl $0x4, %ebx
jne 0x60432
subsd -0x88(%rbp), %xmm1
movq -0x30(%rbp), %r8
movq -0x48(%rbp), %r9
movapd -0x80(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd 0xb985(%rip), %xmm1     # 0x6bdd0
ucomisd %xmm0, %xmm1
jbe 0x604a0
addsd 0xb98f(%rip), %xmm0     # 0x6bde8
jmp 0x604b2
movl $0x2, %edi
leaq 0x18d87(%rip), %rsi     # 0x791ee
xorl %eax, %eax
callq 0x4d55d
movq -0x48(%rbp), %r9
movq -0x30(%rbp), %r8
jmp 0x6065e
movl $0x2, %edi
leaq 0x18d80(%rip), %rsi     # 0x79207
movl %ebx, %edx
movl -0x58(%rbp), %ecx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %r8
movq -0x48(%rbp), %r9
jmp 0x6065e
ucomisd 0xb930(%rip), %xmm0     # 0x6bdd8
jbe 0x604b2
addsd 0xb92e(%rip), %xmm0     # 0x6bde0
movzbl 0x36(%r14), %ecx
xorpd %xmm1, %xmm1
cmpb $0x6, %r12b
jb 0x604f7
xorps %xmm1, %xmm1
cvtsi2sdl 0xc(%r14), %xmm1
mulsd %xmm2, %xmm1
xorpd %xmm2, %xmm2
testb $0x1, %cl
je 0x604df
movsd 0xb799(%rip), %xmm2     # 0x6bc78
movl 0x8(%r14), %edx
xorps %xmm3, %xmm3
cvtsi2sd %rdx, %xmm3
addsd %xmm3, %xmm1
mulsd %xmm4, %xmm1
addsd %xmm2, %xmm1
xorps %xmm2, %xmm2
cvtsi2sdl 0x10(%r14), %xmm2
mulsd 0xe968(%rip), %xmm2     # 0x6ee70
movzwl 0x20(%r14), %edx
xorps %xmm3, %xmm3
cvtsi2sd %edx, %xmm3
mulsd 0xa4f4(%rip), %xmm2     # 0x6aa10
mulsd 0xb874(%rip), %xmm3     # 0x6bd98
movsd 0xa59c(%rip), %xmm4     # 0x6aac8
ucomisd %xmm3, %xmm4
jb 0x6054f
leal -0x1(%rax), %edx
movslq %edx, %rdx
leaq (%rdx,%rdx,2), %rdx
movq -0x40(%rbp), %rsi
movabsq $0x3ff0000000000000, %rdi # imm = 0x3FF0000000000000
movq %rdi, 0x8(%rsi,%rdx,8)
testb $0x8, %cl
je 0x6065e
movl %eax, %ecx
decl %ecx
movslq %ecx, %rdx
movq 0x1d28(%r8), %rsi
movslq -0xc0(%rbp), %rcx
shlq $0x5, %rcx
leaq (%rcx,%rcx,2), %rcx
movq -0x68(%rbp), %rdi
movq %rdi, (%rsi,%rcx)
movsd -0x60(%rbp), %xmm4
movsd %xmm4, 0x8(%rsi,%rcx)
movb %al, 0x10(%rsi,%rcx)
mulsd 0xb80c(%rip), %xmm0     # 0x6bda0
movsd %xmm0, 0x38(%rsi,%rcx)
xorpd 0xa52e(%rip), %xmm1     # 0x6aad0
movlpd %xmm1, 0x20(%rsi,%rcx)
xorps %xmm0, %xmm0
cvtsd2ss %xmm2, %xmm0
movss %xmm0, 0x50(%rsi,%rcx)
mulsd 0xa2eb(%rip), %xmm3     # 0x6a8a8
cvttsd2si %xmm3, %eax
cmpl $0x20, %ebx
movl $0x1, %edi
movl $0x2f, %r10d
cmovel %r10d, %edi
movb %al, 0x12(%rsi,%rcx)
movq 0x1d28(%r8), %rax
movb %dil, 0x18(%rax,%rcx)
leaq (%rdx,%rdx,2), %rax
movq -0x40(%rbp), %rsi
movsd 0x8(%rsi,%rax,8), %xmm0
ucomisd 0xa30f(%rip), %xmm0     # 0x6a908
movq 0x1d28(%r8), %rdx
seta 0x15(%rdx,%rcx)
movq $0x0, 0x8(%rsi,%rax,8)
xorl %eax, %eax
movq 0x1d28(%r8), %rdx
addq %rcx, %rdx
movq %r15, 0x40(%rdx,%rax,8)
movq %r15, 0x28(%rdx,%rax,8)
movl $0x0, 0x54(%rdx,%rax,4)
movb %r15b, 0x16(%rax,%rdx)
movq 0x1d28(%r8), %rdx
addq %rcx, %rdx
movb %r15b, 0x13(%rax,%rdx)
movq 0x1d28(%r8), %rdx
addq %rcx, %rdx
movb %r15b, 0x19(%rax,%rdx)
incq %rax
cmpq $0x2, %rax
jne 0x60610
incl -0xc0(%rbp)
addq %r9, %r14
movq %r14, %rax
subq %r13, %rax
movslq 0x81a78(%r8), %rcx
addq $-0x2, %rcx
cmpq %rcx, %rax
jl 0x60378
movl -0xc0(%rbp), %ecx
testl %ecx, %ecx
jle 0x5fb94
movq -0x68(%rbp), %rax
movq %rax, (%r8)
movsd -0x60(%rbp), %xmm0
jmp 0x5fbe1
xorl %r15d, %r15d
movq -0x108(%rbp), %rax
movq %rax, (%r10)
movsd %xmm0, 0x8(%r10)
movl %r15d, 0x1d20(%r10)
jmp 0x60b42
cmpl $0x10, %r14d
movq -0x30(%rbp), %rdi
je 0x60b4d
cmpl $0x20, %r14d
jne 0x5ed6c
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x61a23
addsd 0xb6e2(%rip), %xmm0     # 0x6bdd8
ucomisd %xmm0, %xmm2
movl -0x160(%rbp), %edi
jbe 0x6070a
decl %edi
movl %edi, -0x160(%rbp)
movl %r14d, %ebx
movapd %xmm2, %xmm0
callq 0x4f24a
movq %rax, %r14
movsd %xmm0, -0x60(%rbp)
movq %rax, %rdi
callq 0x4f9b0
movq %rax, %rdi
movq %r14, -0x88(%rbp)
movq %r14, %rsi
movsd -0x60(%rbp), %xmm1
callq 0x4f51b
addsd 0xa36b(%rip), %xmm0     # 0x6aab0
movsd %xmm0, -0x100(%rbp)
movq -0x30(%rbp), %r9
leaq 0x7f670(%r9), %rax
movq %rax, -0x68(%rbp)
xorl %r14d, %r14d
xorl %r12d, %r12d
movl $0x0, -0x40(%rbp)
movl %ebx, -0x80(%rbp)
movb 0x1(%r15), %al
andb $-0x4, %al
cmpb $0x4, %al
jne 0x60b0b
movzbl 0x4(%r15), %eax
cmpq $0x6, %rax
ja 0x607ce
leaq 0x16f0c(%rip), %rdx     # 0x77698
movslq (%rdx,%rax,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl $0x0, -0x48(%rbp)
movl $0x1, %edi
jmp 0x60831
movl $0x0, -0x48(%rbp)
movl $0x8, %edi
movl $0x0, -0x58(%rbp)
jmp 0x60815
movl $0x0, -0x48(%rbp)
movl $0x4, %edi
movb $0x1, %al
movl %eax, -0x58(%rbp)
jmp 0x60815
movl $0x2, %edi
leaq 0x1899f(%rip), %rsi     # 0x79179
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %r9
jmp 0x60b0b
movl $0x0, -0x48(%rbp)
movl $0x2, %edi
movb $0x1, %al
movl %eax, -0x34(%rbp)
movl $0x0, -0x58(%rbp)
jmp 0x6081c
movl $0x0, -0x58(%rbp)
movl $0x20, %edi
movb $0x1, %al
movl %eax, -0x48(%rbp)
movl $0x0, -0x34(%rbp)
xorl %eax, %eax
jmp 0x6083f
movl $0xc0, %eax
movl $0x10, %edi
movl $0x0, -0x48(%rbp)
movl $0x0, -0x58(%rbp)
movl $0x0, -0x34(%rbp)
movzbl 0x5(%r15), %r13d
addl %eax, %r13d
movl %edi, %ebx
movl %r13d, %esi
callq 0x4d28d
testl %eax, %eax
je 0x608b1
xorps %xmm1, %xmm1
cvtsi2sdl 0x1c(%r15), %xmm1
movl 0x18(%r15), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
movsd 0x16dd6(%rip), %xmm3    # 0x77648
mulsd %xmm3, %xmm1
addsd %xmm0, %xmm1
movsd 0xc47e(%rip), %xmm5     # 0x6cd00
mulsd %xmm5, %xmm1
divsd 0xabea(%rip), %xmm1     # 0x6b478
movl -0x48(%rbp), %r11d
testb %r11b, %r11b
je 0x608d5
addsd 0xa109(%rip), %xmm1     # 0x6a9a8
movq -0x30(%rbp), %r9
movapd -0xc0(%rbp), %xmm0
movq -0x68(%rbp), %r8
jmp 0x608f3
movl $0x2, %edi
leaq 0x188d7(%rip), %rsi     # 0x79194
movl %ebx, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0x4d55d
movq -0x30(%rbp), %r9
movl -0x80(%rbp), %ebx
jmp 0x60b0b
cmpb $0x0, -0x58(%rbp)
movq -0x30(%rbp), %r9
movapd -0xc0(%rbp), %xmm0
movq -0x68(%rbp), %r8
je 0x608f3
subsd -0x100(%rbp), %xmm1
movl -0x80(%rbp), %ebx
subsd %xmm1, %xmm0
movsd 0xb4ce(%rip), %xmm1     # 0x6bdd0
ucomisd %xmm0, %xmm1
jbe 0x60912
addsd 0xb4d8(%rip), %xmm0     # 0x6bde8
jmp 0x60924
ucomisd 0xb4be(%rip), %xmm0     # 0x6bdd8
jbe 0x60924
addsd 0xb4bc(%rip), %xmm0     # 0x6bde0
movzbl 0x8(%r15), %ecx
movzwl 0x14(%r15), %edx
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
cvtsi2sdl 0x24(%r15), %xmm2
mulsd 0xb455(%rip), %xmm1     # 0x6bd98
mulsd %xmm3, %xmm2
xorpd %xmm4, %xmm4
testb $0x40, %cl
je 0x60958
movsd 0xb320(%rip), %xmm4     # 0x6bc78
movl 0x20(%r15), %edx
xorps %xmm3, %xmm3
cvtsi2sd %rdx, %xmm3
movb 0x11(%r15), %dl
addsd %xmm3, %xmm2
xorps %xmm3, %xmm3
cvtsi2sdl 0x28(%r15), %xmm3
mulsd %xmm5, %xmm2
mulsd 0xe4ef(%rip), %xmm3     # 0x6ee70
mulsd 0xa13f(%rip), %xmm3     # 0x6aac8
testb %dl, %dl
je 0x609af
movzbl %dl, %esi
xorps %xmm5, %xmm5
cvtsi2sd %esi, %xmm5
leal -0x1(%rax), %esi
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %rdi
movsd (%r8,%rdi,8), %xmm6
ucomisd %xmm5, %xmm6
ja 0x609b9
jmp 0x609cc
leal -0x1(%rax), %esi
movslq %esi, %rsi
xorpd %xmm5, %xmm5
leaq (%rsi,%rsi,2), %rdi
movabsq $0x3ff0000000000000, %r10 # imm = 0x3FF0000000000000
movq %r10, 0x8(%r8,%rdi,8)
leaq (%rsi,%rsi,2), %rsi
movsd %xmm5, (%r8,%rsi,8)
testb $0x20, %cl
je 0x60b0b
addsd %xmm4, %xmm2
xorpd 0xa0e5(%rip), %xmm2     # 0x6aad0
leaq (%r8,%rsi,8), %rdi
movq 0x1d28(%r9), %r8
movslq -0x40(%rbp), %rsi
shlq $0x5, %rsi
leaq (%rsi,%rsi,2), %rsi
movq -0x88(%rbp), %r10
movq %r10, (%r8,%rsi)
movsd -0x60(%rbp), %xmm4
movsd %xmm4, 0x8(%r8,%rsi)
movb %al, 0x10(%r8,%rsi)
mulsd 0xb37a(%rip), %xmm0     # 0x6bda0
movsd %xmm0, 0x38(%r8,%rsi)
xorps %xmm0, %xmm0
cvtsd2ss %xmm3, %xmm0
movlpd %xmm2, 0x20(%r8,%rsi)
mulsd 0x9e65(%rip), %xmm1     # 0x6a8a8
cvttsd2si %xmm1, %eax
movss %xmm0, 0x50(%r8,%rsi)
movb %al, 0x12(%r8,%rsi)
testb %r11b, %r11b
movl $0x1, %eax
movl $0x2f, %r8d
cmovnel %r8d, %eax
movq 0x1d28(%r9), %r8
movb %al, 0x18(%r8,%rsi)
movsd 0x8(%rdi), %xmm0
ucomisd 0x9e8a(%rip), %xmm0     # 0x6a908
movq 0x1d28(%r9), %rax
seta 0x15(%rax,%rsi)
movq 0x1d28(%r9), %rax
xorl %r8d, %r8d
testb %cl, %cl
sets %r8b
xorl %ecx, %ecx
cmpb $-0x71, %dl
setae %cl
cmpb $0x0, -0x34(%rbp)
cmovnel %ecx, %r8d
xorb $0x1, %r8b
addb %r8b, %r8b
orb %r8b, 0x15(%rax,%rsi)
movq $0x0, 0x8(%rdi)
xorl %eax, %eax
movq 0x1d28(%r9), %rcx
addq %rsi, %rcx
movq %r14, 0x40(%rcx,%rax,8)
movq %r14, 0x28(%rcx,%rax,8)
movl $0x0, 0x54(%rcx,%rax,4)
movb %r14b, 0x16(%rax,%rcx)
movq 0x1d28(%r9), %rcx
addq %rsi, %rcx
movb %r14b, 0x13(%rax,%rcx)
movq 0x1d28(%r9), %rcx
addq %rsi, %rcx
movb %r14b, 0x19(%rax,%rcx)
incq %rax
cmpq $0x2, %rax
jne 0x60ac0
incl -0x40(%rbp)
incl %r12d
addq $0x38, %r15
cmpl %ebx, %r12d
jne 0x6076c
movl -0x40(%rbp), %ecx
testl %ecx, %ecx
jle 0x5fb94
movq -0x88(%rbp), %rax
movq %rax, (%r9)
movsd -0x60(%rbp), %xmm0
movsd %xmm0, 0x8(%r9)
movl %ecx, 0x1d20(%r9)
movl $0x1, %r15d
jmp 0x5ed6c
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x61457
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x615e5
movzbl 0x81a9a(%rdi), %ecx
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x61d00
movl %r14d, %edi
callq 0x6123e
movl $0x9, %r15d
jmp 0x5ed6c
movl %r14d, %edi
movq -0x30(%rbp), %rsi
callq 0x612ed
jmp 0x5ed6c