// File: /workspace/github_cpp_makefile_star2_O2/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 $0x148, %rsp            # imm = 0x148
movq %rdi, %rbx
leaq 0x81a90(%rdi), %rax
movq %rax, -0x38(%rbp)
movzbl 0x81a92(%rdi), %r15d
movl %r15d, %r14d
shll $0x8, %r14d
movzbl 0x81a93(%rdi), %r12d
orl %r12d, %r14d
movl 0x81a78(%rdi), %ecx
leaq 0x191b0(%rip), %rsi     # 0x6eaf7
xorl %r13d, %r13d
pushq $0x3
popq %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0x455bc
movslq 0x81a78(%rbx), %r8
leaq -0x2(%r8), %rax
movl $0x81a92, %edx          # imm = 0x81A92
xorl %ecx, %ecx
leaq -0x81a90(%rdx), %rsi
cmpq %rax, %rsi
jge 0x55981
addb (%rbx,%rdx), %r13b
addb %r13b, %cl
incq %rdx
jmp 0x55969
movq -0x38(%rbp), %rdx
cmpb (%rdx,%rax), %r13b
jne 0x55a70
movq %rdx, %r13
cmpb -0x1(%rdx,%r8), %cl
jne 0x55a70
leal -0x210(%r14), %eax
cmpl $0x5, %eax
jbe 0x55aa0
cmpl $0x106, %r14d           # imm = 0x106
je 0x55da7
cmpl $0x120, %r14d           # imm = 0x120
je 0x55e96
cmpl $0x30a, %r14d           # imm = 0x30A
je 0x55df7
cmpl $0x30f, %r14d           # imm = 0x30F
je 0x55cde
cmpl $0x310, %r14d           # imm = 0x310
jne 0x55b57
leaq 0x196fe(%rip), %rsi     # 0x6f0f3
movl $0x0, -0x40(%rbp)
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55a2d
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x196e5(%rip), %rsi     # 0x6f10b
xorl %eax, %eax
callq 0x8110
movq (%rbx), %r12
testq %r12, %r12
je 0x575a7
movzbl 0x81a98(%rbx), %ecx
movl 0x81a78(%rbx), %edx
imull $0x38, %ecx, %eax
addl $0x70, %eax
cmpl %eax, %edx
jge 0x56149
leaq 0x196c5(%rip), %rsi     # 0x6f120
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0x455bc
pushq $-0x1
popq %rax
movl %eax, -0x40(%rbp)
jmp 0x575a7
leaq 0x1909e(%rip), %rsi     # 0x6eb15
pushq $0x2
popq %rdi
movl %r14d, %edx
movl %r8d, %ecx
xorl %eax, %eax
callq 0x455bc
pushq $-0x1
popq %r12
movl %r12d, %eax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x17bf9(%rip), %rcx     # 0x6d6a0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
andq $0x0, -0x140(%rbp)
leaq 0x19094(%rip), %rsi     # 0x6eb53
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55af7
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a9c(%rbx), %ecx
leaq 0x1907a(%rip), %rsi     # 0x6eb6a
xorl %eax, %eax
callq 0x8110
leaq 0x82a90(%rbx), %rdi
leaq 0x19082(%rip), %rsi     # 0x6eb87
movq %rdi, -0xb0(%rbp)
callq 0x8170
testq %rax, %rax
je 0x55b2e
leaq 0x19071(%rip), %rsi     # 0x6eb8e
leaq -0x140(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8600
movzbl 0x81a9c(%rbx), %r13d
movl 0x81a78(%rbx), %edx
imull $0x18, %r13d, %eax
addl $0xc, %eax
cmpl %eax, %edx
jge 0x55f1e
leaq 0x19046(%rip), %rsi     # 0x6eb98
jmp 0x5611c
cmpl $0x0, 0x81a8c(%rbx)
je 0x56b8e
addq $0x70e70, %rbx          # imm = 0x70E70
andl $0xf, %r12d
leaq 0x18fc5(%rip), %rsi     # 0x6eb3b
movq %rbx, %rdi
movl %r15d, %edx
movl %r12d, %ecx
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x8110
jmp 0x55a8b
leaq 0x1926c(%rip), %rsi     # 0x6ee01
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55bd5
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a96(%rbx), %ecx
movzbl 0x81a97(%rbx), %r8d
leaq 0x1924c(%rip), %rsi     # 0x6ee1a
xorl %eax, %eax
callq 0x8110
movzbl 0x81a96(%rbx), %r14d
movl %r14d, %edi
callq 0x57adf
testl %eax, %eax
je 0x56127
movl %eax, %r15d
movzbl 0x81a97(%rbx), %eax
leal 0xc0(%rax), %r14d
cmpl $0x10, %r15d
cmovnel %eax, %r14d
movl %r15d, %edi
movl %r14d, %esi
callq 0x452fd
testl %eax, %eax
je 0x563d2
xorl %r12d, %r12d
leal -0x1(%r15), %ecx
cmpl $0x7, %ecx
ja 0x5680a
leaq 0x17aa8(%rip), %rdx     # 0x6d6d8
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
pushq $0x8
jmp 0x55d8b
leaq 0x1911b(%rip), %rsi     # 0x6ed62
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55c7f
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a97(%rbx), %ecx
leaq 0x19102(%rip), %rsi     # 0x6ed7a
xorl %eax, %eax
callq 0x8110
movl 0x81a78(%rbx), %edx
cmpl $0x29, %edx
jg 0x55fe3
leaq 0x19102(%rip), %rsi     # 0x6ed97
pushq $0x2
popq %rdi
jmp 0x56426
andq $0x0, -0xa0(%rbp)
andl $0x0, -0xb4(%rbp)
leaq 0x18f5c(%rip), %rsi     # 0x6ec0f
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
movl 0x81a78(%rbx), %edx
cmpl $0x17, %edx
jg 0x560e7
leaq 0x18f51(%rip), %rsi     # 0x6ec27
pushq $0x2
popq %rdi
jmp 0x5613d
leaq 0x19523(%rip), %rsi     # 0x6f208
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55d25
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a97(%rbx), %ecx
movzbl 0x81a98(%rbx), %r8d
leaq 0x19503(%rip), %rsi     # 0x6f221
xorl %eax, %eax
callq 0x8110
movzbl 0x81a97(%rbx), %r14d
movl %r14d, %edi
callq 0x57adf
testl %eax, %eax
je 0x56130
movl %eax, %r15d
movzbl 0x81a98(%rbx), %eax
leal 0xc0(%rax), %r14d
cmpl $0x10, %r15d
cmovnel %eax, %r14d
movl %r15d, %edi
movl %r14d, %esi
callq 0x452fd
testl %eax, %eax
je 0x563f2
xorl %r12d, %r12d
leal -0x1(%r15), %ecx
cmpl $0x7, %ecx
ja 0x56b96
leaq 0x17938(%rip), %rdx     # 0x6d6b8
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
pushq $0xd
popq %rdx
movq %rbx, %rdi
movl %eax, %esi
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x588e3
leaq 0x192ec(%rip), %rsi     # 0x6f09a
xorl %r12d, %r12d
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55de2
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x192d6(%rip), %rsi     # 0x6f0b1
xorl %eax, %eax
callq 0x8110
movb 0x81aa1(%rbx), %al
notb %al
testb $0xc, %al
jne 0x55a8b
jmp 0x55ee1
leaq 0x19399(%rip), %rsi     # 0x6f197
xorl %r12d, %r12d
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55e32
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x19382(%rip), %rsi     # 0x6f1ad
xorl %eax, %eax
callq 0x8110
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x55a8b
movsd 0x8(%rbx), %xmm0
callq 0x47732
movq (%rbx), %rsi
movsd 0x8(%rbx), %xmm1
movq %rax, %rdi
callq 0x47322
movsd %xmm0, -0x78(%rbp)
movzbl 0x81a96(%rbx), %eax
pushq $0x56
popq %r14
pushq $0x38
popq %rcx
movq %rcx, -0xb0(%rbp)
cmpl $0x3, %eax
movl %eax, -0x50(%rbp)
je 0x5643d
cmpl $0x6, %eax
jne 0x56439
pushq $0x40
popq %rax
movq %rax, -0xb0(%rbp)
jmp 0x5643d
leaq 0x19229(%rip), %rsi     # 0x6f0c6
xorl %r12d, %r12d
pushq $0x4
popq %rdi
movl %r8d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x55ed1
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x19214(%rip), %rsi     # 0x6f0de
xorl %eax, %eax
callq 0x8110
movb 0x81aa1(%rbx), %al
notb %al
testb $0x3, %al
jne 0x55a8b
cvtsi2sdl 0x81a96(%rbx), %xmm0
cvtsi2sdl 0x81a9a(%rbx), %xmm1
mulsd 0xce0f(%rip), %xmm1     # 0x62d08
movzwl 0x81a9e(%rbx), %edi
mulsd 0xbe70(%rip), %xmm0     # 0x61d78
addsd %xmm1, %xmm0
callq 0x4708a
movq %rax, (%rbx)
movsd %xmm0, 0x8(%rbx)
jmp 0x55a8b
movl 0x81a96(%rbx), %eax
cvtsi2sd %rax, %xmm0
movzwl 0x81a9a(%rbx), %r14d
movl %r14d, -0xa0(%rbp)
mulsd 0xbe38(%rip), %xmm0     # 0x61d78
movl %r14d, %edi
callq 0x4708a
testl %r14d, %r14d
je 0x56407
movq %rax, %r15
movsd -0x140(%rbp), %xmm1
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jbe 0x5658b
leaq -0xa0(%rbp), %rsi
movq %r15, %rdi
movsd %xmm0, -0x90(%rbp)
callq 0x470f1
movapd %xmm0, %xmm1
movsd -0x140(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
divsd %xmm0, %xmm1
movapd %xmm1, -0x70(%rbp)
movsd 0xbcd5(%rip), %xmm0     # 0x61c78
addsd %xmm1, %xmm0
callq 0x8ac0
movapd -0x70(%rbp), %xmm2
subsd %xmm0, %xmm2
mulsd -0x38(%rbp), %xmm2
movapd 0xaafe(%rip), %xmm1     # 0x60ac0
movapd %xmm2, -0x70(%rbp)
xorpd %xmm2, %xmm1
movq %r15, %rdi
movsd -0x90(%rbp), %xmm0
callq 0x472ee
movq %rax, %r15
jmp 0x56594
movzbl 0x81a97(%rbx), %r14d
cmpl $0x78, %r14d
movl %r14d, -0xa0(%rbp)
pushq $0x1
popq %r13
movl %r13d, %edi
sbbl $-0x1, %edi
movl %r14d, %esi
callq 0x452fd
testl %eax, %eax
je 0x56419
movl %eax, %r15d
leaq -0xa0(%rbp), %rsi
movl %eax, %edi
callq 0x45362
cmpl $0x2, %eax
je 0x56bc8
xorl %r14d, %r14d
cmpl $0x1, %eax
jne 0x56431
movl 0x81a9c(%rbx), %r12d
shrl $0x2, %r12d
andl $0x7, %r12d
leaq 0x18d99(%rip), %rsi     # 0x6ede5
xorl %r14d, %r14d
pushq $0x4
popq %rdi
movl %r15d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x455bc
leal -0x6(%r12), %eax
cmpl $-0x5, %eax
jb 0x56431
movl %r15d, %eax
decl %eax
cltq
imulq $0x17c, %rax, %rax      # imm = 0x17C
addq %rbx, %rax
imulq $0x1e, %r12, %rcx
addq %rcx, %rax
addq $0x70f52, %rax          # imm = 0x70F52
leaq 0x81a98(%rbx), %rcx
xorl %edx, %edx
pushq $0x17
popq %rsi
cmpl $0xa, %edx
je 0x575bf
movl %r13d, %edi
movl %esi, %r8d
cmpl $-0x1, %r8d
je 0x560db
movzbl (%rax), %r9d
movl (%rcx), %r10d
xorl %r11d, %r11d
btl %r8d, %r10d
setb %r11b
leal (%r11,%r9,2), %r9d
movb %r9b, (%rax)
movl %edi, %r9d
andl $0x7, %r9d
cmpl $0x1, %r9d
adcq $0x0, %rax
decl %r8d
incl %edi
jmp 0x560a6
incl %edx
addq $0x4, %rcx
addl $0x18, %r13d
jmp 0x56097
movsd 0x81a96(%rbx), %xmm0
movzwl 0x81a9e(%rbx), %edi
movl %edi, -0xdc(%rbp)
movzbl 0x81aa1(%rbx), %r13d
movl %r13d, %eax
shll $0x5, %eax
orl $0x18, %eax
cmpl %eax, %edx
jae 0x5626b
leaq 0x18b2d(%rip), %rsi     # 0x6ec49
pushq $0x2
popq %rdi
movl %r13d, %ecx
jmp 0x55a80
leaq 0x18d10(%rip), %rsi     # 0x6ee3e
jmp 0x56137
leaq 0x1910e(%rip), %rsi     # 0x6f245
pushq $0x2
popq %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0x455bc
jmp 0x55a87
leaq 0x81afe(%rbx), %r15
movl %ecx, -0x70(%rbp)
movl %ecx, %eax
imulq $0x38, %rax, %r14
movsd 0xa83f(%rip), %xmm0     # 0x609a0
xorl %r13d, %r13d
cmpl %r13d, %r14d
je 0x561db
cmpb $0x4, 0x81aff(%rbx,%r13)
jb 0x561d5
movsd %xmm0, -0x38(%rbp)
movzbl 0x81b02(%rbx,%r13), %edi
callq 0x57adf
cmpl $0x1, %eax
jne 0x561d0
cvtsi2sdl 0x81b1a(%rbx,%r13), %xmm2
movl 0x81b16(%rbx,%r13), %eax
cvtsi2sd %rax, %xmm1
mulsd 0x174e5(%rip), %xmm2    # 0x6d690
addsd %xmm1, %xmm2
mulsd 0xcb49(%rip), %xmm2     # 0x62d00
divsd 0xb2a9(%rip), %xmm2     # 0x61468
movsd -0x38(%rbp), %xmm0
ucomisd %xmm0, %xmm2
jbe 0x561d5
movapd %xmm2, %xmm0
jmp 0x561d5
movsd -0x38(%rbp), %xmm0
addq $0x38, %r13
jmp 0x56164
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
ja 0x575a0
addsd 0x17497(%rip), %xmm0    # 0x6d688
divsd 0xbb8f(%rip), %xmm0     # 0x61d88
addsd 0xba77(%rip), %xmm0     # 0x61c78
callq 0x8ac0
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
mulsd 0xbb72(%rip), %xmm0     # 0x61d88
movapd %xmm0, -0xb0(%rbp)
movsd 0x8(%rbx), %xmm0
leaq -0x140(%rbp), %rsi
movq %r12, %rdi
callq 0x470f1
movsd 0xbb86(%rip), %xmm1     # 0x61dc0
addsd %xmm0, %xmm1
movapd -0xb0(%rbp), %xmm2
ucomisd %xmm2, %xmm1
movapd %xmm2, %xmm1
jbe 0x57205
movl -0x140(%rbp), %edi
incl %edi
movl %edi, -0x140(%rbp)
movl -0x70(%rbp), %r12d
jmp 0x57225
testl %edi, %edi
je 0x56c14
movzbl 0x81aa3(%rbx), %r15d
callq 0x4708a
movq %rax, %r12
cmpl $0x0, 0x81a8c(%rbx)
movsd %xmm0, -0x48(%rbp)
je 0x562cf
leaq -0x140(%rbp), %r14
pushq $0x2
popq %rdx
movq %r12, %rdi
movsd -0x48(%rbp), %xmm0
movq %r14, %rsi
callq 0x47a48
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
leaq 0x189e0(%rip), %rsi     # 0x6ec9f
movq %r14, %rcx
movl %r13d, %r8d
movl %r15d, %r9d
xorl %eax, %eax
callq 0x8110
movq %r12, %r14
leaq 0x82a90(%rbx), %r12
leaq 0x188a7(%rip), %rsi     # 0x6eb87
movq %r12, %rdi
callq 0x8170
testq %rax, %rax
je 0x56305
leaq 0x1889a(%rip), %rsi     # 0x6eb8e
leaq -0xa0(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8600
leaq 0x189c0(%rip), %rsi     # 0x6eccc
movq %r12, %rdi
callq 0x8170
testq %rax, %rax
je 0x56331
leaq 0x189b7(%rip), %rsi     # 0x6ecd7
leaq -0xb4(%rbp), %rdx
movq %rax, %rdi
xorl %eax, %eax
callq 0x8600
movsd -0xa0(%rbp), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
movl %r15d, -0xd4(%rbp)
jbe 0x56c4e
leaq -0xdc(%rbp), %rsi
movq %r14, %rdi
movsd -0x48(%rbp), %xmm0
callq 0x470f1
movapd %xmm0, %xmm1
movsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
divsd %xmm0, %xmm1
movapd %xmm1, -0xf0(%rbp)
movsd 0xb8f1(%rip), %xmm0     # 0x61c78
addsd %xmm1, %xmm0
callq 0x8ac0
movapd -0xf0(%rbp), %xmm2
subsd %xmm0, %xmm2
mulsd -0x38(%rbp), %xmm2
movapd %xmm2, -0xf0(%rbp)
movapd 0xa70f(%rip), %xmm1     # 0x60ac0
xorpd %xmm2, %xmm1
movq %r14, %rdi
movsd -0x48(%rbp), %xmm0
callq 0x472ee
movapd -0xf0(%rbp), %xmm2
movq %rax, %r14
jmp 0x56c57
movl %r15d, %eax
xorl $0x4, %eax
movl %r14d, %ecx
xorl $0xff, %ecx
orl %eax, %ecx
je 0x56b8e
leaq 0x18a71(%rip), %rsi     # 0x6ee61
jmp 0x563f9
leaq 0x18e6f(%rip), %rsi     # 0x6f268
pushq $0x2
popq %rdi
movl %r15d, %edx
movl %r14d, %ecx
jmp 0x55a80
movl 0x81a78(%rbx), %edx
leaq 0x187ad(%rip), %rsi     # 0x6ebc1
jmp 0x56c1b
leaq 0x18999(%rip), %rsi     # 0x6edb9
pushq $0x2
popq %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0x455bc
pushq $-0x1
popq %r14
movl %r14d, %r12d
jmp 0x55a8b
pushq $0x4e
popq %r14
leaq (%r14,%r13), %rax
movq %rax, -0x90(%rbp)
movslq 0x81a78(%rbx), %r15
addq $-0x2, %r15
movsd -0x78(%rbp), %xmm0
addsd 0xa640(%rip), %xmm0     # 0x60aa0
movsd %xmm0, -0x78(%rbp)
movsd 0xa533(%rip), %xmm0     # 0x609a0
movq -0xb0(%rbp), %r13
cmpq %r15, %r14
jge 0x56505
cmpb $0x4, 0x81ab9(%rbx,%r14)
jb 0x564fd
movsd %xmm0, -0x40(%rbp)
cvtsi2sdl 0x81a94(%rbx,%r14), %xmm1
movl 0x81a90(%rbx,%r14), %eax
cvtsi2sd %rax, %xmm0
mulsd 0x171e4(%rip), %xmm1    # 0x6d690
addsd %xmm0, %xmm1
mulsd 0xc848(%rip), %xmm1     # 0x62d00
divsd 0xafa8(%rip), %xmm1     # 0x61468
movsd %xmm1, -0x70(%rbp)
movzbl 0x81ac8(%rbx,%r14), %edi
callq 0x57adf
cmpl $0x4, %eax
je 0x564e4
movsd -0x40(%rbp), %xmm0
movsd -0x70(%rbp), %xmm1
jmp 0x564f3
movsd -0x70(%rbp), %xmm1
subsd -0x78(%rbp), %xmm1
movsd -0x40(%rbp), %xmm0
ucomisd %xmm0, %xmm1
jbe 0x564fd
movapd %xmm1, %xmm0
addq %r13, %r14
jmp 0x56474
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
ja 0x55a8b
addsd 0x1716d(%rip), %xmm0    # 0x6d688
divsd 0xb865(%rip), %xmm0     # 0x61d88
addsd 0xb74d(%rip), %xmm0     # 0x61c78
callq 0x8ac0
cvttpd2dq %xmm0, %xmm0
cvtdq2pd %xmm0, %xmm0
mulsd 0xb848(%rip), %xmm0     # 0x61d88
movapd %xmm0, -0x70(%rbp)
movq (%rbx), %rdi
movsd 0x8(%rbx), %xmm0
leaq -0x140(%rbp), %rsi
callq 0x470f1
movapd -0x70(%rbp), %xmm2
movsd 0xb85a(%rip), %xmm1     # 0x61dc0
addsd %xmm0, %xmm1
ucomisd %xmm2, %xmm1
jbe 0x56825
movl -0x140(%rbp), %edi
incl %edi
movl %edi, -0x140(%rbp)
movl -0x50(%rbp), %r15d
jmp 0x56845
xorpd %xmm1, %xmm1
movapd %xmm1, -0x70(%rbp)
movq (%rbx), %rsi
movsd 0x8(%rbx), %xmm1
movq %r15, -0x50(%rbp)
movq %r15, %rdi
movsd %xmm0, -0x90(%rbp)
callq 0x47322
movapd %xmm0, %xmm2
leaq 0x81a9e(%rbx), %r14
cmpl $0x40, %r13d
pushq $0x40
popq %rax
cmovbl %r13d, %eax
movl %eax, -0x78(%rbp)
movapd -0x70(%rbp), %xmm3
xorpd 0xa4ea(%rip), %xmm3     # 0x60ac0
leaq 0x7f670(%rbx), %rax
movq %rax, -0xd0(%rbp)
movsd 0xa4cc(%rip), %xmm0     # 0x60ab8
cmpltpd %xmm2, %xmm0
movsd 0x9327(%rip), %xmm1     # 0x5f920
movapd %xmm2, -0x150(%rbp)
cmpltpd %xmm1, %xmm2
orpd %xmm0, %xmm2
movss %xmm2, -0x48(%rbp)
xorl %r12d, %r12d
movsd 0xa31e(%rip), %xmm0     # 0x60938
mulsd %xmm3, %xmm0
movsd %xmm0, -0x80(%rbp)
mulsd 0xb775(%rip), %xmm3     # 0x61da0
xorl %edx, %edx
xorl %eax, %eax
movapd %xmm3, %xmm1
movapd %xmm3, -0x70(%rbp)
cmpl -0x78(%rbp), %eax
je 0x567eb
movl %eax, -0x40(%rbp)
movq 0x1d28(%rbx), %rax
movl %edx, -0x38(%rbp)
movslq %edx, %rcx
imulq $0x60, %rcx, %r15
movq -0x50(%rbp), %rcx
movq %rcx, (%rax,%r15)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, 0x8(%rax,%r15)
movsd (%r14), %xmm0
addsd -0x80(%rbp), %xmm0
movsd %xmm0, 0x20(%rax,%r15)
movsd 0x8(%r14), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rax,%r15)
movss 0x10(%r14), %xmm0
movss %xmm0, 0x50(%rax,%r15)
movzbl 0x14(%r14), %r13d
movsbl 0x16(%r14), %ecx
cvtsi2sd %ecx, %xmm0
mulsd 0xa1e7(%rip), %xmm0     # 0x60898
addsd 0xb5bf(%rip), %xmm0     # 0x61c78
cvttsd2si %xmm0, %ecx
movb %cl, 0x12(%rax,%r15)
movb 0x17(%r14), %al
movq 0x1d28(%rbx), %rcx
movb %al, 0x15(%rcx,%r15)
movq 0x1d28(%rbx), %rax
movb $0x1, 0x18(%rax,%r15)
movq -0xb0(%rbp), %rdi
leaq 0x150fa(%rip), %rsi     # 0x6b7e7
callq 0x8170
testq %rax, %rax
je 0x56714
movq 0x1d28(%rbx), %rax
movsd 0x20(%rax,%r15), %xmm0
xorpd 0xa3b3(%rip), %xmm0     # 0x60ac0
movlpd %xmm0, 0x20(%rax,%r15)
cmpb $0x78, %r13b
pushq $0x1
popq %rdi
sbbl $-0x1, %edi
movl %r13d, %esi
callq 0x452fd
testl %eax, %eax
je 0x567c1
movq 0x1d28(%rbx), %rcx
movb %al, 0x10(%rcx,%r15)
decl %eax
cltq
imulq $0x18, %rax, %rax
addq -0xd0(%rbp), %rax
movb 0x15(%rcx,%r15), %cl
orb -0x48(%rbp), %cl
xorpd %xmm0, %xmm0
testb $0x1, %cl
jne 0x56766
movsd (%rax), %xmm0
addsd -0x150(%rbp), %xmm0
movsd %xmm0, (%rax)
xorl %eax, %eax
movapd -0x70(%rbp), %xmm1
movl -0x38(%rbp), %edx
cmpq $0x2, %rax
je 0x567bd
movq 0x1d28(%rbx), %rcx
addq %r15, %rcx
andq $0x0, 0x40(%rcx,%rax,8)
andq $0x0, 0x28(%rcx,%rax,8)
andl $0x0, 0x54(%rcx,%rax,4)
movb %r12b, 0x16(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %r15, %rcx
movb %r12b, 0x13(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %r15, %rcx
movb %r12b, 0x19(%rax,%rcx)
incq %rax
jmp 0x56774
incl %edx
jmp 0x567dd
pushq $0x2
popq %rdi
leaq 0x1841f(%rip), %rsi     # 0x6ebea
movl %r13d, %edx
xorl %eax, %eax
callq 0x455bc
movapd -0x70(%rbp), %xmm1
movl -0x38(%rbp), %edx
movl -0x40(%rbp), %eax
incl %eax
addq $0x18, %r14
jmp 0x56638
movq -0x50(%rbp), %rax
movq %rax, (%rbx)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, 0x8(%rbx)
movl %edx, 0x1d20(%rbx)
jmp 0x571fe
cmpl $0x10, %r15d
je 0x56c10
cmpl $0x20, %r15d
jne 0x55a8b
pushq $0x8
jmp 0x56bac
addsd 0xb59b(%rip), %xmm0     # 0x61dc8
ucomisd %xmm0, %xmm2
movl -0x140(%rbp), %edi
movl -0x50(%rbp), %r15d
jbe 0x56845
decl %edi
movl %edi, -0x140(%rbp)
movapd %xmm2, %xmm0
callq 0x4708a
xorl %r12d, %r12d
movq %rax, -0xd0(%rbp)
movq %rax, %rdi
movsd %xmm0, -0x48(%rbp)
xorl %esi, %esi
callq 0x47b0e
leaq 0x169a5(%rip), %rsi     # 0x6d213
pushq $0x4
popq %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x455bc
leaq 0x7f670(%rbx), %rax
movq %rax, -0x80(%rbp)
movl $0x0, -0x40(%rbp)
movq -0x90(%rbp), %r9
movq %r9, %rax
subq -0x38(%rbp), %rax
movslq 0x81a78(%rbx), %rcx
addq $-0x2, %rcx
cmpq %rcx, %rax
jge 0x56b74
movb 0x29(%r9), %r14b
andb $0x7, %r14b
cmpb $0x4, %r14b
jb 0x56b68
cmpb $0x6, %r15b
jne 0x568fa
movzbl 0x38(%r9), %edi
movq %r9, %r13
callq 0x57adf
testl %eax, %eax
je 0x56b54
movl %eax, %edi
movq %r13, -0x90(%rbp)
movzbl 0x39(%r13), %eax
leal 0xc0(%rax), %r15d
cmpl $0x10, %edi
cmovnel %eax, %r15d
jmp 0x56910
movq %r9, -0x90(%rbp)
movzbl 0x22(%r9), %r15d
cmpl $0x78, %r15d
pushq $0x2
popq %rdi
sbbl $0x0, %edi
movl %r15d, %esi
movl %edi, %r13d
callq 0x452fd
testl %eax, %eax
je 0x56980
movq -0x90(%rbp), %r9
cvtsi2sdl 0x4(%r9), %xmm1
movl (%r9), %ecx
cvtsi2sd %rcx, %xmm0
mulsd 0x16d54(%rip), %xmm1    # 0x6d690
addsd %xmm0, %xmm1
mulsd 0xc3b8(%rip), %xmm1     # 0x62d00
divsd 0xab18(%rip), %xmm1     # 0x61468
cmpl $0x4, %r13d
jne 0x5695b
subsd -0x78(%rbp), %xmm1
movl -0x50(%rbp), %r15d
movapd -0x70(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd 0xb450(%rip), %xmm1     # 0x61dc0
ucomisd %xmm0, %xmm1
jbe 0x569a7
addsd 0xb45a(%rip), %xmm0     # 0x61dd8
jmp 0x569b9
pushq $0x2
popq %rdi
leaq 0x18851(%rip), %rsi     # 0x6f1db
movl %r13d, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0x455bc
movl -0x50(%rbp), %r15d
movq -0x90(%rbp), %r9
jmp 0x56b68
ucomisd 0xb419(%rip), %xmm0     # 0x61dc8
jbe 0x569b9
addsd 0xb417(%rip), %xmm0     # 0x61dd0
movzbl 0x36(%r9), %ecx
xorpd %xmm1, %xmm1
cmpb $0x6, %r14b
jb 0x56a00
cvtsi2sdl 0xc(%r9), %xmm1
mulsd 0x16cba(%rip), %xmm1    # 0x6d690
xorpd %xmm2, %xmm2
testb $0x1, %cl
je 0x569e7
movsd 0xb291(%rip), %xmm2     # 0x61c78
movl 0x8(%r9), %edx
cvtsi2sd %rdx, %xmm3
addsd %xmm3, %xmm1
mulsd 0xc304(%rip), %xmm1     # 0x62d00
addsd %xmm2, %xmm1
cvtsi2sdl 0x10(%r9), %xmm2
mulsd 0xdd1a(%rip), %xmm2     # 0x64728
movzwl 0x20(%r9), %edx
cvtsi2sd %edx, %xmm3
mulsd 0x9fe1(%rip), %xmm2     # 0x60a00
mulsd 0xb371(%rip), %xmm3     # 0x61d98
movsd 0xa089(%rip), %xmm4     # 0x60ab8
ucomisd %xmm3, %xmm4
jb 0x56a52
leal -0x1(%rax), %edx
movslq %edx, %rdx
imulq $0x18, %rdx, %rdx
movq -0x80(%rbp), %rsi
movabsq $0x3ff0000000000000, %rdi # imm = 0x3FF0000000000000
movq %rdi, 0x8(%rsi,%rdx)
testb $0x8, %cl
je 0x56b68
movl %eax, %ecx
decl %ecx
movslq %ecx, %rdx
movq 0x1d28(%rbx), %rsi
movslq -0x40(%rbp), %rcx
imulq $0x60, %rcx, %rcx
movq -0xd0(%rbp), %rdi
movq %rdi, (%rsi,%rcx)
movsd -0x48(%rbp), %xmm4
movsd %xmm4, 0x8(%rsi,%rcx)
movb %al, 0x10(%rsi,%rcx)
mulsd 0xb30d(%rip), %xmm0     # 0x61da0
movsd %xmm0, 0x38(%rsi,%rcx)
xorpd 0xa01f(%rip), %xmm1     # 0x60ac0
movlpd %xmm1, 0x20(%rsi,%rcx)
cvtsd2ss %xmm2, %xmm0
movss %xmm0, 0x50(%rsi,%rcx)
mulsd 0x9ddf(%rip), %xmm3     # 0x60898
cvttsd2si %xmm3, %eax
cmpl $0x20, %r13d
pushq $0x1
popq %rdi
pushq $0x2f
popq %r8
cmovel %r8d, %edi
movb %al, 0x12(%rsi,%rcx)
movq 0x1d28(%rbx), %rax
movb %dil, 0x18(%rax,%rcx)
imulq $0x18, %rdx, %rax
movq -0x80(%rbp), %rsi
movsd 0x8(%rsi,%rax), %xmm0
ucomisd 0x9e06(%rip), %xmm0     # 0x608f8
movq 0x1d28(%rbx), %rdx
seta 0x15(%rdx,%rcx)
andq $0x0, 0x8(%rsi,%rax)
xorl %eax, %eax
cmpq $0x2, %rax
je 0x56b4f
movq 0x1d28(%rbx), %rdx
addq %rcx, %rdx
andq $0x0, 0x40(%rdx,%rax,8)
andq $0x0, 0x28(%rdx,%rax,8)
andl $0x0, 0x54(%rdx,%rax,4)
movb %r12b, 0x16(%rax,%rdx)
movq 0x1d28(%rbx), %rdx
addq %rcx, %rdx
movb %r12b, 0x13(%rax,%rdx)
movq 0x1d28(%rbx), %rdx
addq %rcx, %rdx
movb %r12b, 0x19(%rax,%rdx)
incq %rax
jmp 0x56b06
incl -0x40(%rbp)
jmp 0x56b68
pushq $0x2
popq %rdi
leaq 0x18664(%rip), %rsi     # 0x6f1c2
xorl %eax, %eax
callq 0x455bc
movq %r13, %r9
addq -0xb0(%rbp), %r9
jmp 0x56894
cmpl $0x0, -0x40(%rbp)
jle 0x56b8e
movq -0xd0(%rbp), %rax
movq %rax, (%rbx)
movsd -0x48(%rbp), %xmm0
jmp 0x571f0
xorl %r12d, %r12d
jmp 0x55a8b
cmpl $0x10, %r15d
je 0x56c30
cmpl $0x20, %r15d
jne 0x55a8b
pushq $0xd
popq %rdx
movq %rbx, %rdi
movl %eax, %esi
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x583e8
xorl %eax, %eax
cmpq $0xa, %rax
je 0x56be3
movl 0x81a98(%rbx,%rax,4), %ecx
movl %ecx, -0x140(%rbp,%rax,4)
incq %rax
jmp 0x56bca
movq (%rbx), %rdi
movsd 0x8(%rbx), %xmm0
movl -0xa0(%rbp), %esi
addq $0x70e44, %rbx          # imm = 0x70E44
leaq -0x140(%rbp), %rdx
movq %rbx, %rcx
callq 0x579d2
leal (%rax,%rax,2), %r14d
jmp 0x56431
pushq $0x8
jmp 0x56c32
leaq 0x18059(%rip), %rsi     # 0x6ec74
xorl %r12d, %r12d
pushq $0x3
popq %rdi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x455bc
jmp 0x55a8b
pushq $0xd
popq %rdx
movq %rbx, %rdi
movl %eax, %esi
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x57e5f
xorpd %xmm2, %xmm2
movsd -0x48(%rbp), %xmm0
leaq 0x81aa6(%rbx), %r15
movapd 0x9e5a(%rip), %xmm1     # 0x60ac0
movapd %xmm2, -0xf0(%rbp)
xorpd %xmm2, %xmm1
leaq 0x7f670(%rbx), %rax
movq %rax, -0x100(%rbp)
leaq 0x81860(%rbx), %rax
movq %rax, -0xf8(%rbp)
movsd 0xb10a(%rip), %xmm2     # 0x61da0
movapd %xmm1, -0x170(%rbp)
mulsd %xmm1, %xmm2
movsd %xmm2, -0x158(%rbp)
movl $0x0, -0x40(%rbp)
xorl %r12d, %r12d
movl %r13d, -0x54(%rbp)
movq %r14, -0x98(%rbp)
movsd %xmm0, -0x48(%rbp)
cmpl %r13d, %r12d
jae 0x571ed
cmpl $0x3f, -0x40(%rbp)
jg 0x571ed
movzbl 0x1e(%r15), %eax
xorpd %xmm4, %xmm4
xorpd %xmm2, %xmm2
testb $0x1, %al
je 0x56ced
movsd (%r15), %xmm2
movsd 0x8(%r15), %xmm3
movzbl 0x1c(%r15), %ecx
andl $0xf, %ecx
xorpd %xmm1, %xmm1
movl %ecx, -0xd8(%rbp)
cmpb $0x6, %cl
jae 0x56d0e
movapd %xmm3, %xmm1
movapd %xmm2, -0xb0(%rbp)
movl %r12d, -0x38(%rbp)
movl %eax, -0x70(%rbp)
testb $0x2, %al
je 0x56d25
movapd %xmm1, %xmm4
movapd %xmm4, -0xd0(%rbp)
movss 0x10(%r15), %xmm0
movss %xmm0, -0x78(%rbp)
movzbl 0x14(%r15), %r14d
movb 0x16(%r15), %r13b
movzbl 0x17(%r15), %eax
movl %eax, -0x150(%rbp)
movzwl 0x18(%r15), %eax
movw %ax, -0x80(%rbp)
movb 0x1a(%r15), %al
movb %al, -0x50(%rbp)
cmpeqsd 0x9c7b(%rip), %xmm3     # 0x609e0
movapd %xmm3, -0x90(%rbp)
movl %r14d, %edi
callq 0x57adf
testl %eax, %eax
je 0x56e08
movl %eax, %r12d
movzbl 0x15(%r15), %eax
leal 0xc0(%rax), %r14d
cmpl $0x10, %r12d
cmovnel %eax, %r14d
movl %r12d, %edi
movl %r14d, %esi
callq 0x452fd
testl %eax, %eax
je 0x56e21
movzbl %r13b, %ecx
cmpb $0x0, -0xd4(%rbp)
movapd -0xf0(%rbp), %xmm0
je 0x56e58
xorl %esi, %esi
leal -0x1(%r12), %edi
movl %ecx, %edx
cmpl $0x7, %edi
movapd -0xb0(%rbp), %xmm4
movapd -0x90(%rbp), %xmm1
ja 0x56ec0
leaq 0x16913(%rip), %r9      # 0x6d6f8
movslq (%r9,%rdi,4), %r8
addq %r9, %r8
pushq $0x1
popq %rdi
jmpq *%r8
testl %ecx, %ecx
je 0x56f92
cmpl $0x3, %ecx
je 0x56f62
jmp 0x56f66
pushq $0x2
popq %rdi
leaq 0x17ed2(%rip), %rsi     # 0x6ece4
movl %r14d, %edx
xorl %eax, %eax
callq 0x455bc
jmp 0x56f79
movl %r12d, %eax
xorl $0x4, %eax
movl %r14d, %ecx
xorl $0xff, %ecx
orl %eax, %ecx
movl -0x54(%rbp), %r13d
je 0x56f7d
pushq $0x2
popq %rdi
leaq 0x17ec1(%rip), %rsi     # 0x6ed07
movl %r12d, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x455bc
jmp 0x56f7d
cmpl $0x8, %r12d
pushq $0x1
popq %rsi
pushq $0xc
popq %rdx
cmovel %edx, %esi
cmpl $0x20, %r12d
pushq $0x2f
popq %rdx
cmovel %edx, %esi
movapd -0xb0(%rbp), %xmm4
movapd -0x90(%rbp), %xmm1
cmpl $0x20, %r12d
je 0x56f50
cmpl $0x4, %r12d
je 0x56efb
cmpl $0x8, %r12d
je 0x56f27
cmpl $0x10, %r12d
je 0x56efb
cmpl $0x1, %r12d
jne 0x56f3a
cmpl $0x1, %esi
je 0x56f47
cmpl $0x11, %esi
je 0x56f62
jmp 0x56f66
cmpl $0x10, %r12d
je 0x56f59
cmpl $0x20, %r12d
jne 0x56e7f
cmpb $0x4, %r13b
jae 0x56f66
leaq 0x183b7(%rip), %rcx     # 0x6f298
movq (%rcx,%rdx,8), %rdx
shlb $0x3, %r13b
movl $0x1b1b2f2f, %esi       # imm = 0x1B1B2F2F
movl %r13d, %ecx
shrl %cl, %esi
movl %esi, -0x2c(%rbp)
jmp 0x56fa1
cmpl $0x1, %esi
je 0x56f47
jmp 0x56f66
testl %ecx, %ecx
je 0x56f92
cmpl $0x6, %ecx
je 0x56f99
cmpl $0x5, %ecx
je 0x56f36
jmp 0x56f66
testl %ecx, %ecx
je 0x56f92
cmpl $0x2, %ecx
jne 0x56f66
movb $0xe, %cl
jmp 0x56f9b
cmpl $0x1, %esi
je 0x56f47
cmpl $0x1c, %esi
je 0x56f99
cmpl $0x1b, %esi
jne 0x56f66
movb $0x1b, %cl
jmp 0x56f9b
movl %esi, %edi
cmpl $0x2, %r12d
jne 0x56f66
cmpl $0x1, %edi
jne 0x56f66
movb $0x1, %cl
movl %ecx, -0x2c(%rbp)
xorl %edx, %edx
jmp 0x56fa1
cmpl $0x2f, %esi
jne 0x56f66
movb $0x2f, %cl
jmp 0x56f49
testl %ecx, %ecx
je 0x56f92
cmpl $0x5, %ecx
jne 0x56f66
movb $0x11, %cl
jmp 0x56f9b
pushq $0x2
popq %rdi
leaq 0x17dc6(%rip), %rsi     # 0x6ed36
movl %eax, %edx
xorl %eax, %eax
callq 0x455bc
movl -0x54(%rbp), %r13d
movq -0x98(%rbp), %r14
movsd -0x48(%rbp), %xmm0
movl -0x38(%rbp), %r12d
jmp 0x571e1
movb $0x1, %cl
movl %ecx, -0x2c(%rbp)
jmp 0x56fa1
movb $0x1c, %cl
movl %ecx, -0x2c(%rbp)
pushq $0x1
popq %rdx
andnpd -0xd0(%rbp), %xmm1
ucomisd 0x9947(%rip), %xmm0     # 0x608f8
jne 0x56fb5
jnp 0x56fec
cmpl $0x20, %r12d
je 0x57004
cmpl $0x4, %r12d
movl -0x54(%rbp), %r13d
jne 0x57016
movl -0x150(%rbp), %ecx
addl $-0x7, %ecx
cvtsi2sd %ecx, %xmm3
leaq 0x17967(%rip), %rcx     # 0x6e940
mulsd (%rcx,%rdx,8), %xmm3
leaq 0x1791b(%rip), %rcx     # 0x6e900
addsd (%rcx,%rdx,8), %xmm3
jmp 0x5702a
movapd %xmm1, %xmm3
movl -0x54(%rbp), %r13d
movq -0x98(%rbp), %r14
xorl %r11d, %r11d
movl -0x38(%rbp), %r12d
jmp 0x5704c
leaq 0x17975(%rip), %rcx     # 0x6e980
movsd (%rcx,%rdx,8), %xmm3
movl -0x54(%rbp), %r13d
jmp 0x5702a
movsd 0xad82(%rip), %xmm3     # 0x61da0
leaq 0xfbcb(%rip), %rcx      # 0x66bf0
divsd (%rcx,%rdx,8), %xmm3
movq -0x98(%rbp), %r14
xorl %r11d, %r11d
movl -0x38(%rbp), %r12d
addsd -0x158(%rbp), %xmm4
mulsd -0x170(%rbp), %xmm3
addsd %xmm1, %xmm3
movl -0x70(%rbp), %edi
shrl $0x3, %edi
andl $0x1, %edi
movzwl -0x80(%rbp), %esi
movzwl %si, %ecx
cvtsi2sd %ecx, %xmm1
leal -0x1(%rax), %ecx
mulsd 0xad0d(%rip), %xmm1     # 0x61d78
movslq %ecx, %r8
movb $0x1, %cl
testw %si, %si
je 0x570b9
imulq $0x18, %r8, %r9
addq -0x100(%rbp), %r9
movsd (%r9,%rdx,8), %xmm2
ucomisd %xmm1, %xmm2
ja 0x570b9
leaq (%r8,%r8,2), %r9
addq -0xf8(%rbp), %r9
movzbl (%rdx,%r9), %r9d
cmpl %r9d, %edi
jne 0x570b9
movl -0xb4(%rbp), %ecx
testl %ecx, %ecx
setne %r9b
cmpl -0xd8(%rbp), %ecx
setle %cl
andb %r9b, %cl
imulq $0x18, %r8, %r9
addq -0x100(%rbp), %r9
movsd %xmm1, (%r9,%rdx,8)
leaq (%r8,%r8,2), %r8
addq -0xf8(%rbp), %r8
movl -0x70(%rbp), %esi
shrb %sil
andb $0x2, %sil
orb %cl, %sil
xorb $0x2, %sil
movl -0x40(%rbp), %r9d
testl %r9d, %r9d
movl $0x0, %ecx
cmovgl %r9d, %ecx
movb %dil, (%rdx,%r8)
movq 0x1d28(%rbx), %rdi
leaq 0x10(%rdi), %r8
xorl %r9d, %r9d
movsd -0x48(%rbp), %xmm0
cmpq %r9, %rcx
je 0x57124
movzbl (%r8), %r10d
cmpl %r10d, %eax
je 0x57199
incq %r9
addq $0x60, %r8
jmp 0x5710d
movslq -0x40(%rbp), %r8
imulq $0x60, %r8, %r8
movq %r14, (%rdi,%r8)
movsd %xmm0, 0x8(%rdi,%r8)
movb %al, 0x10(%rdi,%r8)
movb $0x0, 0x11(%rdi,%r8)
xorl %eax, %eax
cmpq $0x3, %rax
je 0x5718d
movq 0x1d28(%rbx), %rdi
addq %r8, %rdi
andq $0x0, 0x38(%rdi,%rax,8)
andq $0x0, 0x20(%rdi,%rax,8)
andl $0x0, 0x50(%rdi,%rax,4)
movb %r11b, 0x15(%rax,%rdi)
movq 0x1d28(%rbx), %rdi
addq %r8, %rdi
movb %r11b, 0x12(%rax,%rdi)
movq 0x1d28(%rbx), %rdi
addq %r8, %rdi
movb %r11b, 0x18(%rax,%rdi)
incq %rax
jmp 0x57144
incl -0x40(%rbp)
movq 0x1d28(%rbx), %rdi
jmp 0x5719c
movq %r9, %rcx
imulq $0x60, %rcx, %rax
addq %rax, %rdi
movsd %xmm3, 0x20(%rdi,%rdx,8)
movsd %xmm4, 0x38(%rdi,%rdx,8)
movss -0x78(%rbp), %xmm1
movss %xmm1, 0x50(%rdi,%rdx,4)
movb -0x50(%rbp), %cl
shlb $0x2, %cl
movb %cl, 0x12(%rdx,%rdi)
movq 0x1d28(%rbx), %rcx
addq %rax, %rcx
movb %sil, 0x15(%rdx,%rcx)
addq 0x1d28(%rbx), %rax
movl -0x2c(%rbp), %ecx
movb %cl, 0x18(%rdx,%rax)
incl %r12d
addq $0x20, %r15
jmp 0x56cc4
movq %r14, (%rbx)
movsd %xmm0, 0x8(%rbx)
movl -0x40(%rbp), %eax
movl %eax, 0x1d20(%rbx)
pushq $0x1
jmp 0x55a89
addsd 0xabbb(%rip), %xmm0     # 0x61dc8
ucomisd %xmm0, %xmm1
movl -0x140(%rbp), %edi
movl -0x70(%rbp), %r12d
jbe 0x57225
decl %edi
movl %edi, -0x140(%rbp)
movapd %xmm1, %xmm0
callq 0x4708a
movq %rax, %r14
movsd %xmm0, -0x50(%rbp)
movq %rax, %rdi
callq 0x47732
movq %rax, %rdi
movq %r14, -0x80(%rbp)
movq %r14, %rsi
movsd -0x50(%rbp), %xmm1
callq 0x47322
addsd 0x9846(%rip), %xmm0     # 0x60aa0
movsd %xmm0, -0xd0(%rbp)
leaq 0x7f670(%rbx), %r11
xorl %r14d, %r14d
pushq $0x1
popq %rax
movl %eax, -0x40(%rbp)
movl $0x0, -0x90(%rbp)
xorl %ecx, %ecx
movq %r11, -0x78(%rbp)
cmpl %r12d, %ecx
je 0x5757d
movb 0x1(%r15), %al
andb $-0x4, %al
cmpb $0x4, %al
jne 0x57572
movl %ecx, -0x38(%rbp)
movzbl 0x4(%r15), %edi
callq 0x57adf
testl %eax, %eax
je 0x57317
movl %eax, %r13d
movzbl 0x5(%r15), %eax
leal 0xc0(%rax), %r12d
cmpl $0x10, %r13d
cmovnel %eax, %r12d
movl %r13d, %edi
movl %r12d, %esi
callq 0x452fd
testl %eax, %eax
je 0x5732d
cvtsi2sdl 0x1c(%r15), %xmm1
movl 0x18(%r15), %ecx
cvtsi2sd %rcx, %xmm0
mulsd 0x163a9(%rip), %xmm1    # 0x6d690
addsd %xmm0, %xmm1
mulsd 0xba0d(%rip), %xmm1     # 0x62d00
divsd 0xa16d(%rip), %xmm1     # 0x61468
cmpl $0x20, %r13d
jne 0x5734d
addsd 0x968f(%rip), %xmm1     # 0x60998
pushq $0x1
popq %r9
movl -0x70(%rbp), %r12d
movq -0x78(%rbp), %r11
jmp 0x57367
pushq $0x2
popq %rdi
leaq 0x17e2c(%rip), %rsi     # 0x6f14d
xorl %eax, %eax
callq 0x455bc
jmp 0x5756f
pushq $0x2
popq %rdi
leaq 0x17e31(%rip), %rsi     # 0x6f168
movl %r13d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x455bc
movl -0x70(%rbp), %r12d
jmp 0x5756f
cmpl $0x4, %r13d
pushq $0x1
popq %r9
movl -0x70(%rbp), %r12d
movq -0x78(%rbp), %r11
jne 0x57367
subsd -0xd0(%rbp), %xmm1
movapd -0xb0(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd 0xaa45(%rip), %xmm1     # 0x61dc0
ucomisd %xmm0, %xmm1
jbe 0x5738b
addsd 0xaa4f(%rip), %xmm0     # 0x61dd8
jmp 0x5739d
ucomisd 0xaa35(%rip), %xmm0     # 0x61dc8
jbe 0x5739d
addsd 0xaa33(%rip), %xmm0     # 0x61dd0
movzbl 0x8(%r15), %ecx
movzwl 0x14(%r15), %edx
cvtsi2sd %edx, %xmm1
cvtsi2sdl 0x24(%r15), %xmm2
mulsd 0xa9df(%rip), %xmm1     # 0x61d98
mulsd 0x162cf(%rip), %xmm2    # 0x6d690
xorpd %xmm4, %xmm4
testb $0x40, %cl
je 0x573d2
movsd 0xa8a6(%rip), %xmm4     # 0x61c78
movl 0x20(%r15), %edx
cvtsi2sd %rdx, %xmm3
movb 0x11(%r15), %dl
addsd %xmm3, %xmm2
cvtsi2sdl 0x28(%r15), %xmm3
mulsd 0xb90f(%rip), %xmm2     # 0x62d00
mulsd 0xd32f(%rip), %xmm3     # 0x64728
mulsd 0x96b7(%rip), %xmm3     # 0x60ab8
testb %dl, %dl
je 0x57424
movzbl %dl, %esi
cvtsi2sd %esi, %xmm5
leal -0x1(%rax), %esi
movslq %esi, %rsi
imulq $0x18, %rsi, %rdi
movsd (%r11,%rdi), %xmm6
ucomisd %xmm5, %xmm6
ja 0x5742e
jmp 0x57441
leal -0x1(%rax), %esi
movslq %esi, %rsi
xorpd %xmm5, %xmm5
imulq $0x18, %rsi, %rdi
movabsq $0x3ff0000000000000, %r8 # imm = 0x3FF0000000000000
movq %r8, 0x8(%r11,%rdi)
imulq $0x18, %rsi, %rdi
movsd %xmm5, (%r11,%rdi)
testb $0x20, %cl
je 0x5756f
addsd %xmm4, %xmm2
xorpd 0x9660(%rip), %xmm2     # 0x60ac0
addq %r11, %rdi
movslq -0x90(%rbp), %rsi
imulq $0x60, %rsi, %rsi
cmpl $0x20, %r13d
movq 0x1d28(%rbx), %r8
movq -0x80(%rbp), %r10
movq %r10, (%r8,%rsi)
movsd -0x50(%rbp), %xmm4
movsd %xmm4, 0x8(%r8,%rsi)
movb %al, 0x10(%r8,%rsi)
mulsd 0xa906(%rip), %xmm0     # 0x61da0
movsd %xmm0, 0x38(%r8,%rsi)
movlpd %xmm2, 0x20(%r8,%rsi)
cvtsd2ss %xmm3, %xmm0
movss %xmm0, 0x50(%r8,%rsi)
mulsd 0x93dd(%rip), %xmm1     # 0x60898
cvttsd2si %xmm1, %eax
movb %al, 0x12(%r8,%rsi)
movl %r9d, %eax
pushq $0x2f
popq %r8
cmovel %r8d, %eax
movq 0x1d28(%rbx), %r8
movb %al, 0x18(%r8,%rsi)
movsd 0x8(%rdi), %xmm0
ucomisd 0x9410(%rip), %xmm0     # 0x608f8
movq 0x1d28(%rbx), %rax
seta 0x15(%rax,%rsi)
xorl %eax, %eax
testb %cl, %cl
sets %al
xorl %ecx, %ecx
cmpb $-0x71, %dl
setae %cl
cmpl $0x2, %r13d
movq 0x1d28(%rbx), %rdx
cmovel %ecx, %eax
xorb $0x1, %al
addb %al, %al
orb %al, 0x15(%rdx,%rsi)
andq $0x0, 0x8(%rdi)
xorl %eax, %eax
cmpq $0x2, %rax
je 0x57569
movq 0x1d28(%rbx), %rcx
addq %rsi, %rcx
andq $0x0, 0x40(%rcx,%rax,8)
andq $0x0, 0x28(%rcx,%rax,8)
andl $0x0, 0x54(%rcx,%rax,4)
movb %r14b, 0x16(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %rsi, %rcx
movb %r14b, 0x13(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %rsi, %rcx
movb %r14b, 0x19(%rax,%rcx)
incq %rax
jmp 0x57520
incl -0x90(%rbp)
movl -0x38(%rbp), %ecx
incl %ecx
addq $0x38, %r15
jmp 0x57282
movl -0x90(%rbp), %ecx
testl %ecx, %ecx
jle 0x575a0
movq -0x80(%rbp), %rax
movq %rax, (%rbx)
movsd -0x50(%rbp), %xmm0
movsd %xmm0, 0x8(%rbx)
movl %ecx, 0x1d20(%rbx)
jmp 0x575a7
movl $0x0, -0x40(%rbp)
movl -0x40(%rbp), %r12d
jmp 0x55a8b
pushq $0x8
jmp 0x575ed
movzbl 0x81a99(%rbx), %ecx
pushq $0x8
jmp 0x57612
xorl %r14d, %r14d
cmpl $0x5, %r12d
je 0x57640
cmpl $0x4, %r12d
je 0x5762e
cmpl $0x3, %r12d
jne 0x56431
movl %r15d, %edi
movq %rbx, %rsi
callq 0x57af8
movl %eax, %r14d
jmp 0x56431
pushq $0xd
popq %rdx
movq %rbx, %rdi
movl %eax, %esi
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x57fdc
movzbl 0x81a9a(%rbx), %ecx
pushq $0xd
popq %rdx
movq %rbx, %rdi
movl %eax, %esi
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x586d4
movl %r15d, %edi
movq %rbx, %rsi
callq 0x57c57
pushq $0x9
jmp 0x5642f
movl %r15d, %edi
movq %rbx, %rsi
callq 0x57d04
jmp 0x56431