// File: /workspace/github_cpp_makefile_star2_O1/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, %rbx
leaq 0x81a90(%rdi), %rax
movq %rax, -0x30(%rbp)
movzbl 0x81a92(%rdi), %r15d
movl %r15d, %r14d
shll $0x8, %r14d
movzbl 0x81a93(%rdi), %r12d
orl %r12d, %r14d
movl 0x81a78(%rdi), %ecx
leaq 0x19429(%rip), %rsi     # 0x78b4b
xorl %r13d, %r13d
movl $0x3, %edi
movl %r14d, %edx
xorl %eax, %eax
callq 0x4ded0
movslq 0x81a78(%rbx), %r8
leal -0x2(%r8), %eax
movl $0x0, %ecx
cmpq $0x5, %r8
jl 0x5f76a
movl %eax, %edx
addq $-0x2, %rdx
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r13d, %r13d
addb 0x81a92(%rbx,%rsi), %r13b
addb %r13b, %cl
incq %rsi
cmpq %rsi, %rdx
jne 0x5f757
cltq
movq -0x30(%rbp), %rdx
cmpb (%rdx,%rax), %r13b
jne 0x5f867
cmpb -0x1(%rdx,%r8), %cl
jne 0x5f867
cmpl $0x309, %r14d           # imm = 0x309
jg 0x5f89b
leal -0x210(%r14), %eax
cmpl $0x5, %eax
ja 0x5f93c
leaq 0x17f37(%rip), %rcx     # 0x776e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq $0x0, -0x170(%rbp)
leaq 0x193e3(%rip), %rsi     # 0x78ba7
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5f7fe
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a9c(%rbx), %ecx
leaq 0x193c7(%rip), %rsi     # 0x78bbe
xorl %eax, %eax
callq 0x8120
leaq 0x82a90(%rbx), %rdi
leaq 0x193cf(%rip), %rsi     # 0x78bdb
movq %rdi, -0xa0(%rbp)
callq 0x8160
testq %rax, %rax
je 0x5f835
leaq 0x193be(%rip), %rsi     # 0x78be2
leaq -0x170(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8610
movzbl 0x81a9c(%rbx), %r12d
movl 0x81a78(%rbx), %edx
leal (%r12,%r12,2), %eax
leal 0xc(,%rax,8), %eax
cmpl %eax, %edx
jge 0x5fcdf
leaq 0x1938f(%rip), %rsi     # 0x78bec
movl $0x2, %edi
movl %r12d, %ecx
jmp 0x5f879
leaq 0x192fb(%rip), %rsi     # 0x78b69
movl $0x2, %edi
movl %r14d, %edx
movl %r8d, %ecx
xorl %eax, %eax
callq 0x4ded0
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl %r13d, %eax
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x30a, %r14d           # imm = 0x30A
je 0x5faf7
cmpl $0x30f, %r14d           # imm = 0x30F
je 0x5fb96
cmpl $0x310, %r14d           # imm = 0x310
jne 0x5f9a4
leaq 0x1987e(%rip), %rsi     # 0x79147
xorl %r13d, %r13d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5f8ff
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x19867(%rip), %rsi     # 0x7915f
xorl %eax, %eax
callq 0x8120
movq (%rbx), %r14
testq %r14, %r14
je 0x5f886
movzbl 0x81a98(%rbx), %r12d
movl 0x81a78(%rbx), %edx
imull $0x38, %r12d, %eax
addl $0x70, %eax
cmpl %eax, %edx
jge 0x60165
leaq 0x19845(%rip), %rsi     # 0x79174
movl $0x2, %edi
movl %r12d, %ecx
jmp 0x5f879
cmpl $0x106, %r14d           # imm = 0x106
je 0x5fc13
cmpl $0x120, %r14d           # imm = 0x120
jne 0x5f9a4
leaq 0x197c1(%rip), %rsi     # 0x7911a
xorl %r13d, %r13d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5f98f
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x197aa(%rip), %rsi     # 0x79132
xorl %eax, %eax
callq 0x8120
movb 0x81aa1(%rbx), %al
notb %al
testb $0x3, %al
jne 0x5f886
jmp 0x5fc60
cmpl $0x0, 0x81a8c(%rbx)
je 0x60985
addq $0x70e70, %rbx          # imm = 0x70E70
andl $0xf, %r12d
leaq 0x191cc(%rip), %rsi     # 0x78b8f
xorl %r13d, %r13d
movq %rbx, %rdi
movl %r15d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x8120
jmp 0x5f886
movq $0x0, -0x58(%rbp)
movl $0x0, -0xb8(%rbp)
leaq 0x1926f(%rip), %rsi     # 0x78c63
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
movl 0x81a78(%rbx), %edx
cmpl $0x17, %edx
jg 0x5fc9d
leaq 0x19262(%rip), %rsi     # 0x78c7b
jmp 0x60492
leaq 0x19391(%rip), %rsi     # 0x78db6
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5fa5f
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a97(%rbx), %ecx
leaq 0x19376(%rip), %rsi     # 0x78dce
xorl %eax, %eax
callq 0x8120
movl 0x81a78(%rbx), %edx
cmpl $0x29, %edx
jg 0x60045
leaq 0x19376(%rip), %rsi     # 0x78deb
jmp 0x60492
leaq 0x193d4(%rip), %rsi     # 0x78e55
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5fac3
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a96(%rbx), %ecx
movzbl 0x81a97(%rbx), %r8d
leaq 0x193b2(%rip), %rsi     # 0x78e6e
xorl %eax, %eax
callq 0x8120
movzbl 0x81a96(%rbx), %edx
xorl %r14d, %r14d
cmpq $0x6, %rdx
ja 0x608ea
leaq 0x17c8e(%rip), %rax     # 0x7776c
movslq (%rax,%rdx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl $0x1, %r15d
xorl %eax, %eax
movl %edx, %r14d
jmp 0x60917
leaq 0x196ed(%rip), %rsi     # 0x791eb
xorl %r13d, %r13d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5fb34
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x196d4(%rip), %rsi     # 0x79201
xorl %eax, %eax
callq 0x8120
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x5f886
movsd 0x8(%rbx), %xmm0
callq 0x5034e
movq (%rbx), %rsi
movsd 0x8(%rbx), %xmm1
movq %rax, %rdi
callq 0x4fe97
movsd %xmm0, -0xa0(%rbp)
movzbl 0x81a96(%rbx), %edi
movl $0x56, %r14d
movl $0x38, %r8d
cmpl $0x3, %edi
je 0x60347
cmpl $0x6, %edi
movq -0x30(%rbp), %rsi
jne 0x6034d
movl $0x40, %r8d
jmp 0x60353
leaq 0x196bf(%rip), %rsi     # 0x7925c
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5fbdf
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a97(%rbx), %ecx
movzbl 0x81a98(%rbx), %r8d
leaq 0x1969d(%rip), %rsi     # 0x79275
xorl %eax, %eax
callq 0x8120
movzbl 0x81a97(%rbx), %edx
xorl %r14d, %r14d
cmpq $0x6, %rdx
ja 0x6099d
leaq 0x17afe(%rip), %rax     # 0x776f8
movslq (%rax,%rdx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl $0x1, %r15d
xorl %eax, %eax
movl %edx, %r14d
jmp 0x609b7
leaq 0x194d4(%rip), %rsi     # 0x790ee
xorl %r13d, %r13d
movl $0x4, %edi
movl %r8d, %edx
xorl %eax, %eax
callq 0x4ded0
cmpl $0x0, 0x81a8c(%rbx)
je 0x5fc50
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x194bc(%rip), %rsi     # 0x79105
xorl %eax, %eax
callq 0x8120
movb 0x81aa1(%rbx), %al
notb %al
testb $0xc, %al
jne 0x5f886
cvtsi2sdl 0x81a96(%rbx), %xmm0
cvtsi2sdl 0x81a9a(%rbx), %xmm1
mulsd 0xd090(%rip), %xmm1     # 0x6cd08
movzwl 0x81a9e(%rbx), %edi
mulsd 0xc0f1(%rip), %xmm0     # 0x6bd78
addsd %xmm1, %xmm0
callq 0x4fbc6
movq %rax, (%rbx)
movsd %xmm0, 0x8(%rbx)
jmp 0x5f886
movsd 0x81a96(%rbx), %xmm0
movzwl 0x81a9e(%rbx), %edi
movl %edi, -0xe4(%rbp)
movzbl 0x81aa1(%rbx), %r15d
movl %r15d, %eax
shll $0x5, %eax
orl $0x18, %eax
cmpl %eax, %edx
jge 0x601ed
leaq 0x18fcb(%rip), %rsi     # 0x78c9d
movl $0x2, %edi
movl %r15d, %ecx
jmp 0x5f879
movl 0x81a96(%rbx), %eax
cvtsi2sd %rax, %xmm0
movzwl 0x81a9a(%rbx), %edi
movl %edi, -0x58(%rbp)
mulsd 0xc07c(%rip), %xmm0     # 0x6bd78
callq 0x4fbc6
cmpl $0x0, -0x58(%rbp)
je 0x6046b
movsd -0x170(%rbp), %xmm1
xorpd %xmm3, %xmm3
xorpd %xmm2, %xmm2
movapd %xmm2, -0x90(%rbp)
ucomisd %xmm3, %xmm1
jbe 0x5fd9d
leaq -0x58(%rbp), %rsi
movq %rax, %r14
movq %rax, %rdi
movsd %xmm0, -0x70(%rbp)
callq 0x4fc2d
movapd %xmm0, %xmm1
movsd -0x170(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
divsd %xmm0, %xmm1
movapd %xmm1, -0x90(%rbp)
movsd 0xbf16(%rip), %xmm0     # 0x6bc78
addsd %xmm1, %xmm0
callq 0x8ad0
movapd -0x90(%rbp), %xmm2
subsd %xmm0, %xmm2
mulsd -0x30(%rbp), %xmm2
movapd 0xad4c(%rip), %xmm1     # 0x6aad0
movapd %xmm2, -0x90(%rbp)
xorpd %xmm2, %xmm1
movq %r14, %rdi
movsd -0x70(%rbp), %xmm0
callq 0x4fe63
movq (%rbx), %rsi
movsd 0x8(%rbx), %xmm1
movq %rax, %r14
movq %rax, %rdi
movsd %xmm0, -0x70(%rbp)
callq 0x4fe97
cmpl $0x40, %r12d
movl $0x40, %eax
cmovbl %r12d, %eax
movl %eax, -0x78(%rbp)
testl %r12d, %r12d
je 0x60a4b
leaq 0x81a9e(%rbx), %r13
movapd -0x90(%rbp), %xmm3
xorpd 0xaceb(%rip), %xmm3     # 0x6aad0
leaq 0x7f670(%rbx), %rax
movq %rax, -0xb0(%rbp)
movsd 0xaccd(%rip), %xmm4     # 0x6aac8
cmpltpd %xmm0, %xmm4
movsd 0x9b18(%rip), %xmm1     # 0x69920
movapd %xmm0, -0x120(%rbp)
movapd %xmm0, %xmm2
cmpltpd %xmm1, %xmm2
orpd %xmm4, %xmm2
movss %xmm2, -0xa4(%rbp)
movsd 0xab1b(%rip), %xmm0     # 0x6a948
mulsd %xmm3, %xmm0
movsd %xmm0, -0x50(%rbp)
mulsd 0xbf62(%rip), %xmm3     # 0x6bda0
movapd %xmm3, -0x90(%rbp)
xorl %r15d, %r15d
xorl %eax, %eax
xorl %ecx, %ecx
movsd -0x70(%rbp), %xmm0
movq %r14, %rdx
movq %r14, -0xd0(%rbp)
movl %eax, -0x48(%rbp)
movq 0x1d28(%rbx), %rax
movl %ecx, -0x30(%rbp)
movslq %ecx, %r12
movq %r12, %rcx
shlq $0x5, %rcx
leaq (%rcx,%rcx,2), %r14
movq %rdx, (%rax,%r14)
movsd %xmm0, 0x8(%rax,%r14)
movsd (%r13), %xmm0
addsd -0x50(%rbp), %xmm0
movsd %xmm0, 0x20(%rax,%r14)
movsd 0x8(%r13), %xmm0
addsd -0x90(%rbp), %xmm0
movsd %xmm0, 0x38(%rax,%r14)
movss 0x10(%r13), %xmm0
movss %xmm0, 0x50(%rax,%r14)
movzbl 0x14(%r13), %ecx
movl %ecx, -0x38(%rbp)
movsbl 0x16(%r13), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %ecx, %xmm0
mulsd 0xa9d6(%rip), %xmm0     # 0x6a8a8
addsd 0xbd9e(%rip), %xmm0     # 0x6bc78
cvttsd2si %xmm0, %ecx
movb %cl, 0x12(%rax,%r14)
movb 0x17(%r13), %al
movq 0x1d28(%rbx), %rcx
movb %al, 0x15(%rcx,%r14)
movq 0x1d28(%rbx), %rax
movb $0x1, 0x18(%rax,%r14)
movq -0xa0(%rbp), %rdi
leaq 0x158e9(%rip), %rsi     # 0x757f7
callq 0x8160
testq %rax, %rax
je 0x5ff3b
movq 0x1d28(%rbx), %rax
leaq (%r12,%r12,2), %rcx
shlq $0x5, %rcx
movsd 0x20(%rax,%rcx), %xmm0
xorpd 0xab9b(%rip), %xmm0     # 0x6aad0
movlpd %xmm0, 0x20(%rax,%rcx)
movq %r12, -0x40(%rbp)
movl -0x38(%rbp), %r12d
cmpb $0x78, %r12b
movl $0x1, %edi
sbbl $-0x1, %edi
movl %r12d, %esi
callq 0x4dbc5
testl %eax, %eax
je 0x60009
movq 0x1d28(%rbx), %rcx
movq -0x40(%rbp), %rdx
leaq (%rdx,%rdx,2), %rdx
shlq $0x5, %rdx
movb %al, 0x10(%rcx,%rdx)
decl %eax
cltq
leaq (%rax,%rax,2), %rax
movq -0xb0(%rbp), %rsi
leaq (%rsi,%rax,8), %rax
movb 0x15(%rcx,%rdx), %cl
orb -0xa4(%rbp), %cl
xorpd %xmm0, %xmm0
testb $0x1, %cl
jne 0x5ffa8
movsd (%rax), %xmm0
addsd -0x120(%rbp), %xmm0
movsd %xmm0, (%rax)
xorl %eax, %eax
movq -0xd0(%rbp), %rdx
movsd -0x70(%rbp), %xmm0
movq 0x1d28(%rbx), %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(%rbx), %rcx
addq %r14, %rcx
movb %r15b, 0x13(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %r14, %rcx
movb %r15b, 0x19(%rax,%rcx)
incq %rax
cmpq $0x2, %rax
jne 0x5ffba
movl -0x30(%rbp), %ecx
incl %ecx
jmp 0x6002e
movl $0x2, %edi
leaq 0x18c29(%rip), %rsi     # 0x78c3e
movl %r12d, %edx
xorl %eax, %eax
callq 0x4ded0
movq -0xd0(%rbp), %rdx
movsd -0x70(%rbp), %xmm0
movl -0x30(%rbp), %ecx
movl -0x48(%rbp), %eax
incl %eax
addq $0x18, %r13
cmpl -0x78(%rbp), %eax
jne 0x5fe5c
jmp 0x60a55
movzbl 0x81a97(%rbx), %esi
cmpl $0x78, %esi
movl %esi, -0x58(%rbp)
movl $0x1, %edi
sbbl $-0x1, %edi
callq 0x4dbc5
testl %eax, %eax
je 0x60488
movl %eax, %r15d
leaq -0x58(%rbp), %rsi
movl %eax, %edi
callq 0x4dc2a
cmpl $0x2, %eax
je 0x60b39
xorl %r13d, %r13d
cmpl $0x1, %eax
jne 0x5f886
movl 0x81a9c(%rbx), %r12d
shrl $0x2, %r12d
andl $0x7, %r12d
leaq 0x18d99(%rip), %rsi     # 0x78e39
xorl %r13d, %r13d
movl $0x4, %edi
movl %r15d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x4ded0
leal -0x6(%r12), %ecx
movl $0x0, %eax
cmpl $-0x5, %ecx
jb 0x60137
movl %r15d, %eax
decl %eax
cltq
imulq $0x17c, %rax, %rax      # imm = 0x17C
addq %rbx, %rax
movl %r12d, %edx
shll $0x5, %edx
subq %r12, %rdx
subq %r12, %rdx
addq %rdx, %rax
addq $0x70f52, %rax          # imm = 0x70F52
leaq 0x81a98(%rbx), %rcx
xorl %edx, %edx
xorl %esi, %esi
movl $0x17, %edi
movzbl (%rax), %r8d
movl (%rcx), %r9d
xorl %r10d, %r10d
btl %edi, %r9d
setb %r10b
leal (%r10,%r8,2), %r8d
movb %r8b, (%rax)
incl %edx
movl %edx, %r8d
andl $0x7, %r8d
cmpl $0x1, %r8d
adcq $0x0, %rax
addl $-0x1, %edi
jb 0x600fa
incl %esi
addq $0x4, %rcx
cmpl $0xa, %esi
jne 0x600f5
movl %r12d, %eax
cmpl $0x5, %eax
je 0x617cb
cmpl $0x4, %eax
je 0x617b5
cmpl $0x3, %eax
jne 0x5f886
movl %r15d, %edi
movq %rbx, %rsi
callq 0x61d0f
movl %eax, %r13d
jmp 0x5f886
testl %r12d, %r12d
je 0x60a5d
movl %r12d, %eax
imulq $0x38, %rax, %rax
movsd 0xa833(%rip), %xmm0     # 0x6a9b0
xorl %ecx, %ecx
movsd 0x17531(%rip), %xmm1    # 0x776b8
movsd 0xcb71(%rip), %xmm2     # 0x6cd00
movsd 0xb2e1(%rip), %xmm3     # 0x6b478
cmpb $0x4, 0x81aff(%rbx,%rcx)
jb 0x601e0
cmpb $0x0, 0x81b02(%rbx,%rcx)
jne 0x601e0
xorps %xmm4, %xmm4
cvtsi2sdl 0x81b1a(%rbx,%rcx), %xmm4
movl 0x81b16(%rbx,%rcx), %edx
xorps %xmm5, %xmm5
cvtsi2sd %rdx, %xmm5
mulsd %xmm1, %xmm4
addsd %xmm5, %xmm4
mulsd %xmm2, %xmm4
divsd %xmm3, %xmm4
ucomisd %xmm0, %xmm4
jbe 0x601e0
movapd %xmm4, %xmm0
addq $0x38, %rcx
cmpl %ecx, %eax
jne 0x60197
jmp 0x60a65
testl %edi, %edi
je 0x60b85
movzbl 0x81aa3(%rbx), %r12d
callq 0x4fbc6
movq %rax, %r13
cmpl $0x0, 0x81a8c(%rbx)
movsd %xmm0, -0x38(%rbp)
je 0x60253
leaq -0x170(%rbp), %r14
movq %r13, %rdi
movsd -0x38(%rbp), %xmm0
movq %r14, %rsi
movl $0x2, %edx
callq 0x50696
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x18ab0(%rip), %rsi     # 0x78cf3
movq %r14, %rcx
movl %r15d, %r8d
movl %r12d, %r9d
xorl %eax, %eax
callq 0x8120
leaq 0x82a90(%rbx), %r14
leaq 0x1897a(%rip), %rsi     # 0x78bdb
movq %r14, %rdi
callq 0x8160
testq %rax, %rax
je 0x60283
leaq 0x1896d(%rip), %rsi     # 0x78be2
leaq -0x58(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8610
leaq 0x18a96(%rip), %rsi     # 0x78d20
movq %r14, %rdi
callq 0x8160
testq %rax, %rax
je 0x602af
leaq 0x18a8d(%rip), %rsi     # 0x78d2b
leaq -0xb8(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8610
movsd -0x58(%rbp), %xmm0
xorpd %xmm2, %xmm2
xorpd %xmm1, %xmm1
movapd %xmm1, -0x100(%rbp)
ucomisd %xmm2, %xmm0
jbe 0x60be6
leaq -0xe4(%rbp), %rsi
movq %r13, %rdi
movsd -0x38(%rbp), %xmm0
callq 0x4fc2d
movapd %xmm0, %xmm1
movsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
divsd %xmm0, %xmm1
movapd %xmm1, -0x100(%rbp)
movsd 0xb974(%rip), %xmm0     # 0x6bc78
addsd %xmm1, %xmm0
callq 0x8ad0
movapd -0x100(%rbp), %xmm2
subsd %xmm0, %xmm2
mulsd -0x30(%rbp), %xmm2
movapd 0xa7aa(%rip), %xmm1     # 0x6aad0
movapd %xmm2, -0x100(%rbp)
xorpd %xmm2, %xmm1
movq %r13, %rdi
movsd -0x38(%rbp), %xmm0
callq 0x4fe63
movq %rax, %r10
jmp 0x60bee
movq -0x30(%rbp), %rsi
jmp 0x60353
movl $0x4e, %r14d
leaq (%rsi,%r14), %r9
movslq 0x81a78(%rbx), %rax
addq $-0x2, %rax
cmpq %rax, %r14
jge 0x603e6
movsd 0xa741(%rip), %xmm1     # 0x6aab0
addsd -0xa0(%rbp), %xmm1
movsd 0xa631(%rip), %xmm0     # 0x6a9b0
movsd 0x17331(%rip), %xmm2    # 0x776b8
movsd 0xc971(%rip), %xmm3     # 0x6cd00
movsd 0xb0e1(%rip), %xmm4     # 0x6b478
movq %r9, %rcx
cmpb $0x4, 0x29(%rcx)
jb 0x603d6
xorps %xmm5, %xmm5
cvtsi2sdl 0x4(%rcx), %xmm5
movl (%rcx), %edx
xorps %xmm6, %xmm6
cvtsi2sd %rdx, %xmm6
mulsd %xmm2, %xmm5
addsd %xmm6, %xmm5
mulsd %xmm3, %xmm5
divsd %xmm4, %xmm5
cmpb $0x6, 0x38(%rcx)
jne 0x603cc
subsd %xmm1, %xmm5
ucomisd %xmm0, %xmm5
jbe 0x603d6
movapd %xmm5, %xmm0
addq %r8, %rcx
movq %rcx, %rdx
subq %rsi, %rdx
cmpq %rax, %rdx
jl 0x6039a
jmp 0x603ee
movsd 0xa5c2(%rip), %xmm0     # 0x6a9b0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
ja 0x5f886
movq %r9, %r15
movq %r8, -0x40(%rbp)
movl %edi, -0x38(%rbp)
addsd 0x172b2(%rip), %xmm0    # 0x776c0
divsd 0xb972(%rip), %xmm0     # 0x6bd88
addsd 0xb85a(%rip), %xmm0     # 0x6bc78
callq 0x8ad0
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
mulsd 0xb955(%rip), %xmm0     # 0x6bd88
movapd %xmm0, -0x70(%rbp)
movq (%rbx), %rdi
movsd 0x8(%rbx), %xmm0
leaq -0x170(%rbp), %rsi
callq 0x4fc2d
movapd -0x70(%rbp), %xmm2
movsd 0xb977(%rip), %xmm1     # 0x6bdd0
addsd %xmm0, %xmm1
ucomisd %xmm2, %xmm1
jbe 0x6049c
incl -0x170(%rbp)
jmp 0x604b0
movl 0x81a78(%rbx), %edx
leaq 0x1879d(%rip), %rsi     # 0x78c15
xorl %r13d, %r13d
movl $0x3, %edi
movl %r12d, %ecx
jmp 0x60b97
movl -0x58(%rbp), %edx
leaq 0x1897b(%rip), %rsi     # 0x78e0d
movl $0x2, %edi
jmp 0x609c7
addsd 0xb934(%rip), %xmm0     # 0x6bdd8
ucomisd %xmm0, %xmm2
jbe 0x604b0
decl -0x170(%rbp)
movl -0x170(%rbp), %edi
movapd %xmm2, %xmm0
callq 0x4fbc6
xorl %r13d, %r13d
movq %rax, -0xd0(%rbp)
movq %rax, %rdi
movsd %xmm0, -0x50(%rbp)
xorl %esi, %esi
callq 0x5077f
leaq 0x16d6f(%rip), %rsi     # 0x7724e
movl $0x4, %edi
movq %rax, %rdx
xorl %eax, %eax
callq 0x4ded0
movslq 0x81a78(%rbx), %rax
addq $-0x2, %rax
movl $0x0, -0x90(%rbp)
cmpq %rax, %r14
movq -0x30(%rbp), %rdx
movl -0x38(%rbp), %r8d
movq -0x40(%rbp), %r9
jge 0x608b0
movq %r15, %r11
movsd -0xa0(%rbp), %xmm0
addsd 0xa585(%rip), %xmm0     # 0x6aab0
movsd %xmm0, -0xa0(%rbp)
leaq 0x7f670(%rbx), %rax
movq %rax, -0x78(%rbp)
xorl %r14d, %r14d
movl $0x0, -0x90(%rbp)
movb 0x29(%r11), %r15b
andb $0x7, %r15b
cmpb $0x4, %r15b
jb 0x6087f
cmpb $0x6, %r8b
jne 0x6058d
movzbl 0x38(%r11), %ecx
xorl %r12d, %r12d
cmpq $0x6, %rcx
ja 0x605b2
leaq 0x171bc(%rip), %rdx     # 0x77734
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movl $0x1, %edi
xorl %eax, %eax
movl %ecx, %r12d
jmp 0x605c9
movq %r11, -0x48(%rbp)
movzbl 0x22(%r11), %r12d
cmpl $0x78, %r12d
movl $0x2, %edi
sbbl $0x0, %edi
jmp 0x60603
movl $0x8, %edi
jmp 0x605c4
movl $0x4, %edi
jmp 0x605c4
movb $0x1, %al
xorl %edi, %edi
jmp 0x605c9
movl $0x2, %edi
jmp 0x605c4
movl $0x20, %edi
xorl %eax, %eax
xorl %r12d, %r12d
testb %al, %al
je 0x605f7
movl $0x2, %edi
leaq 0x18c3d(%rip), %rsi     # 0x79216
xorl %eax, %eax
movq %r11, %r15
callq 0x4ded0
movq %r15, %r11
movq -0x30(%rbp), %rdx
movl -0x38(%rbp), %r8d
movq -0x40(%rbp), %r9
jmp 0x6087f
movq %r11, -0x48(%rbp)
movzbl 0x39(%r11), %eax
addl %eax, %r12d
movl %r12d, %esi
movl %edi, %r13d
callq 0x4dbc5
testl %eax, %eax
je 0x6067d
movq -0x48(%rbp), %r11
xorps %xmm1, %xmm1
cvtsi2sdl 0x4(%r11), %xmm1
movl (%r11), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
mulsd 0x17086(%rip), %xmm1    # 0x776b8
addsd %xmm0, %xmm1
mulsd 0xc6c2(%rip), %xmm1     # 0x6cd00
divsd 0xae32(%rip), %xmm1     # 0x6b478
cmpl $0x4, %r13d
jne 0x60654
subsd -0xa0(%rbp), %xmm1
movl -0x38(%rbp), %r8d
movq -0x40(%rbp), %r9
movapd -0x70(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd 0xb763(%rip), %xmm1     # 0x6bdd0
ucomisd %xmm0, %xmm1
jbe 0x606ae
addsd 0xb76d(%rip), %xmm0     # 0x6bde8
jmp 0x606c0
movl $0x2, %edi
leaq 0x18ba6(%rip), %rsi     # 0x7922f
movl %r13d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x4ded0
movq -0x30(%rbp), %rdx
movl -0x38(%rbp), %r8d
movq -0x40(%rbp), %r9
xorl %r13d, %r13d
movq -0x48(%rbp), %r11
jmp 0x6087f
ucomisd 0xb722(%rip), %xmm0     # 0x6bdd8
jbe 0x606c0
addsd 0xb720(%rip), %xmm0     # 0x6bde0
movzbl 0x36(%r11), %ecx
xorpd %xmm1, %xmm1
cmpb $0x6, %r15b
jb 0x6070d
xorps %xmm1, %xmm1
cvtsi2sdl 0xc(%r11), %xmm1
mulsd 0x16fd8(%rip), %xmm1    # 0x776b8
xorpd %xmm2, %xmm2
testb $0x1, %cl
je 0x606f1
movsd 0xb587(%rip), %xmm2     # 0x6bc78
movl 0x8(%r11), %edx
xorps %xmm3, %xmm3
cvtsi2sd %rdx, %xmm3
addsd %xmm3, %xmm1
mulsd 0xc5f7(%rip), %xmm1     # 0x6cd00
addsd %xmm2, %xmm1
xorps %xmm2, %xmm2
cvtsi2sdl 0x10(%r11), %xmm2
mulsd 0xe752(%rip), %xmm2     # 0x6ee70
movzwl 0x20(%r11), %edx
xorps %xmm3, %xmm3
cvtsi2sd %edx, %xmm3
mulsd 0xa2de(%rip), %xmm2     # 0x6aa10
mulsd 0xb65e(%rip), %xmm3     # 0x6bd98
movsd 0xa386(%rip), %xmm4     # 0x6aac8
ucomisd %xmm3, %xmm4
jb 0x60765
leal -0x1(%rax), %edx
movslq %edx, %rdx
leaq (%rdx,%rdx,2), %rdx
movq -0x78(%rbp), %rsi
movabsq $0x3ff0000000000000, %rdi # imm = 0x3FF0000000000000
movq %rdi, 0x8(%rsi,%rdx,8)
testb $0x8, %cl
je 0x60878
movl %eax, %ecx
decl %ecx
movslq %ecx, %rdx
movq 0x1d28(%rbx), %rsi
movslq -0x90(%rbp), %rcx
shlq $0x5, %rcx
leaq (%rcx,%rcx,2), %rcx
movq -0xd0(%rbp), %rdi
movq %rdi, (%rsi,%rcx)
movsd -0x50(%rbp), %xmm4
movsd %xmm4, 0x8(%rsi,%rcx)
movb %al, 0x10(%rsi,%rcx)
mulsd 0xb5f3(%rip), %xmm0     # 0x6bda0
movsd %xmm0, 0x38(%rsi,%rcx)
xorpd 0xa315(%rip), %xmm1     # 0x6aad0
movlpd %xmm1, 0x20(%rsi,%rcx)
xorps %xmm0, %xmm0
cvtsd2ss %xmm2, %xmm0
movss %xmm0, 0x50(%rsi,%rcx)
mulsd 0xa0d2(%rip), %xmm3     # 0x6a8a8
cvttsd2si %xmm3, %eax
cmpl $0x20, %r13d
movl $0x1, %edi
movl $0x2f, %r10d
cmovel %r10d, %edi
movb %al, 0x12(%rsi,%rcx)
movq 0x1d28(%rbx), %rax
movb %dil, 0x18(%rax,%rcx)
leaq (%rdx,%rdx,2), %rax
movq -0x78(%rbp), %rsi
movsd 0x8(%rsi,%rax,8), %xmm0
ucomisd 0xa0f5(%rip), %xmm0     # 0x6a908
movq 0x1d28(%rbx), %rdx
seta 0x15(%rdx,%rcx)
movq $0x0, 0x8(%rsi,%rax,8)
xorl %eax, %eax
movq 0x1d28(%rbx), %rdx
addq %rcx, %rdx
movq %r14, 0x40(%rdx,%rax,8)
movq %r14, 0x28(%rdx,%rax,8)
movl $0x0, 0x54(%rdx,%rax,4)
movb %r14b, 0x16(%rax,%rdx)
movq 0x1d28(%rbx), %rdx
addq %rcx, %rdx
movb %r14b, 0x13(%rax,%rdx)
movq 0x1d28(%rbx), %rdx
addq %rcx, %rdx
movb %r14b, 0x19(%rax,%rdx)
incq %rax
cmpq $0x2, %rax
jne 0x6082a
incl -0x90(%rbp)
movq -0x30(%rbp), %rdx
xorl %r13d, %r13d
addq %r9, %r11
movq %r11, %rax
subq %rdx, %rax
movslq 0x81a78(%rbx), %rcx
addq $-0x2, %rcx
cmpq %rcx, %rax
jl 0x6054b
jmp 0x608b0
movl $0x10, %edi
movl $0xc0, %r12d
xorl %eax, %eax
jmp 0x605c9
movl -0x90(%rbp), %ecx
testl %ecx, %ecx
jle 0x5f886
movq -0xd0(%rbp), %rax
movq %rax, (%rbx)
movsd -0x50(%rbp), %xmm0
jmp 0x6171f
movl $0x8, %r15d
jmp 0x60902
movl $0x4, %r15d
movb $0x1, %r12b
xorl %eax, %eax
xorl %r14d, %r14d
jmp 0x6091a
movb $0x1, %al
xorl %r12d, %r12d
xorl %r15d, %r15d
jmp 0x6091a
movl $0x2, %r15d
jmp 0x60902
movl $0x20, %r15d
xorl %eax, %eax
xorl %r14d, %r14d
jmp 0x60917
movl $0x10, %r15d
movl $0xc0, %r14d
xorl %eax, %eax
xorl %r12d, %r12d
testb %al, %al
je 0x6092a
leaq 0x1856d(%rip), %rsi     # 0x78e92
jmp 0x609c2
movzbl 0x81a97(%rbx), %eax
addl %eax, %r14d
movl %r15d, %edi
movl %r14d, %esi
callq 0x4dbc5
testl %eax, %eax
je 0x60972
xorl %r13d, %r13d
leal -0x1(%r15), %ecx
cmpl $0x7, %ecx
ja 0x60ae5
leaq 0x16e2e(%rip), %rdx     # 0x77788
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq %rbx, %rdi
movl %eax, %esi
movl $0x8, %edx
jmp 0x60a16
cmpl $0xff, %r14d
sete %al
testb %al, %r12b
je 0x60ba3
xorl %r13d, %r13d
jmp 0x5f886
movl $0x8, %r15d
jmp 0x609b2
movl $0x4, %r15d
jmp 0x609b2
movb $0x1, %al
xorl %r15d, %r15d
jmp 0x609b7
movl $0x2, %r15d
jmp 0x609b2
movl $0x20, %r15d
xorl %eax, %eax
xorl %r14d, %r14d
testb %al, %al
je 0x609d3
leaq 0x188d7(%rip), %rsi     # 0x79299
movl $0x2, %edi
xorl %eax, %eax
callq 0x4ded0
jmp 0x5f880
movzbl 0x81a98(%rbx), %eax
addl %eax, %r14d
movl %r15d, %edi
movl %r14d, %esi
callq 0x4dbc5
testl %eax, %eax
je 0x60a2c
xorl %r13d, %r13d
leal -0x1(%r15), %ecx
cmpl $0x7, %ecx
ja 0x60b05
leaq 0x16d11(%rip), %rdx     # 0x77714
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq %rbx, %rdi
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x62b24
leaq 0x18889(%rip), %rsi     # 0x792bc
jmp 0x60baa
movl $0x10, %r15d
movl $0xc0, %r14d
xorl %eax, %eax
jmp 0x609b7
xorl %ecx, %ecx
movsd -0x70(%rbp), %xmm0
movq %r14, %rdx
movq %rdx, (%rbx)
jmp 0x6171f
movsd 0x9f4b(%rip), %xmm0     # 0x6a9b0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
ja 0x5f886
addsd 0x16c45(%rip), %xmm0    # 0x776c0
divsd 0xb305(%rip), %xmm0     # 0x6bd88
addsd 0xb1ed(%rip), %xmm0     # 0x6bc78
callq 0x8ad0
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
mulsd 0xb2e8(%rip), %xmm0     # 0x6bd88
movapd %xmm0, -0xa0(%rbp)
movsd 0x8(%rbx), %xmm0
leaq -0x170(%rbp), %rsi
movq %r14, %rdi
callq 0x4fc2d
movapd -0xa0(%rbp), %xmm2
movsd 0xb304(%rip), %xmm1     # 0x6bdd0
addsd %xmm0, %xmm1
ucomisd %xmm2, %xmm1
jbe 0x612be
incl -0x170(%rbp)
jmp 0x612d2
cmpl $0x10, %r15d
je 0x60bba
cmpl $0x20, %r15d
jne 0x5f886
movq %rbx, %rdi
movl %eax, %esi
movl $0x8, %edx
jmp 0x60b23
cmpl $0x10, %r15d
je 0x60bc6
cmpl $0x20, %r15d
jne 0x5f886
movq %rbx, %rdi
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6263b
movq 0x81ab8(%rbx), %rax
leaq -0x170(%rbp), %rdx
movq %rax, 0x20(%rdx)
movups 0x81a98(%rbx), %xmm0
movupd 0x81aa8(%rbx), %xmm1
movapd %xmm1, 0x10(%rdx)
movaps %xmm0, (%rdx)
movq (%rbx), %rdi
movsd 0x8(%rbx), %xmm0
movl -0x58(%rbp), %esi
addq $0x70e44, %rbx          # imm = 0x70E44
movq %rbx, %rcx
callq 0x61c07
leal (%rax,%rax,2), %r13d
jmp 0x5f886
leaq 0x1813c(%rip), %rsi     # 0x78cc8
xorl %r13d, %r13d
movl $0x3, %edi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x4ded0
jmp 0x5f886
leaq 0x1830b(%rip), %rsi     # 0x78eb5
movl $0x2, %edi
movl %r15d, %edx
movl %r14d, %ecx
jmp 0x5f879
movq %rbx, %rdi
movl %eax, %esi
movl $0x8, %edx
jmp 0x60bd0
movq %rbx, %rdi
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x62088
movsd -0x38(%rbp), %xmm0
movq %r13, %r10
testl %r15d, %r15d
je 0x6172c
movl %r12d, -0xd4(%rbp)
movl %r15d, -0x90(%rbp)
leaq 0x81aa6(%rbx), %r13
movapd 0x9ebc(%rip), %xmm1     # 0x6aad0
xorpd -0x100(%rbp), %xmm1
leaq 0x7f670(%rbx), %rax
movq %rax, -0x110(%rbp)
leaq 0x81860(%rbx), %rax
movq %rax, -0x108(%rbp)
movsd 0xb160(%rip), %xmm2     # 0x6bda0
movapd %xmm1, -0x180(%rbp)
mulsd %xmm1, %xmm2
movsd %xmm2, -0x128(%rbp)
xorl %r11d, %r11d
movl $0x0, -0x48(%rbp)
movq %r10, -0xa0(%rbp)
movsd %xmm0, -0x38(%rbp)
movzbl 0x1e(%r13), %esi
xorpd %xmm2, %xmm2
testb $0x1, %sil
je 0x60c7f
movsd (%r13), %xmm2
movsd 0x8(%r13), %xmm3
movzbl 0x1c(%r13), %r8d
andl $0xf, %r8d
xorpd %xmm1, %xmm1
cmpb $0x6, %r8b
jae 0x60c9c
movapd %xmm3, %xmm1
xorpd %xmm4, %xmm4
testb $0x2, %sil
je 0x60caa
movapd %xmm1, %xmm4
movzbl 0x14(%r13), %edx
xorl %r14d, %r14d
cmpeqsd 0x9d35(%rip), %xmm3     # 0x6a9f0
movl $0x1, %r12d
cmpq $0x6, %rdx
ja 0x60d06
leaq 0x16ada(%rip), %rcx     # 0x777a8
movslq (%rcx,%rdx,4), %rax
addq %rcx, %rax
jmpq *%rax
xorl %eax, %eax
movl %edx, %r14d
xorl %ecx, %ecx
xorl %r9d, %r9d
movl $0x1, %edi
jmp 0x60d43
movl $0x8, %edi
movl $0xc, %r12d
jmp 0x60d2a
movl $0x4, %edi
movb $0x1, %r9b
xorl %eax, %eax
xorl %r14d, %r14d
xorl %ecx, %ecx
jmp 0x60d43
movb $0x1, %al
xorl %ecx, %ecx
xorl %r9d, %r9d
xorl %edi, %edi
jmp 0x60d43
movl $0x2, %edi
movb $0x1, %cl
xorl %eax, %eax
xorl %r14d, %r14d
jmp 0x60d40
movl $0x20, %edi
movl $0x2f, %r12d
xorl %eax, %eax
xorl %r14d, %r14d
jmp 0x60d3e
movl $0x10, %edi
movl $0xc0, %r14d
xorl %eax, %eax
xorl %ecx, %ecx
xorl %r9d, %r9d
movl %r11d, -0x30(%rbp)
testb %al, %al
je 0x60d73
movl $0x2, %edi
leaq 0x17fe1(%rip), %rsi     # 0x78d38
xorl %eax, %eax
callq 0x4ded0
movq -0xa0(%rbp), %r10
movsd -0x38(%rbp), %xmm0
movl -0x30(%rbp), %r11d
jmp 0x6129b
movl %r9d, -0x50(%rbp)
movl %ecx, -0xe0(%rbp)
movapd %xmm4, -0x120(%rbp)
movapd %xmm3, -0xd0(%rbp)
movl %r8d, -0xd8(%rbp)
movl %esi, -0x70(%rbp)
movsd %xmm2, -0x78(%rbp)
movss 0x10(%r13), %xmm0
movss %xmm0, -0xb4(%rbp)
movzbl 0x15(%r13), %eax
addl %eax, %r14d
movzbl 0x16(%r13), %r15d
movzbl 0x17(%r13), %eax
movl %eax, -0xdc(%rbp)
movzwl 0x18(%r13), %eax
movw %ax, -0xb0(%rbp)
movq %r13, -0x40(%rbp)
movb 0x1a(%r13), %al
movb %al, -0xa4(%rbp)
movq %rdi, %r13
movl %r14d, %esi
callq 0x4dbc5
testl %eax, %eax
je 0x60e4a
cmpb $0x0, -0xd4(%rbp)
movq -0xa0(%rbp), %r10
movsd -0x78(%rbp), %xmm4
movl -0x70(%rbp), %esi
movl %r12d, %r14d
movl $0x0, %r12d
movapd -0xd0(%rbp), %xmm1
je 0x60ee9
leal -0x1(%r13), %ecx
cmpl $0x7, %ecx
ja 0x60e7e
leaq 0x1699c(%rip), %rdx     # 0x777c4
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
cmpb $0x5, %r15b
jae 0x60eac
movl %r15d, %ecx
leaq 0x17bbf(%rip), %rdx     # 0x78a00
movl (%rdx,%rcx,4), %r14d
jmp 0x60ee9
cmpl $0xff, %r14d
sete %al
testb %al, -0x50(%rbp)
jne 0x60e72
movl $0x2, %edi
leaq 0x17ef6(%rip), %rsi     # 0x78d5b
movl %r13d, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x4ded0
movq -0xa0(%rbp), %r10
jmp 0x60fca
cmpl $0x10, %r13d
je 0x60eca
cmpl $0x20, %r13d
jne 0x60eac
cmpb $0x4, %r15b
jae 0x60eac
leaq 0x16839(%rip), %rcx     # 0x776d0
jmp 0x60ea6
cmpb $0x7, %r15b
jae 0x60eac
leaq 0x17b6e(%rip), %rcx     # 0x78a14
movl (%rcx,%r15,4), %r14d
jmp 0x60ee9
xorl %r14d, %r14d
jmp 0x60ee9
movl $0x1, %r14d
jmp 0x60ee9
cmpl $0x2, %r15d
movl $0x0, %r14d
movl $0xe, %ecx
jmp 0x60ed9
cmpl $0x5, %r15d
movl $0x0, %r14d
movl $0x11, %ecx
cmovel %ecx, %r14d
testl %r15d, %r15d
movl $0x1, %ecx
cmovel %ecx, %r14d
cmpl $0x7, %r13d
jle 0x60f1d
cmpl $0x8, %r13d
je 0x60f31
cmpl $0x10, %r13d
je 0x60f48
cmpl $0x20, %r13d
jne 0x60f74
xorl %ecx, %ecx
cmpl $0x1b, %r14d
sete %cl
addl %ecx, %ecx
cmpl $0x2f, %r14d
movl $0x1, %edx
cmovel %edx, %ecx
jmp 0x60fa4
cmpl $0x1, %r13d
je 0x60f5d
cmpl $0x4, %r13d
jne 0x60f74
xorl %ecx, %ecx
cmpl $0xe, %r14d
jmp 0x60f4e
cmpl $0x1a, %r14d
jg 0x60f8c
movl %r14d, %ecx
cmpl $0x1, %r14d
je 0x60fa4
cmpl $0xb, %r14d
je 0x60f9f
jmp 0x60f88
xorl %ecx, %ecx
cmpl $0x11, %r14d
sete %cl
addl %ecx, %ecx
cmpl $0x1, %r14d
cmovel %r14d, %ecx
jmp 0x60fa4
movl %r14d, %ecx
cmpl $0x1, %r14d
je 0x60fa4
cmpl $0x16, %r14d
je 0x60f9f
cmpl $0x11, %r14d
jne 0x60f88
jmp 0x60f98
cmpl $0x1, %r14d
sete %dl
movl $0x1, %ecx
testb %dl, -0xe0(%rbp)
jne 0x60fa4
xorl %ecx, %ecx
jmp 0x60fa4
cmpl $0x1b, %r14d
je 0x60f98
cmpl $0x1c, %r14d
jne 0x60f88
movl $0x2, %ecx
jmp 0x60fa4
movl $0x4, %ecx
leal -0x4(%rcx), %edx
cmpl $-0x4, %edx
ja 0x60fdc
movl $0x2, %edi
leaq 0x17dd2(%rip), %rsi     # 0x78d8a
movl %eax, %edx
movl %r15d, %ecx
xorl %eax, %eax
movq %r10, %r14
callq 0x4ded0
movq %r14, %r10
movsd -0x38(%rbp), %xmm0
movl -0x30(%rbp), %r11d
movq -0x40(%rbp), %r13
jmp 0x6129b
andnpd -0x120(%rbp), %xmm1
movapd -0x100(%rbp), %xmm0
ucomisd 0x9914(%rip), %xmm0     # 0x6a908
movslq %ecx, %rcx
jne 0x60ffb
jnp 0x61030
cmpl $0x20, %r13d
je 0x6104b
cmpl $0x4, %r13d
jne 0x6105a
movl -0xdc(%rbp), %edx
addl $-0x7, %edx
cvtsi2sd %edx, %xmm3
leaq 0x17965(%rip), %rdx     # 0x78980
mulsd -0x8(%rdx,%rcx,8), %xmm3
leaq 0x17918(%rip), %rdx     # 0x78940
addsd -0x8(%rdx,%rcx,8), %xmm3
jmp 0x6106f
movapd %xmm1, %xmm3
movsd -0x38(%rbp), %xmm0
movl -0x30(%rbp), %r11d
movzwl -0xb0(%rbp), %r8d
movq -0x40(%rbp), %r13
jmp 0x61098
leaq 0x1796e(%rip), %rdx     # 0x789c0
movsd -0x8(%rdx,%rcx,8), %xmm3
jmp 0x6106f
movsd 0xad3e(%rip), %xmm3     # 0x6bda0
leaq 0xfba7(%rip), %rdx      # 0x70c10
divsd -0x8(%rdx,%rcx,8), %xmm3
movsd -0x38(%rbp), %xmm0
movl -0x30(%rbp), %r11d
movzwl -0xb0(%rbp), %r8d
movq -0x40(%rbp), %r13
addsd -0x128(%rbp), %xmm4
mulsd -0x180(%rbp), %xmm3
addsd %xmm1, %xmm3
shrl $0x3, %esi
andl $0x1, %esi
movb $0x1, %dl
movzwl %r8w, %edi
testw %r8w, %r8w
je 0x61109
xorps %xmm1, %xmm1
cvtsi2sd %edi, %xmm1
mulsd 0xacbf(%rip), %xmm1     # 0x6bd78
leal -0x1(%rax), %r8d
movslq %r8d, %r8
leaq (%r8,%r8,2), %r8
movq -0x110(%rbp), %r9
leaq (%r9,%r8,8), %r9
movsd -0x8(%r9,%rcx,8), %xmm2
ucomisd %xmm1, %xmm2
ja 0x61109
leaq -0x1(%rcx), %r9
addq -0x108(%rbp), %r8
movzbl (%r9,%r8), %r8d
cmpl %r8d, %esi
jne 0x61109
movl -0xb8(%rbp), %edx
testl %edx, %edx
setne %r8b
cmpl -0xd8(%rbp), %edx
setle %dl
andb %r8b, %dl
xorps %xmm1, %xmm1
cvtsi2sd %edi, %xmm1
mulsd 0xac60(%rip), %xmm1     # 0x6bd78
leal -0x1(%rax), %edi
movslq %edi, %rdi
leaq (%rdi,%rdi,2), %rdi
movq -0x110(%rbp), %r8
leaq (%r8,%rdi,8), %r8
movsd %xmm1, -0x8(%r8,%rcx,8)
addq -0x108(%rbp), %rdi
movb %sil, -0x1(%rcx,%rdi)
cmpl $0x0, -0x48(%rbp)
jle 0x61164
movq 0x1d28(%rbx), %rdi
movzbl 0x10(%rdi), %esi
cmpl %esi, %eax
movss -0xb4(%rbp), %xmm1
jne 0x61174
movb $0x1, %dil
xorl %esi, %esi
jmp 0x611a8
xorl %esi, %esi
movl -0x70(%rbp), %r9d
movss -0xb4(%rbp), %xmm1
jmp 0x611c4
movq %r10, %r13
movl -0x48(%rbp), %r8d
addq $0x70, %rdi
leaq -0x1(%r8), %r9
xorl %esi, %esi
cmpq %rsi, %r9
je 0x611b6
movzbl (%rdi), %r10d
addq $0x60, %rdi
incq %rsi
cmpl %r10d, %eax
jne 0x61185
cmpq %r8, %rsi
setb %dil
movq %r13, %r10
movq -0x40(%rbp), %r13
testb %dil, %dil
movl -0x70(%rbp), %r9d
je 0x611c4
jmp 0x6123b
movl %r8d, %esi
movl -0x70(%rbp), %r9d
movq %r13, %r10
movq -0x40(%rbp), %r13
movq 0x1d28(%rbx), %r8
movslq -0x48(%rbp), %rdi
shlq $0x5, %rdi
leaq (%rdi,%rdi,2), %rdi
movq %r10, (%r8,%rdi)
movsd %xmm0, 0x8(%r8,%rdi)
movb %al, 0x10(%r8,%rdi)
movb $0x0, 0x11(%r8,%rdi)
xorl %eax, %eax
movq 0x1d28(%rbx), %r8
addq %rdi, %r8
movq %r12, 0x38(%r8,%rax,8)
movq %r12, 0x20(%r8,%rax,8)
movl $0x0, 0x50(%r8,%rax,4)
movb %r12b, 0x15(%rax,%r8)
movq 0x1d28(%rbx), %r8
addq %rdi, %r8
movb %r12b, 0x12(%rax,%r8)
movq 0x1d28(%rbx), %r8
addq %rdi, %r8
movb %r12b, 0x18(%rax,%r8)
incq %rax
cmpq $0x3, %rax
jne 0x611ef
incl -0x48(%rbp)
decq %rcx
shrb %r9b
andb $0x2, %r9b
orb %r9b, %dl
xorb $0x2, %dl
movl %esi, %eax
shlq $0x5, %rax
leaq (%rax,%rax,2), %rax
movq 0x1d28(%rbx), %rsi
addq %rax, %rsi
movsd %xmm3, 0x20(%rsi,%rcx,8)
movsd %xmm4, 0x38(%rsi,%rcx,8)
movss %xmm1, 0x50(%rsi,%rcx,4)
movb -0xa4(%rbp), %dil
shlb $0x2, %dil
movb %dil, 0x12(%rcx,%rsi)
movq 0x1d28(%rbx), %rsi
addq %rax, %rsi
movb %dl, 0x15(%rcx,%rsi)
addq 0x1d28(%rbx), %rax
movb %r14b, 0x18(%rcx,%rax)
incl %r11d
cmpl -0x90(%rbp), %r11d
jae 0x61733
addq $0x20, %r13
cmpl $0x40, -0x48(%rbp)
jl 0x60c6a
jmp 0x61733
addsd 0xab12(%rip), %xmm0     # 0x6bdd8
ucomisd %xmm0, %xmm2
jbe 0x612d2
decl -0x170(%rbp)
movl -0x170(%rbp), %edi
movapd %xmm2, %xmm0
callq 0x4fbc6
movq %rax, %r15
movsd %xmm0, -0x70(%rbp)
movq %rax, %rdi
callq 0x5034e
movq %rax, %rdi
movq %r15, -0xd0(%rbp)
movq %r15, %rsi
movsd -0x70(%rbp), %xmm1
callq 0x4fe97
movsd %xmm0, -0x50(%rbp)
movl $0x0, -0x90(%rbp)
testl %r12d, %r12d
je 0x616fc
leaq 0x81afe(%rbx), %r15
movsd -0x50(%rbp), %xmm0
addsd 0x977c(%rip), %xmm0     # 0x6aab0
movsd %xmm0, -0x50(%rbp)
leaq 0x7f670(%rbx), %r10
xorl %r13d, %r13d
movl $0x0, -0x90(%rbp)
movl %r12d, -0x30(%rbp)
movq %r10, -0x78(%rbp)
movb 0x1(%r15), %al
andb $-0x4, %al
cmpb $0x4, %al
jne 0x6149d
movzbl 0x4(%r15), %ecx
xorl %r12d, %r12d
cmpq $0x6, %rcx
ja 0x613ad
leaq 0x163d8(%rip), %rdx     # 0x77750
movslq (%rdx,%rcx,4), %rax
addq %rdx, %rax
jmpq *%rax
movl $0x1, %r14d
xorl %eax, %eax
movl %ecx, %r12d
jmp 0x613ea
movl $0x8, %r14d
xorl %eax, %eax
xorl %r12d, %r12d
jmp 0x613ea
movl $0x4, %r14d
movb $0x1, %sil
xorl %eax, %eax
xorl %r12d, %r12d
xorl %edx, %edx
jmp 0x613ee
movb $0x1, %al
xorl %edx, %edx
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r14d, %r14d
jmp 0x613f0
movl $0x2, %r14d
movb $0x1, %cl
xorl %eax, %eax
xorl %r12d, %r12d
xorl %edx, %edx
xorl %esi, %esi
jmp 0x613f0
movl $0x20, %r14d
movb $0x1, %dl
xorl %eax, %eax
xorl %r12d, %r12d
jmp 0x613ec
movl $0x10, %r14d
movl $0xc0, %r12d
xorl %eax, %eax
xorl %edx, %edx
xorl %esi, %esi
xorl %ecx, %ecx
testb %al, %al
je 0x6140c
movl $0x2, %edi
leaq 0x17da1(%rip), %rsi     # 0x791a1
xorl %eax, %eax
callq 0x4ded0
jmp 0x61499
movl %esi, -0x40(%rbp)
movl %edx, -0x48(%rbp)
movl %ecx, -0x38(%rbp)
movzbl 0x5(%r15), %eax
addl %eax, %r12d
movl %r14d, %edi
movl %r12d, %esi
callq 0x4dbc5
testl %eax, %eax
je 0x61480
xorps %xmm1, %xmm1
cvtsi2sdl 0x1c(%r15), %xmm1
movl 0x18(%r15), %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
mulsd 0x1626f(%rip), %xmm1    # 0x776b8
addsd %xmm0, %xmm1
mulsd 0xb8ab(%rip), %xmm1     # 0x6cd00
divsd 0xa01b(%rip), %xmm1     # 0x6b478
movl -0x48(%rbp), %r9d
testb %r9b, %r9b
je 0x614b2
addsd 0x953a(%rip), %xmm1     # 0x6a9a8
movl -0x30(%rbp), %r12d
movapd -0xa0(%rbp), %xmm0
movq -0x78(%rbp), %r10
jmp 0x614cd
movl $0x2, %edi
leaq 0x17d30(%rip), %rsi     # 0x791bc
movl %r14d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x4ded0
movl -0x30(%rbp), %r12d
incl %r13d
addq $0x38, %r15
cmpl %r12d, %r13d
jne 0x61355
jmp 0x616fc
cmpb $0x0, -0x40(%rbp)
movapd -0xa0(%rbp), %xmm0
movq -0x78(%rbp), %r10
je 0x614c9
subsd -0x50(%rbp), %xmm1
movl -0x30(%rbp), %r12d
xorl %r11d, %r11d
subsd %xmm1, %xmm0
movsd 0xa8f4(%rip), %xmm1     # 0x6bdd0
ucomisd %xmm0, %xmm1
jbe 0x614ec
addsd 0xa8fe(%rip), %xmm0     # 0x6bde8
jmp 0x614fe
ucomisd 0xa8e4(%rip), %xmm0     # 0x6bdd8
jbe 0x614fe
addsd 0xa8e2(%rip), %xmm0     # 0x6bde0
movzbl 0x8(%r15), %ecx
movzwl 0x14(%r15), %edx
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
cvtsi2sdl 0x24(%r15), %xmm2
mulsd 0xa87b(%rip), %xmm1     # 0x6bd98
mulsd 0x16193(%rip), %xmm2    # 0x776b8
xorpd %xmm4, %xmm4
testb $0x40, %cl
je 0x61536
movsd 0xa742(%rip), %xmm4     # 0x6bc78
movb 0x11(%r15), %dl
movl 0x20(%r15), %esi
cvtsi2sd %rsi, %xmm3
addsd %xmm3, %xmm2
mulsd 0xb7b1(%rip), %xmm2     # 0x6cd00
xorps %xmm3, %xmm3
cvtsi2sdl 0x28(%r15), %xmm3
mulsd 0xd910(%rip), %xmm3     # 0x6ee70
mulsd 0x9560(%rip), %xmm3     # 0x6aac8
movzbl %dl, %esi
testb %dl, %dl
je 0x61589
cvtsi2sd %esi, %xmm5
leal -0x1(%rax), %edi
movslq %edi, %rdi
leaq (%rdi,%rdi,2), %rdi
movsd (%r10,%rdi,8), %xmm6
ucomisd %xmm5, %xmm6
jbe 0x615a2
leal -0x1(%rax), %edi
movslq %edi, %rdi
leaq (%rdi,%rdi,2), %rdi
movabsq $0x3ff0000000000000, %r8 # imm = 0x3FF0000000000000
movq %r8, 0x8(%r10,%rdi,8)
xorps %xmm5, %xmm5
cvtsi2sd %esi, %xmm5
leal -0x1(%rax), %esi
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %rsi
movsd %xmm5, (%r10,%rsi,8)
testb $0x20, %cl
je 0x6149d
addsd %xmm4, %xmm2
xorpd 0x9502(%rip), %xmm2     # 0x6aad0
leaq (%r10,%rsi,8), %rdi
movq 0x1d28(%rbx), %r8
movslq -0x90(%rbp), %rsi
shlq $0x5, %rsi
leaq (%rsi,%rsi,2), %rsi
movl %r9d, %r14d
movq -0xd0(%rbp), %r9
movq %r9, (%r8,%rsi)
movsd -0x70(%rbp), %xmm4
movsd %xmm4, 0x8(%r8,%rsi)
movb %al, 0x10(%r8,%rsi)
mulsd 0xa791(%rip), %xmm0     # 0x6bda0
movsd %xmm0, 0x38(%r8,%rsi)
xorps %xmm0, %xmm0
cvtsd2ss %xmm3, %xmm0
movlpd %xmm2, 0x20(%r8,%rsi)
mulsd 0x927c(%rip), %xmm1     # 0x6a8a8
cvttsd2si %xmm1, %eax
movss %xmm0, 0x50(%r8,%rsi)
movb %al, 0x12(%r8,%rsi)
testb %r14b, %r14b
movl $0x1, %eax
movl $0x2f, %r8d
cmovnel %r8d, %eax
movq 0x1d28(%rbx), %r8
movb %al, 0x18(%r8,%rsi)
movsd 0x8(%rdi), %xmm0
ucomisd 0x92a1(%rip), %xmm0     # 0x6a908
movq 0x1d28(%rbx), %rax
seta 0x15(%rax,%rsi)
movq 0x1d28(%rbx), %rax
xorl %r8d, %r8d
testb %cl, %cl
sets %r8b
xorl %ecx, %ecx
cmpb $-0x71, %dl
setae %cl
cmpb $0x0, -0x38(%rbp)
cmovnel %ecx, %r8d
xorb $0x1, %r8b
addb %r8b, %r8b
orb %r8b, 0x15(%rax,%rsi)
movq $0x0, 0x8(%rdi)
xorl %eax, %eax
movq 0x1d28(%rbx), %rcx
addq %rsi, %rcx
movq %r11, 0x40(%rcx,%rax,8)
movq %r11, 0x28(%rcx,%rax,8)
movl $0x0, 0x54(%rcx,%rax,4)
movb %r11b, 0x16(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %rsi, %rcx
movb %r11b, 0x13(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %rsi, %rcx
movb %r11b, 0x19(%rax,%rcx)
incq %rax
cmpq $0x2, %rax
jne 0x616a9
incl -0x90(%rbp)
jmp 0x6149d
movl -0x90(%rbp), %ecx
testl %ecx, %ecx
movl $0x0, %r13d
jle 0x5f886
movq -0xd0(%rbp), %rax
movq %rax, (%rbx)
movsd -0x70(%rbp), %xmm0
movsd %xmm0, 0x8(%rbx)
movl %ecx, 0x1d20(%rbx)
jmp 0x61744
movl $0x0, -0x48(%rbp)
movq %r10, (%rbx)
movsd %xmm0, 0x8(%rbx)
movl -0x48(%rbp), %eax
movl %eax, 0x1d20(%rbx)
movl $0x1, %r13d
jmp 0x5f886
movq %rbx, %rdi
movl %eax, %esi
movl $0x8, %edx
jmp 0x61778
movzbl 0x81a99(%rbx), %ecx
movq %rbx, %rdi
movl %eax, %esi
movl $0x8, %edx
jmp 0x6179f
movq %rbx, %rdi
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x62216
movzbl 0x81a9a(%rbx), %ecx
movq %rbx, %rdi
movl %eax, %esi
movl $0xd, %edx
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x62915
movl %r15d, %edi
movq %rbx, %rsi
callq 0x61e6f
movl $0x9, %r13d
jmp 0x5f886
movl %r15d, %edi
movq %rbx, %rsi
callq 0x61f1e
jmp 0x5f886