// File: /workspace/github_cpp_makefile_star2_O2/DoubleString[P]RtConverter/src/Rtklib/skytraq.cpp
// Function: bamboo::decode_stq(bamboo::raw_t*)
static int decode_stq(raw_t *raw)
{
    int type=U1(raw->buff+4);
    unsigned char cs,*p=raw->buff+raw->len-3;
    
    trace(3,"decode_stq: type=%02x len=%d\n",type,raw->len);
    
    /* checksum */
    cs=checksum(raw->buff,raw->len);
    
    if (cs!=*p||*(p+1)!=0x0D||*(p+2)!=0x0A) {
        trace(2,"stq checksum error: type=%02X cs=%02X tail=%02X%02X%02X\n",
              type,cs,*p,*(p+1),*(p+2));
        return -1;
    }
    if (raw->outtype) {
        sprintf(raw->msgtype,"SKYTRAQ 0x%02X  (%4d):",type,raw->len);
    }
    switch (type) {
        case ID_STQTIME : return decode_stqtime(raw);
        case ID_STQRAW  : return decode_stqraw (raw);
        case ID_STQRAWX : return decode_stqrawx(raw);
        case ID_STQGPS  : return decode_stqgps (raw);
        case ID_STQGLO  : return decode_stqglo (raw);
        case ID_STQGLOE : return decode_stqgloe(raw);
        case ID_STQBDSD1: return decode_stqbds (raw);
        case ID_STQBDSD2: return decode_stqbds (raw);
        case ID_STQACK  : return decode_stqack (raw);
        case ID_STQNACK : return decode_stqnack(raw);
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %rdi, %rbx
leaq 0x81a90(%rdi), %r14
movzbl 0x81a94(%rdi), %r15d
movl 0x81a78(%rdi), %eax
movslq %eax, %r12
leaq 0x1e10f(%rip), %rsi     # 0x6b665
pushq $0x3
popq %rdi
movl %r15d, %edx
movl %r12d, %ecx
xorl %eax, %eax
callq 0x455bc
movl 0x81a78(%rbx), %r13d
movq %r14, %rdi
movl %r13d, %esi
callq 0x4e925
movzbl 0x81a8d(%rbx,%r12), %r8d
movl %r8d, %ecx
xorb %al, %cl
movb 0x81a8e(%rbx,%r12), %dl
movl %edx, %esi
xorb $0xd, %sil
orb %cl, %sil
jne 0x4d5ff
movb $0xd, %dl
cmpb $0xa, -0x1(%r14,%r12)
jne 0x4d5ff
cmpl $0x0, 0x81a8c(%rbx)
je 0x4d5c7
leaq 0x70e70(%rbx), %rdi
leaq 0x1e102(%rip), %rsi     # 0x6b6bc
movl %r15d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0x8110
xorl %r14d, %r14d
leal -0xdc(%r15), %eax
cmpl $0x9, %eax
ja 0x4d63c
leaq 0x1df93(%rip), %rcx     # 0x6b570
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4e94a
movzbl %al, %ecx
movzbl %dl, %r9d
movzbl -0x1(%r14,%r12), %eax
movl %eax, (%rsp)
leaq 0x1e06d(%rip), %rsi     # 0x6b683
pushq $0x2
popq %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0x455bc
pushq $-0x1
popq %r14
movl %r14d, %eax
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x5c, %r15d
je 0x4dc78
cmpl $0x83, %r15d
je 0x4dc46
cmpl $0x84, %r15d
jne 0x4d627
movl 0x81a78(%rbx), %edx
leaq 0x1e515(%rip), %rsi     # 0x6bb7e
xorl %r14d, %r14d
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
movl 0x81a78(%rbx), %edx
cmpl $0x8, %edx
jg 0x4e0cb
leaq 0x1e50a(%rip), %rsi     # 0x6bb96
jmp 0x4dca5
movl 0x81a78(%rbx), %edx
leaq 0x1e191(%rip), %rsi     # 0x6b82f
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
movl 0x81a78(%rbx), %edx
cmpl $0x27, %edx
jg 0x4dcb4
leaq 0x1e188(%rip), %rsi     # 0x6b846
jmp 0x4dca5
movl 0x81a78(%rbx), %edx
leaq 0x1e048(%rip), %rsi     # 0x6b718
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x4d705
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81a96(%rbx), %ecx
leaq 0x1e031(%rip), %rsi     # 0x6b72f
xorl %eax, %eax
callq 0x8110
movzbl 0x81a95(%rbx), %edx
movl 0x81a7c(%rbx), %ecx
cmpl %edx, %ecx
jne 0x4dd63
movzbl 0x81a96(%rbx), %ecx
movl 0x81a78(%rbx), %edx
imull $0x17, %ecx, %eax
addl $0x8, %eax
cmpl %eax, %edx
jl 0x4da83
leaq 0x81a97(%rbx), %r14
cmpl $0x40, %ecx
pushq $0x40
popq %rax
cmovbl %ecx, %eax
movl %eax, -0x4c(%rbp)
leaq 0x7f670(%rbx), %rax
movq %rax, -0x68(%rbp)
leaq 0x82a90(%rbx), %rax
movq %rax, -0x60(%rbp)
xorl %r15d, %r15d
xorl %r12d, %r12d
movl $0x0, -0x34(%rbp)
cmpl -0x4c(%rbp), %r12d
je 0x4e052
movzbl (%r14), %r13d
leal -0x1(%r13), %eax
cmpb $0x20, %al
movl %r12d, -0x58(%rbp)
jae 0x4d78d
movb $0x1, -0x40(%rbp)
pushq $0x1
jmp 0x4d7ca
leal -0x41(%r13), %eax
cmpb $0x1b, %al
jae 0x4d7a1
movb $0x1, -0x40(%rbp)
addl $-0x40, %r13d
pushq $0x4
jmp 0x4d7ca
testl %r13d, %r13d
je 0x4d7c1
leal 0x37(%r13), %eax
cmpb $0x25, %al
jae 0x4d9c9
addl $0xffffff38, %r13d      # imm = 0xFFFFFF38
movb $0x2f, -0x40(%rbp)
pushq $0x20
jmp 0x4d7ca
movb $0x1, -0x40(%rbp)
xorl %r13d, %r13d
pushq $0x10
popq %r12
movl %r12d, %edi
movl %r13d, %esi
callq 0x452fd
movq %rax, -0x30(%rbp)
testl %eax, %eax
je 0x4d9a2
movzbl 0x16(%r14), %r13d
xorpd %xmm0, %xmm0
xorpd %xmm1, %xmm1
testb $0x1, %r13b
je 0x4d807
leaq 0x2(%r14), %rdi
callq 0x4ed0f
movapd %xmm0, %xmm1
xorpd %xmm0, %xmm0
movsd %xmm1, -0x78(%rbp)
testb $0x4, %r13b
je 0x4d81b
leaq 0xa(%r14), %rdi
callq 0x4ed0f
movq %r14, -0x48(%rbp)
movsd %xmm0, -0x70(%rbp)
addsd 0x1d364(%rip), %xmm0    # 0x6ab90
movsd 0x1dd2c(%rip), %xmm1    # 0x6b560
divsd %xmm1, %xmm0
callq 0x8ac0
mulsd 0x1dd1b(%rip), %xmm0    # 0x6b560
movsd -0x70(%rbp), %xmm1
subsd %xmm0, %xmm1
movq 0x1d28(%rbx), %r14
movslq -0x34(%rbp), %rax
imulq $0x60, %rax, %r12
movsd -0x78(%rbp), %xmm0
movsd %xmm0, 0x38(%r14,%r12)
movsd %xmm1, 0x20(%r14,%r12)
xorps %xmm0, %xmm0
testb $0x2, %r13b
je 0x4d886
movq -0x48(%rbp), %rax
leaq 0x12(%rax), %rdi
callq 0x4ed37
movss %xmm0, 0x50(%r14,%r12)
movq -0x48(%rbp), %rax
movb 0x1(%rax), %al
shlb $0x2, %al
movb %al, 0x12(%r14,%r12)
movq 0x1d28(%rbx), %rax
movb $0x0, 0x15(%rax,%r12)
movq 0x1d28(%rbx), %rax
movb -0x40(%rbp), %cl
movb %cl, 0x18(%rax,%r12)
shrl $0x3, %r13d
andl $0x1, %r13d
cvtsi2sd %r13d, %xmm0
movq -0x30(%rbp), %rax
decl %eax
cltq
imulq $0x18, %rax, %rax
movq -0x68(%rbp), %rcx
movsd %xmm0, (%rcx,%rax)
movq 0x1d28(%rbx), %r14
movsd 0x20(%r14,%r12), %xmm0
ucomisd 0x13008(%rip), %xmm0    # 0x608f8
jne 0x4d8f4
jnp 0x4d909
addq %rcx, %rax
addq %r12, %r14
movb %r13b, 0x15(%r14)
andq $0x0, (%rax)
movq 0x1d28(%rbx), %r14
movq -0x60(%rbp), %rdi
leaq 0x1ded3(%rip), %rsi     # 0x6b7e7
callq 0x8170
testq %rax, %rax
je 0x4d934
movsd 0x20(%r14,%r12), %xmm0
xorpd 0x13193(%rip), %xmm0    # 0x60ac0
movlpd %xmm0, 0x20(%r14,%r12)
movupd (%rbx), %xmm0
movupd %xmm0, (%r14,%r12)
movq 0x1d28(%rbx), %rax
movq -0x30(%rbp), %rcx
movb %cl, 0x10(%rax,%r12)
xorl %eax, %eax
movq -0x48(%rbp), %r14
cmpq $0x2, %rax
je 0x4d99d
movq 0x1d28(%rbx), %rcx
addq %r12, %rcx
andq $0x0, 0x40(%rcx,%rax,8)
andq $0x0, 0x28(%rcx,%rax,8)
andl $0x0, 0x54(%rcx,%rax,4)
movb %r15b, 0x16(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %r12, %rcx
movb %r15b, 0x13(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %r12, %rcx
movb %r15b, 0x19(%rax,%rcx)
incq %rax
jmp 0x4d954
incl -0x34(%rbp)
jmp 0x4d9b9
pushq $0x2
popq %rdi
leaq 0x1de0c(%rip), %rsi     # 0x6b7b8
movl %r12d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0x455bc
movl -0x58(%rbp), %r12d
incl %r12d
addq $0x17, %r14
jmp 0x4d76b
pushq $0x2
popq %rdi
leaq 0x1ddbd(%rip), %rsi     # 0x6b790
movl %r13d, %edx
xorl %eax, %eax
callq 0x455bc
jmp 0x4d9bd
movl 0x81a78(%rbx), %edx
leaq 0x1dd2c(%rip), %rsi     # 0x6b718
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
cmpl $0x0, 0x81a8c(%rbx)
je 0x4da21
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movzbl 0x81aa1(%rbx), %ecx
leaq 0x1ddd4(%rip), %rsi     # 0x6b7ee
xorl %eax, %eax
callq 0x8110
movzbl 0x81a96(%rbx), %eax
movl %eax, 0x81a7c(%rbx)
movzwl 0x81a97(%rbx), %eax
rolw $0x8, %ax
movzwl %ax, %r14d
leaq 0x81a99(%rbx), %rdi
callq 0x4ece9
movl %eax, %eax
cvtsi2sd %rax, %xmm0
mulsd 0x14320(%rip), %xmm0    # 0x61d78
movl %r14d, %edi
callq 0x4708a
movq %rax, (%rbx)
movsd %xmm0, 0x8(%rbx)
movzbl 0x81aa1(%rbx), %ecx
movl 0x81a78(%rbx), %edx
imull $0x1f, %ecx, %eax
addl $0x13, %eax
cmpl %eax, %edx
jge 0x4dd79
leaq 0x1dce0(%rip), %rsi     # 0x6b76a
jmp 0x4dd6a
movl 0x81a78(%rbx), %edx
leaq 0x1dc37(%rip), %rsi     # 0x6b6d3
xorl %r14d, %r14d
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
movzbl 0x81a95(%rbx), %eax
movl %eax, 0x81a7c(%rbx)
movzwl 0x81a96(%rbx), %eax
rolw $0x8, %ax
movzwl %ax, %r15d
leaq 0x81a98(%rbx), %rdi
callq 0x4ece9
movl %eax, %eax
cvtsi2sd %rax, %xmm0
mulsd 0x14298(%rip), %xmm0    # 0x61d78
movl %r15d, %edi
movsd %xmm0, -0x30(%rbp)
callq 0x4708a
movq %rax, (%rbx)
movsd %xmm0, 0x8(%rbx)
cmpl $0x0, 0x81a8c(%rbx)
je 0x4d627
leaq 0x70e70(%rbx), %rdi
movl 0x81a78(%rbx), %edx
movl 0x81a7c(%rbx), %ecx
leaq 0x1dbcf(%rip), %rsi     # 0x6b6eb
movl %r15d, %r8d
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x8110
jmp 0x4d627
leaq -0x198(%rbp), %rdi
movl $0x98, %edx
xorl %esi, %esi
callq 0x8390
movl 0x81a78(%rbx), %edx
leaq 0x1de19(%rip), %rsi     # 0x6b969
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
movl 0x81a78(%rbx), %edx
cmpl $0x12, %edx
jle 0x4dc9e
cmpl $0x0, 0x81a8c(%rbx)
je 0x4db99
leaq 0x70e70(%rbx), %rdi
movzbl 0x81a95(%rbx), %ecx
addl $-0x40, %ecx
movzbl 0x81a96(%rbx), %r8d
leaq 0x1de13(%rip), %rsi     # 0x6b9a5
xorl %eax, %eax
callq 0x8110
movzbl 0x81a95(%rbx), %r15d
leal -0x40(%r15), %r14d
pushq $0x4
popq %rdi
movl %r14d, %esi
callq 0x452fd
testl %eax, %eax
je 0x4e108
movzbl 0x81a96(%rbx), %ecx
leal -0x5(%rcx), %edx
xorl %r14d, %r14d
cmpb $-0x4, %dl
jb 0x4d627
movq %r15, -0x40(%rbp)
movq %rax, -0x58(%rbp)
decl %eax
cltq
imulq $0x17c, %rax, %rax      # imm = 0x17C
leaq (%rbx,%rax), %rdx
addq %rbx, %rax
addq $0x70f70, %rax          # imm = 0x70F70
movq %rax, -0x48(%rbp)
imulq $0xa, %rcx, %rax
leaq (%rax,%rdx), %r13
addq $0x70f66, %r13          # imm = 0x70F66
pushq $0x1
popq %rsi
pushq $0x4
popq %rdx
movq %r13, %rdi
movq %rcx, -0x30(%rbp)
callq 0x45a69
pushq $0x5
popq %r15
movl $0x81a97, %r12d         # imm = 0x81A97
cmpq $0x81aa0, %r12          # imm = 0x81AA0
je 0x4e139
movzbl (%rbx,%r12), %ecx
movq %r13, %rdi
movl %r15d, %esi
pushq $0x8
popq %rdx
callq 0x45a69
addl $0x8, %r15d
incq %r12
jmp 0x4dc1d
movl 0x81a78(%rbx), %edx
leaq 0x1ded6(%rip), %rsi     # 0x6bb29
xorl %r14d, %r14d
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
movl 0x81a78(%rbx), %edx
cmpl $0x8, %edx
jg 0x4e069
leaq 0x1deca(%rip), %rsi     # 0x6bb40
jmp 0x4dca5
movl 0x81a78(%rbx), %edx
leaq 0x1dd72(%rip), %rsi     # 0x6b9f7
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x455bc
movl 0x81a78(%rbx), %edx
cmpl $0x31, %edx
jg 0x4e08d
leaq 0x1dcdb(%rip), %rsi     # 0x6b980
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0x455bc
jmp 0x4d623
cmpl $0x0, 0x81a8c(%rbx)
je 0x4dce9
leaq 0x70e70(%rbx), %rdi
movzbl 0x81a95(%rbx), %ecx
movzbl 0x81a9c(%rbx), %r8d
shrl $0x2, %r8d
andl $0x7, %r8d
leaq 0x1db90(%rip), %rsi     # 0x6b872
xorl %eax, %eax
callq 0x8110
movzbl 0x81a95(%rbx), %r14d
testl %r14d, %r14d
pushq $0x10
popq %rax
pushq $0x1
popq %rdi
cmovel %eax, %edi
movl %r14d, %esi
callq 0x452fd
testl %eax, %eax
je 0x4e0ff
movl %eax, %r15d
leaq 0x1dbb4(%rip), %rsi     # 0x6b8cb
xorl %r14d, %r14d
pushq $0x4
popq %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0x455bc
movzbl 0x81a97(%rbx), %edx
cmpl $0x8b, %edx
jne 0x4e123
movzbl 0x81a9c(%rbx), %edx
shrl $0x2, %edx
andl $0x7, %edx
leal -0x6(%rdx), %eax
cmpb $-0x6, %al
ja 0x4e1a1
leaq 0x1dbae(%rip), %rsi     # 0x6b906
xorl %r14d, %r14d
pushq $0x2
popq %rdi
jmp 0x4e12d
leaq 0x1d9e2(%rip), %rsi     # 0x6b74c
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0x455bc
jmp 0x4d623
cmpl $0x40, %ecx
pushq $0x40
popq %r14
cmovbl %ecx, %r14d
leaq 0x81aa2(%rbx), %r15
leaq 0x7f670(%rbx), %rax
leaq 0x82a90(%rbx), %rcx
movq %rcx, -0x60(%rbp)
xorl %r13d, %r13d
movl $0x0, -0x34(%rbp)
xorl %edx, %edx
movl %r14d, -0x4c(%rbp)
movq %rax, -0x68(%rbp)
cmpl %r14d, %edx
je 0x4e052
movl %edx, -0x48(%rbp)
movzbl (%r15), %edx
movl %edx, %r12d
andl $0xf, %r12d
cmpl $0x6, %r12d
jae 0x4e009
leal (,%r12,8), %ecx
movabsq $0x2f0101010101, %rax   # imm = 0x2F0101010101
shrq %cl, %rax
movq %rax, -0x40(%rbp)
leaq 0x1d7a6(%rip), %rax     # 0x6b598
movl (%rax,%r12,4), %r14d
movq %r15, -0x30(%rbp)
movzbl 0x1(%r15), %r15d
movl %r14d, %edi
movl %r15d, %esi
callq 0x452fd
movq %rax, -0x58(%rbp)
testl %eax, %eax
je 0x4e025
cmpl $0x2, %r12d
jne 0x4de42
movq -0x30(%rbp), %rax
movzbl 0x2(%rax), %eax
andl $0xf, %eax
addl $-0x7, %eax
movq 0x1d88(%rbx), %rcx
movl %r15d, %edx
imulq $0x98, %rdx, %rdx
movl %eax, -0x90(%rcx,%rdx)
movq -0x30(%rbp), %rax
movzbl 0x1c(%rax), %r15d
xorpd %xmm0, %xmm0
xorpd %xmm1, %xmm1
testb $0x1, %r15b
je 0x4de6e
movq -0x30(%rbp), %rax
leaq 0x4(%rax), %rdi
callq 0x4ed0f
movapd %xmm0, %xmm1
xorpd %xmm0, %xmm0
movsd %xmm1, -0x78(%rbp)
testb $0x4, %r15b
je 0x4de86
movq -0x30(%rbp), %rax
leaq 0xc(%rax), %rdi
callq 0x4ed0f
movsd %xmm0, -0x70(%rbp)
addsd 0x1ccfd(%rip), %xmm0    # 0x6ab90
movsd 0x1d6c5(%rip), %xmm1    # 0x6b560
divsd %xmm1, %xmm0
callq 0x8ac0
mulsd 0x1d6b4(%rip), %xmm0    # 0x6b560
movsd -0x70(%rbp), %xmm1
subsd %xmm0, %xmm1
movq 0x1d28(%rbx), %r12
movslq -0x34(%rbp), %rax
imulq $0x60, %rax, %r14
movsd -0x78(%rbp), %xmm0
movsd %xmm0, 0x38(%r12,%r14)
movsd %xmm1, 0x20(%r12,%r14)
xorps %xmm0, %xmm0
testb $0x2, %r15b
je 0x4deed
movq -0x30(%rbp), %rax
leaq 0x14(%rax), %rdi
callq 0x4ed37
movss %xmm0, 0x50(%r12,%r14)
movq -0x30(%rbp), %rax
movb 0x3(%rax), %al
shlb $0x2, %al
movb %al, 0x12(%r12,%r14)
movq 0x1d28(%rbx), %rax
movb $0x0, 0x15(%rax,%r14)
movq 0x1d28(%rbx), %rax
movq -0x40(%rbp), %rcx
movb %cl, 0x18(%rax,%r14)
shrl $0x3, %r15d
andl $0x1, %r15d
cvtsi2sd %r15d, %xmm0
movq -0x58(%rbp), %rax
decl %eax
cltq
imulq $0x18, %rax, %rax
movq -0x68(%rbp), %rcx
movsd %xmm0, (%rcx,%rax)
movq 0x1d28(%rbx), %r12
movsd 0x20(%r12,%r14), %xmm0
ucomisd 0x129a0(%rip), %xmm0    # 0x608f8
jne 0x4df5c
jnp 0x4df72
addq %rcx, %rax
addq %r14, %r12
movb %r15b, 0x15(%r12)
andq $0x0, (%rax)
movq 0x1d28(%rbx), %r12
movq -0x60(%rbp), %rdi
leaq 0x1d86a(%rip), %rsi     # 0x6b7e7
callq 0x8170
testq %rax, %rax
movq -0x30(%rbp), %r15
je 0x4dfa1
movsd 0x20(%r12,%r14), %xmm0
xorpd 0x12b26(%rip), %xmm0    # 0x60ac0
movlpd %xmm0, 0x20(%r12,%r14)
movupd (%rbx), %xmm0
movupd %xmm0, (%r12,%r14)
movq 0x1d28(%rbx), %rax
movq -0x58(%rbp), %rcx
movb %cl, 0x10(%rax,%r14)
xorl %eax, %eax
movl -0x48(%rbp), %edx
cmpq $0x2, %rax
je 0x4e01c
movq 0x1d28(%rbx), %rcx
addq %r14, %rcx
andq $0x0, 0x40(%rcx,%rax,8)
andq $0x0, 0x28(%rcx,%rax,8)
andl $0x0, 0x54(%rcx,%rax,4)
movb %r13b, 0x16(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %r14, %rcx
movb %r13b, 0x13(%rax,%rcx)
movq 0x1d28(%rbx), %rcx
addq %r14, %rcx
movb %r13b, 0x19(%rax,%rcx)
incq %rax
jmp 0x4dfc0
pushq $0x2
popq %rdi
leaq 0x1d7f9(%rip), %rsi     # 0x6b80c
xorl %eax, %eax
callq 0x455bc
jmp 0x4e044
incl -0x34(%rbp)
movl -0x4c(%rbp), %r14d
jmp 0x4e047
pushq $0x2
popq %rdi
leaq 0x1d789(%rip), %rsi     # 0x6b7b8
movl %r14d, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0x455bc
movl -0x4c(%rbp), %r14d
movq -0x30(%rbp), %r15
movl -0x48(%rbp), %edx
incl %edx
addq $0x1f, %r15
jmp 0x4ddb1
movl -0x34(%rbp), %eax
movl %eax, 0x1d20(%rbx)
xorl %r14d, %r14d
testl %eax, %eax
setg %r14b
jmp 0x4d627
cmpl $0x0, 0x81a8c(%rbx)
je 0x4d627
movzbl 0x81a95(%rbx), %ecx
addq $0x70e70, %rbx          # imm = 0x70E70
leaq 0x1dad3(%rip), %rsi     # 0x6bb5e
jmp 0x4e0ed
movzbl 0x81a95(%rbx), %r14d
pushq $0x4
popq %rdi
movl %r14d, %esi
callq 0x452fd
testl %eax, %eax
je 0x4e111
movsbl 0x81a96(%rbx), %eax
movq 0x1d88(%rbx), %rcx
movl %r14d, %edx
imulq $0x98, %rdx, %rdx
movl %eax, -0x90(%rcx,%rdx)
xorl %r14d, %r14d
jmp 0x4d627
cmpl $0x0, 0x81a8c(%rbx)
je 0x4d627
movzbl 0x81a95(%rbx), %ecx
addq $0x70e70, %rbx          # imm = 0x70E70
leaq 0x1dac8(%rip), %rsi     # 0x6bbb5
xorl %r14d, %r14d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8110
jmp 0x4d627
leaq 0x1d78f(%rip), %rsi     # 0x6b895
jmp 0x4e118
leaq 0x1d8b9(%rip), %rsi     # 0x6b9c8
jmp 0x4e118
leaq 0x1d8f7(%rip), %rsi     # 0x6ba0f
pushq $0x2
popq %rdi
movl %r14d, %edx
jmp 0x4dca8
leaq 0x1d7b7(%rip), %rsi     # 0x6b8e1
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0x455bc
jmp 0x4d627
cmpl $0x4, -0x30(%rbp)
jne 0x4d627
movupd (%rbx), %xmm0
leaq -0x198(%rbp), %rsi
movupd %xmm0, 0x28(%rsi)
movq -0x48(%rbp), %rdi
callq 0x2f309
testl %eax, %eax
je 0x4d627
movq -0x58(%rbp), %r15
cmpl %r15d, -0x198(%rbp)
jne 0x4d627
leaq 0x82a90(%rbx), %rdi
leaq 0x14544(%rip), %rsi     # 0x626c7
callq 0x8170
testq %rax, %rax
je 0x4e388
movq 0x1d88(%rbx), %rax
movq -0x40(%rbp), %rsi
jmp 0x4e3af
leaq 0x70f70(%rbx), %r8
movl %r15d, %eax
decl %eax
movslq %eax, %rdi
imulq $0x17c, %rdi, %r13      # imm = 0x17C
leaq (%rbx,%r13), %r12
addq $0x70f70, %r12          # imm = 0x70F70
imulq $0x1e, %rdx, %rax
addq %r13, %rax
addq %rbx, %rax
addq $0x70f52, %rax          # imm = 0x70F52
pushq $-0x1e
popq %rcx
testq %rcx, %rcx
je 0x4e1ec
movb 0x81ab5(%rbx,%rcx), %sil
movb %sil, 0x1e(%rax,%rcx)
incq %rcx
jmp 0x4e1d5
cmpb $0x5, %dl
je 0x4e322
movzbl %dl, %eax
cmpl $0x4, %eax
je 0x4e2d1
cmpl $0x3, %eax
jne 0x4d627
movq %rdi, -0x30(%rbp)
leaq -0x198(%rbp), %r13
xorl %r14d, %r14d
movl $0x120, %edx            # imm = 0x120
movq %r13, %rdi
xorl %esi, %esi
callq 0x8390
leaq 0x1d6f6(%rip), %rsi     # 0x6b924
pushq $0x4
popq %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0x455bc
movq %r12, %rdi
movq %r13, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2f85e
cmpl $0x1, %eax
jne 0x4d627
leaq 0x1e(%r12), %rdi
xorl %r14d, %r14d
leaq -0x198(%rbp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2f85e
cmpl $0x2, %eax
jne 0x4d627
addq $0x3c, %r12
xorl %r14d, %r14d
leaq -0x198(%rbp), %rsi
movq %r12, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2f85e
cmpl $0x3, %eax
jne 0x4d627
leaq 0x82a90(%rbx), %rdi
leaq 0x14410(%rip), %rsi     # 0x626c7
callq 0x8170
testq %rax, %rax
je 0x4e45d
movq 0x1d80(%rbx), %rax
jmp 0x4e48a
movq %r8, -0x30(%rbp)
movl %r15d, %edi
xorl %esi, %esi
callq 0x45362
movl %eax, %r12d
leaq 0x1d652(%rip), %rsi     # 0x6b93b
pushq $0x4
popq %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0x455bc
pushq $0x9
popq %r14
cmpl $0x1, %r12d
je 0x4e3e6
cmpl $0x10, %r12d
movq -0x30(%rbp), %rax
jne 0x4d627
movl $0x1e30, %r15d          # imm = 0x1E30
movl $0x1f10, %ecx           # imm = 0x1F10
jmp 0x4e3f5
movq %r8, -0x30(%rbp)
xorl %r14d, %r14d
movl %r15d, %edi
xorl %esi, %esi
callq 0x45362
movl %eax, %r12d
leaq 0x1d615(%rip), %rsi     # 0x6b952
pushq $0x4
popq %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0x455bc
cmpl $0x10, %r12d
je 0x4e413
cmpl $0x1, %r12d
movq -0x30(%rbp), %rax
jne 0x4d627
leaq (%rax,%r13), %rdi
addq $0x78, %rdi
movq 0x1da8(%rbx), %rdx
xorl %r14d, %r14d
xorl %esi, %esi
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x2f85e
jmp 0x4d627
movl -0x194(%rbp), %ecx
movq 0x1d88(%rbx), %rax
movq -0x40(%rbp), %rsi
movl %esi, %edx
imulq $0x98, %rdx, %rdx
cmpl -0x2694(%rax,%rdx), %ecx
je 0x4d627
imulq $0x98, %rsi, %rcx
leaq (%rcx,%rax), %rdi
addq $-0x2698, %rdi          # imm = 0xD968
movl 0x8(%rdi), %eax
leaq -0x198(%rbp), %rsi
movl %eax, 0x8(%rsi)
movl $0x98, %edx
callq 0x84f0
movl %r15d, 0x70e40(%rbx)
pushq $0x2
jmp 0x4d625
movl $0x1dd0, %r15d          # imm = 0x1DD0
movl $0x1eb0, %ecx           # imm = 0x1EB0
movq -0x30(%rbp), %rax
leaq (%rax,%r13), %rdi
addq $0x5a, %rdi
movq 0x1da8(%rbx), %rdx
addq %rbx, %rcx
addq %rbx, %r15
leaq 0x1fd0(%rbx), %r9
jmp 0x4e43e
movq -0x30(%rbp), %rax
leaq (%rax,%r13), %rdi
addq $0x78, %rdi
movq 0x1da8(%rbx), %rdx
leaq 0x1f10(%rbx), %rcx
leaq 0x1e30(%rbx), %r15
leaq 0x1fd0(%rbx), %r9
xorl %r14d, %r14d
xorl %esi, %esi
movq %r15, %r8
callq 0x2f85e
movq (%rbx), %rdi
movsd 0x8(%rbx), %xmm0
movq %r15, %rsi
callq 0x4ed5f
jmp 0x4d627
movl -0x194(%rbp), %edx
movq 0x1d80(%rbx), %rax
imulq $0x120, -0x30(%rbp), %rcx # imm = 0x120
cmpl 0x4(%rax,%rcx), %edx
jne 0x4e48a
addq %rax, %rcx
movl -0x190(%rbp), %edx
cmpl 0x8(%rcx), %edx
je 0x4d627
leaq -0x198(%rbp), %rsi
movl %r15d, (%rsi)
imulq $0x120, -0x30(%rbp), %rdi # imm = 0x120
addq %rax, %rdi
movl $0x120, %edx            # imm = 0x120
callq 0x84f0
movl %r15d, 0x70e40(%rbx)
jmp 0x4e3df