// File: /workspace/github_c_makefile_star2_O1/samtools[P]htslib/vcf.c
// Function: vcf_parse_format
static int vcf_parse_format(kstring_t *s, const bcf_hdr_t *h, bcf1_t *v,
                            char *p, char *q)
{
    if ( !bcf_hdr_nsamples(h) ) return 0;
    kstring_t *mem = (kstring_t*)&h->mem;
    mem->l = 0;

    fmt_aux_t fmt[MAX_N_FMT];

    // detect FORMAT "."
    int ret; // +ve = ok, -ve = err
    if ((ret = vcf_parse_format_empty1(s, h, v, p, q)))
        return ret ? 0 : -1;

    // get format information from the dictionary
    if (vcf_parse_format_dict2(s, h, v, p, q, fmt) < 0)
        return -1;

    // FORMAT data is per-sample A:B:C A:B:C A:B:C ... but in memory it is
    // stored as per-type arrays AAA... BBB... CCC...  This is basically
    // a data rotation or pivot.

    // The size of elements in the array grow to their maximum needed,
    // permitting fast random access.  This means however we have to first
    // scan the whole FORMAT line to find the maximum of each type, and
    // then scan it again to find the store the data.
    // We break this down into compute-max, allocate, fill-out-buffers

    // TODO: ?
    // The alternative would be to pivot on the first pass, with fixed
    // size entries for numerics and concatenated strings otherwise, also
    // tracking maximum sizes.  Then on a second pass we reallocate and
    // copy the data again to a uniformly sized array.  Two passes through
    // memory, but without doubling string parsing.

    // compute max
    if (vcf_parse_format_max3(s, h, v, p, q, fmt) < 0)
        return -1;

    // allocate memory for arrays
    if (vcf_parse_format_alloc4(s, h, v, p, q, fmt) < 0)
        return -1;

    // fill the sample fields; at beginning of the loop
    if (vcf_parse_format_fill5(s, h, v, p, q, fmt) < 0)
        return -1;

    // write individual genotype information
    if (vcf_parse_format_gt6(s, h, v, p, q, fmt) < 0)
        return -1;

    // validity checking
    if (vcf_parse_format_check7(h, v) < 0)
        return -1;

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2898, %rsp           # imm = 0x2898
movq %r8, 0x40(%rsp)
cmpl $0x0, 0x8(%rsi)
je 0x37a44
movq %rdx, %r14
movq %rsi, %r15
movq $0x0, 0x80(%rsi)
movq 0x10(%rdi), %rax
addq (%rdi), %rax
cmpq 0x40(%rsp), %rax
movq %rdx, 0x10(%rsp)
jbe 0x375d2
movq %rdi, 0x50(%rsp)
movabsq $-0xff00000001, %rsi    # imm = 0xFFFFFF00FFFFFFFF
movq 0x18(%r14), %rax
movq %rax, %rdx
andq %rsi, %rdx
movq %rdx, 0x18(%r14)
cmpb $0x2e, (%rcx)
jne 0x35d8c
cmpb $0x0, 0x1(%rcx)
je 0x37a33
movq 0x28(%r15), %rax
movq %rax, 0x18(%rsp)
leaq 0x74c1e(%rip), %rsi     # 0xaa9ba
leaq 0x90(%rsp), %rdx
movq %rcx, %rdi
callq 0x8b5b7
testq %rax, %rax
movq %r15, 0x8(%rsp)
je 0x361c4
movq %rax, %r12
xorl %r13d, %r13d
cmpq $0xff, %r13
je 0x37a4c
movq 0xb8(%rsp), %rax
movb $0x0, (%rax)
movq 0x18(%rsp), %rax
movl (%rax), %eax
testl %eax, %eax
movq %r13, 0x48(%rsp)
movq %r12, 0x20(%rsp)
je 0x35e1d
movq %rax, 0x28(%rsp)
movb (%r12), %cl
testb %cl, %cl
je 0x35e24
leaq 0x1(%r12), %rax
movl $0x811c9dc5, %r14d      # imm = 0x811C9DC5
movzbl %cl, %ecx
xorl %r14d, %ecx
imull $0x1000193, %ecx, %r14d # imm = 0x1000193
movb (%rax), %cl
incq %rax
testb %cl, %cl
jne 0x35e05
jmp 0x35e2a
xorl %ebx, %ebx
jmp 0x35ecb
movl $0x811c9dc5, %r14d      # imm = 0x811C9DC5
movq 0x28(%rsp), %rax
leal -0x1(%rax), %ebp
andl %ebp, %r14d
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movl $0x1, %r13d
movl %r14d, %ebx
movq %rsi, 0x38(%rsp)
movl %ebx, %eax
shrl $0x4, %eax
movl (%rsi,%rax,4), %r15d
leal (%rbx,%rbx), %r12d
andl $0x1e, %r12d
movl %r15d, %eax
movl %r12d, %ecx
shrl %cl, %eax
testb $0x2, %al
jne 0x35ea5
testb $0x1, %al
jne 0x35e8f
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
movl %ebx, %ecx
movq (%rax,%rcx,8), %rdi
movq 0x20(%rsp), %rsi
callq 0x46e0
movq 0x38(%rsp), %rsi
testl %eax, %eax
je 0x35ea5
addl %r13d, %ebx
andl %ebp, %ebx
incl %r13d
cmpl %r14d, %ebx
jne 0x35e4c
movq 0x28(%rsp), %rax
movl %eax, %ebx
jmp 0x35eb7
movl %r12d, %ecx
shrl %cl, %r15d
testb $0x3, %r15b
movq 0x28(%rsp), %rax
cmovnel %eax, %ebx
movq 0x10(%rsp), %r14
movq 0x8(%rsp), %r15
movq 0x20(%rsp), %r12
movq 0x48(%rsp), %r13
cmpl %eax, %ebx
je 0x35eea
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movl %ebx, %ecx
imulq $0x38, %rcx, %rcx
cmpq $0xf, 0x10(%rax,%rcx)
jne 0x360fa
cmpb $0x2e, (%r12)
jne 0x35efd
cmpb $0x0, 0x1(%r12)
je 0x37c24
testq %r14, %r14
je 0x35f08
movl 0x10(%r14), %eax
jmp 0x35f0d
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r15, %r15
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x35f32
cmpl %eax, 0x4(%r15)
jle 0x35f32
movq 0x18(%r15), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %r8
jmp 0x35f35
xorl %r8d, %r8d
testq %r8, %r8
leaq 0x79a20(%rip), %rax     # 0xaf95f
cmoveq %rax, %r8
movq (%r14), %r9
incq %r9
movl $0x3, %edi
leaq 0x79c5d(%rip), %rsi     # 0xafbb2
leaq 0x79cd9(%rip), %rdx     # 0xafc35
movq %r12, %rcx
xorl %eax, %eax
callq 0x9774
xorps %xmm0, %xmm0
movaps %xmm0, 0x70(%rsp)
movq $0x0, 0x80(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x79cf8(%rip), %rsi     # 0xafc7e
movq %r12, %rdx
xorl %eax, %eax
callq 0x8b533
movq 0x80(%rsp), %rsi
leaq 0x8c(%rsp), %rdx
callq 0x2c456
movq %rax, %r13
movq 0x80(%rsp), %rdi
callq 0x45c0
testq %r13, %r13
je 0x35fc9
movq %r15, %rdi
movq %r13, %rsi
callq 0x2ce41
movl %eax, %ecx
jmp 0x35fce
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
testl %ecx, %ecx
jns 0x35fde
movq %r13, %rdi
movl %ecx, %ebx
callq 0x2bd39
movl %ebx, %ecx
testl %ecx, %ecx
jle 0x35fec
movq %r15, %rdi
callq 0x2bc46
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl (%rax), %eax
testl %eax, %eax
movq 0x48(%rsp), %r13
je 0x36030
movq %rax, 0x28(%rsp)
movl %ecx, 0x34(%rsp)
movb (%r12), %cl
testb %cl, %cl
je 0x36037
leaq 0x1(%r12), %rax
movl $0x811c9dc5, %r14d      # imm = 0x811C9DC5
movzbl %cl, %ecx
xorl %r14d, %ecx
imull $0x1000193, %ecx, %r14d # imm = 0x1000193
movb (%rax), %cl
incq %rax
testb %cl, %cl
jne 0x36018
jmp 0x3603d
xorl %ebx, %ebx
jmp 0x360e2
movl $0x811c9dc5, %r14d      # imm = 0x811C9DC5
movq 0x28(%rsp), %rax
leal -0x1(%rax), %ebp
andl %ebp, %r14d
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movl $0x1, %r12d
movl %r14d, %ebx
movq %rsi, 0x38(%rsp)
movl %ebx, %eax
shrl $0x4, %eax
movl (%rsi,%rax,4), %r15d
leal (%rbx,%rbx), %r13d
andl $0x1e, %r13d
movl %r15d, %eax
movl %r13d, %ecx
shrl %cl, %eax
testb $0x2, %al
jne 0x360b8
testb $0x1, %al
jne 0x360a2
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
movl %ebx, %ecx
movq (%rax,%rcx,8), %rdi
movq 0x20(%rsp), %rsi
callq 0x46e0
movq 0x38(%rsp), %rsi
testl %eax, %eax
je 0x360b8
addl %r12d, %ebx
andl %ebp, %ebx
incl %r12d
cmpl %r14d, %ebx
jne 0x3605f
movq 0x28(%rsp), %rax
movl %eax, %ebx
jmp 0x360ca
movl %r13d, %ecx
shrl %cl, %r15d
testb $0x3, %r15b
movq 0x28(%rsp), %rax
cmovnel %eax, %ebx
movq 0x10(%rsp), %r14
movq 0x8(%rsp), %r15
movq 0x20(%rsp), %r12
movq 0x48(%rsp), %r13
movl 0x34(%rsp), %ecx
orb $0x2, 0xcc(%r14)
testl %ecx, %ecx
jne 0x37a66
cmpl %eax, %ebx
je 0x37a66
leaq (,%r13,4), %rax
addq %r13, %rax
andl $0x1, 0xd0(%rsp,%rax,8)
xorl %ecx, %ecx
movl %ecx, 0xc4(%rsp,%rax,8)
movl %ecx, 0xd4(%rsp,%rax,8)
movq 0x18(%rsp), %rdx
movq 0x20(%rdx), %rdx
movl %ebx, %esi
imulq $0x38, %rsi, %rsi
movslq 0x30(%rdx,%rsi), %rdx
movl %edx, 0xc0(%rsp,%rax,8)
cmpb $0x47, (%r12)
jne 0x36152
cmpb $0x54, 0x1(%r12)
jne 0x36152
xorl %ecx, %ecx
cmpb $0x0, 0x2(%r12)
sete %cl
leaq (%rsp,%rax,8), %rax
addq $0xc0, %rax
movl %ecx, 0x10(%rax)
movq 0x10(%r15), %rcx
shlq $0x4, %rdx
movq 0x8(%rcx,%rdx), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, 0x18(%rax)
movq 0x18(%r14), %rax
movabsq $0x100000000, %rcx      # imm = 0x100000000
addq %rax, %rcx
movabsq $0xff00000000, %rdx     # imm = 0xFF00000000
andq %rdx, %rcx
movabsq $-0xff00000001, %rdx    # imm = 0xFFFFFF00FFFFFFFF
andq %rdx, %rax
orq %rcx, %rax
movq %rax, 0x18(%r14)
xorl %edi, %edi
xorl %esi, %esi
leaq 0x90(%rsp), %rdx
callq 0x8b5b7
movq %rax, %r12
incq %r13
testq %rax, %rax
jne 0x35dc0
movq 0x40(%rsp), %rsi
incq %rsi
movzbl 0x1c(%r14), %eax
movl %eax, 0x1c(%r14)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %r14
addq (%rax), %r14
movl $0x1, %r13d
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
leaq 0xc0(%rsp), %r9
leaq 0x781a5(%rip), %r12     # 0xae3a0
leaq 0x79aeb(%rip), %r10     # 0xafced
leaq 0x79afa(%rip), %rdx     # 0xafd03
movq %rsi, %rbp
movl $0x1, %eax
cmpq %r14, %rsi
jae 0x3640c
movq 0x78(%r15), %r8
testq %r8, %r8
je 0x36270
leal 0x1(%rbx), %ecx
addl $0x8, %ebx
testl %ecx, %ecx
cmovnsl %ecx, %ebx
sarl $0x3, %ebx
movslq %ebx, %rdi
movzbl (%r8,%rdi), %r8d
movl %ecx, %edi
andl $0x7, %edi
btl %edi, %r8d
jb 0x3626e
movq %rsi, %rdi
movb (%rsi), %r8b
incq %rsi
cmpq %r14, %rdi
jae 0x36258
cmpb $0x9, %r8b
jne 0x36244
leaq -0x1(%rsi), %rdi
cmpb $0x9, %r8b
jne 0x36267
movb $0x0, (%rdi)
jmp 0x3626a
movq %rdi, %rsi
movl %ecx, %ebx
jmp 0x36211
movl %ecx, %ebx
xorl %ecx, %ecx
movq %r9, %r11
movq %rsi, %rdi
leaq -0x1(%rsi), %r15
movl %edi, %r8d
notl %r8d
addl %esi, %r8d
movzbl 0x1(%r15), %esi
incq %r15
incl %r8d
cmpb $0x0, (%rsi,%r12)
je 0x36285
cmpl $0x2e, %esi
jg 0x362ab
cmpl $0x9, %esi
je 0x362c0
cmpl $0x2c, %esi
jne 0x362c4
incl %r13d
jmp 0x3631e
cmpl $0x2f, %esi
je 0x362b5
cmpl $0x7c, %esi
jne 0x362c4
movl 0x10(%r11), %esi
andl $0x1, %esi
addl %esi, %eax
jmp 0x3631e
movb $0x0, (%r15)
cmpl %r13d, 0x4(%r11)
jge 0x362ce
movl %r13d, 0x4(%r11)
cmpl %r8d, 0x14(%r11)
jae 0x362d8
movl %r8d, 0x14(%r11)
movl 0x10(%r11), %esi
testb $0x1, %sil
je 0x362f3
shrl %esi
cmpl %eax, %esi
jge 0x362f3
leal 0x1(,%rax,2), %eax
movl %eax, 0x10(%r11)
cmpb $0x3a, (%r15)
jne 0x3632d
incl %ecx
movq 0x10(%rsp), %rax
movzbl 0x1c(%rax), %eax
cmpl %eax, %ecx
jge 0x36392
addq $0x28, %r11
movl $0x1, %r13d
movl $0x1, %eax
movq %r15, %rdi
leaq 0x1(%r15), %rsi
cmpq %r14, %r15
jb 0x36278
jmp 0x36338
movl $0x1, %r13d
movl $0x1, %eax
movq 0x10(%rsp), %rdi
movq 0x18(%rdi), %rcx
movq %rcx, %r11
movabsq $-0x10000000000, %rsi   # imm = 0xFFFFFF0000000000
andq %rsi, %r11
movabsq $0xffffffffff, %r8      # imm = 0xFFFFFFFFFF
leaq (%r8,%r11), %rsi
addq %r8, %r11
incq %r11
andq %r8, %rcx
addq %rsi, %rcx
incq %rcx
movq %rcx, 0x18(%rdi)
shrq $0x28, %r11
xorl %ecx, %ecx
xorl %esi, %esi
movq 0x8(%rsp), %rdi
cmpl %r11d, 0x8(%rdi)
sete %cl
setne %sil
addq %rsi, %r15
leal (%rcx,%rcx,2), %ecx
jmp 0x363f3
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x10(%rsp), %rsi
movslq 0x10(%rsi), %rcx
shlq $0x4, %rcx
movq (%rax,%rcx), %rcx
movq (%rsi), %r8
incq %r8
movl $0x1, %r13d
movl $0x1, %edi
movq %r10, %rsi
xorl %eax, %eax
callq 0x9774
leaq 0x79935(%rip), %rdx     # 0xafd03
leaq 0x79918(%rip), %r10     # 0xafced
leaq 0xc0(%rsp), %r9
movq 0x10(%rsp), %rax
orb $0x4, 0xcc(%rax)
movl $0x1, %eax
movl $0x1, %ecx
movq %r15, %rsi
testl %ecx, %ecx
movq 0x8(%rsp), %r15
je 0x36211
cmpl $0x3, %ecx
jne 0x37d7a
movq 0x10(%rsp), %r12
movabsq $0xff00000000, %rax     # imm = 0xFF00000000
testq %rax, 0x18(%r12)
je 0x367b1
leaq 0xc4(%rsp), %r14
xorl %r15d, %r15d
cmpl $0x0, (%r14)
jne 0x3643e
movl $0x1, (%r14)
movl 0x14(%r14), %ecx
shrl $0x4, %ecx
andl $0xf, %ecx
leal -0x1(%rcx), %eax
cmpl $0x2, %eax
jae 0x36579
movl (%r14), %eax
shll $0x2, %eax
movl %eax, 0x4(%r14)
movq 0x8(%rsp), %r13
movq 0x80(%r13), %rcx
movq %rcx, %rbx
andq $0x7, %rbx
je 0x36536
movq $0x0, 0x90(%rsp)
movq %rcx, %rax
andq $-0x8, %rax
addq $0xa, %rax
cmpq %rcx, %rax
jbe 0x36603
movq 0x8(%rsp), %r13
cmpq %rax, 0x88(%r13)
jae 0x364f0
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %r12d
cmovbeq %rcx, %r12
addq %rax, %r12
movq 0x90(%r13), %rdi
movq %r12, %rsi
callq 0x4860
testq %rax, %rax
je 0x3660e
movq 0x8(%rsp), %r13
movq %rax, 0x90(%r13)
movq %r12, 0x88(%r13)
movl $0x8, %r12d
subq %rbx, %r12
movq 0x90(%r13), %rdi
addq 0x80(%r13), %rdi
leaq 0x90(%rsp), %rsi
movq %r12, %rdx
callq 0x43c0
addq 0x80(%r13), %r12
movq %r12, 0x80(%r13)
movq 0x90(%r13), %rax
movb $0x0, (%rax,%r12)
movq 0x10(%rsp), %r12
movq 0x80(%r13), %rcx
movq 0x18(%r12), %rdx
shrq $0x28, %rdx
movslq 0x4(%r14), %rax
imulq %rdx, %rax
addq %rcx, %rax
testq $-0x80000000, %rax      # imm = 0x80000000
je 0x365a6
cmpb $0x0, 0x998b8(%rip)     # 0xcfe18
jne 0x3676d
testq %r12, %r12
je 0x3670e
movl 0x10(%r12), %eax
jmp 0x36713
cmpl $0x3, %ecx
jne 0x36593
movl 0xc(%r14), %eax
testb $0x1, %al
jne 0x3661d
movl 0x10(%r14), %eax
jmp 0x3645a
testq %r12, %r12
je 0x3669a
movl 0x10(%r12), %eax
jmp 0x3669f
movl %ecx, 0x8(%r14)
cmpq %rax, 0x88(%r13)
jae 0x365e3
movq %rax, %r12
shrq %r12
addq %rax, %r12
movq 0x90(%r13), %rdi
movq %r12, %rsi
callq 0x4860
testq %rax, %rax
je 0x3660e
movq %rax, 0x90(%r13)
movq %r12, 0x88(%r13)
movq 0x10(%rsp), %r12
movq 0x18(%r12), %rax
shrq $0x28, %rax
movslq 0x4(%r14), %rcx
imulq %rax, %rcx
addq %rcx, 0x80(%r13)
xorl %r12d, %r12d
jmp 0x3678c
callq 0x4050
movl $0x4b, (%rax)
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x36627
movl 0x10(%rsi), %eax
jmp 0x3662c
addl %eax, %eax
andl $-0x4, %eax
jmp 0x3645a
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x36655
cmpl %eax, 0x4(%rdi)
jle 0x36655
movq 0x18(%rdi), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rcx
jmp 0x36657
xorl %ecx, %ecx
testq %rcx, %rcx
leaq 0x792fe(%rip), %rax     # 0xaf95f
cmoveq %rax, %rcx
movq (%rsi), %r8
incq %r8
movq %rsi, %rbx
movl $0x1, %r12d
movl $0x1, %edi
leaq 0x796af(%rip), %rsi     # 0xafd2f
leaq 0x796f8(%rip), %rdx     # 0xafd7f
xorl %eax, %eax
callq 0x9774
orb $0x8, 0xcc(%rbx)
jmp 0x3678c
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
sete %dl
testl %eax, %eax
sets %sil
orb %dl, %sil
jne 0x366ca
cmpl %eax, 0x4(%rdi)
jle 0x366ca
movq 0x18(%rdi), %rdx
movl %eax, %eax
shlq $0x4, %rax
movq (%rdx,%rax), %r8
jmp 0x366cd
xorl %r8d, %r8d
testq %r8, %r8
leaq 0x79288(%rip), %rax     # 0xaf95f
cmoveq %rax, %r8
movq (%r12), %r9
incq %r9
movq %r12, %rbx
movl $0x1, %r12d
movl $0x1, %edi
leaq 0x79638(%rip), %rsi     # 0xafd2f
leaq 0x79649(%rip), %rdx     # 0xafd47
xorl %eax, %eax
callq 0x9774
orb $0x40, 0xcc(%rbx)
jmp 0x3678c
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rsi
testq %rsi, %rsi
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x3673c
cmpl %eax, 0x4(%rsi)
jle 0x3673c
movq 0x18(%rsi), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rcx
jmp 0x3673e
xorl %ecx, %ecx
testq %rcx, %rcx
leaq 0x79217(%rip), %rax     # 0xaf95f
cmoveq %rax, %rcx
movq (%r12), %r8
incq %r8
movl $0x3, %edi
leaq 0x795d0(%rip), %rsi     # 0xafd2f
leaq 0x7963d(%rip), %rdx     # 0xafda3
xorl %eax, %eax
callq 0x9774
movb $0x1, 0x996a4(%rip)     # 0xcfe18
orb $0x8, 0xcc(%r12)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x4(%r14)
movl $0x4, %r12d
testb $0x3, %r12b
jne 0x37d7a
incq %r15
movq 0x10(%rsp), %r12
movzbl 0x1c(%r12), %eax
addq $0x28, %r14
cmpq %rax, %r15
jb 0x36431
movq 0x18(%r12), %rax
movabsq $0xff00000000, %rcx     # imm = 0xFF00000000
testq %rcx, %rax
je 0x36809
movq %rax, %rcx
shrq $0x20, %rcx
movzbl %cl, %edx
cmpq $0x1, %rdx
adcq $0x0, %rdx
movq 0x8(%rsp), %rcx
movq 0x90(%rcx), %rcx
shlq $0x3, %rdx
leaq (%rdx,%rdx,4), %rdx
xorl %esi, %esi
movslq 0xcc(%rsp,%rsi), %rdi
addq %rcx, %rdi
movq %rdi, 0xe0(%rsp,%rsi)
addq $0x28, %rsi
cmpq %rsi, %rdx
jne 0x367ed
movabsq $0xfe00000000, %rcx     # imm = 0xFE00000000
testq %rcx, %rax
movq 0x50(%rsp), %rdx
je 0x36942
movl $0x1, %ebx
movl $0x28, %r14d
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
leaq 0x7959f(%rip), %r13     # 0xafdd8
leaq (%rbx,%rbx,4), %rax
cmpl $-0x1, 0xc8(%rsp,%rax,8)
je 0x36929
leaq (%rsp,%rax,8), %r12
addq $0xc0, %r12
xorl %ecx, %ecx
cmpl $-0x1, 0xc8(%rsp,%rcx)
je 0x3686f
movslq (%r12), %rax
cmpl 0xc0(%rsp,%rcx), %eax
je 0x3687d
addq $0x28, %rcx
cmpq %rcx, %r14
jne 0x36858
jmp 0x36929
cmpb $0x0, 0x99598(%rip)     # 0xcfe1c
jne 0x36911
movq 0x10(%rsp), %rcx
testq %rcx, %rcx
je 0x36899
movl 0x10(%rcx), %ecx
jmp 0x3689e
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
sete %dl
testl %ecx, %ecx
sets %sil
orb %dl, %sil
jne 0x368c9
cmpl %ecx, 0x4(%rdi)
jle 0x368c9
movq 0x18(%rdi), %rdx
movl %ecx, %ecx
shlq $0x4, %rcx
movq (%rdx,%rcx), %r8
jmp 0x368cc
xorl %r8d, %r8d
shlq $0x4, %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq (%rcx,%rax), %rcx
testq %r8, %r8
leaq 0x79078(%rip), %rax     # 0xaf95f
cmoveq %rax, %r8
movq 0x10(%rsp), %rax
movq (%rax), %r9
incq %r9
movl $0x3, %edi
leaq 0x7942d(%rip), %rsi     # 0xafd2f
movq %r13, %rdx
xorl %eax, %eax
callq 0x9774
movq 0x50(%rsp), %rdx
movb $0x1, 0x99504(%rip)     # 0xcfe1c
movq 0x10(%rsp), %rax
orb $0x40, 0xcc(%rax)
movq %r15, 0x8(%r12)
incq %rbx
movq 0x10(%rsp), %rax
movzbl 0x1c(%rax), %eax
addq $0x28, %r14
cmpq %rax, %rbx
jb 0x36839
movq 0x8(%rsp), %rbx
movl 0x8(%rbx), %eax
movl %eax, 0x6c(%rsp)
movq 0x10(%rdx), %r13
addq (%rdx), %r13
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2cd13
movq %rbx, %r8
movl %eax, 0x5c(%rsp)
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
xorl %esi, %esi
cmpq %r13, %rbp
movq 0x10(%rsp), %r12
jae 0x3764b
movq 0x78(%r8), %rax
testq %rax, %rax
je 0x369c9
movl %r14d, %ecx
leal 0x1(%rcx), %r14d
addl $0x8, %ecx
testl %r14d, %r14d
cmovnsl %r14d, %ecx
sarl $0x3, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %ecx
movl %r14d, %edx
andl $0x7, %edx
btl %edx, %ecx
jb 0x369c9
movq %rbp, %rcx
leaq 0x1(%rcx), %rbp
cmpb $0x0, (%rcx)
je 0x369bf
cmpq %r13, %rcx
movq %rbp, %rcx
jb 0x369ae
cmpq %r13, %rbp
jb 0x36985
jmp 0x3764b
cmpl 0x6c(%rsp), %esi
je 0x3764b
movl %r14d, 0x50(%rsp)
movl %esi, 0x34(%rsp)
movslq %esi, %rax
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpq %r13, %rbp
jae 0x3744c
movq %rax, 0x48(%rsp)
leaq (%rax,%rax,4), %rax
movl 0xd8(%rsp,%rax,8), %ecx
shrl $0x4, %ecx
andl $0xf, %ecx
movq 0xe0(%rsp,%rax,8), %rdi
testq %rdi, %rdi
je 0x36a98
leaq (%rsp,%rax,8), %r9
addq $0xc0, %r9
movslq 0x8(%r9), %rax
cmpq $-0x1, %rax
movq %r9, 0x20(%rsp)
je 0x36a82
cmpl $0x1, %ecx
je 0x36c77
cmpl $0x2, %ecx
je 0x36b18
cmpl $0x3, %ecx
jne 0x36efa
imulq 0x28(%rsp), %rax
addq %rax, %rdi
testb $0x1, 0x10(%r9)
jne 0x36f12
xorl %eax, %eax
movzbl (%rbp,%rax), %ecx
testl %ecx, %ecx
je 0x36f58
cmpl $0x3a, %ecx
je 0x36f58
movb %cl, (%rdi,%rax)
incq %rax
jmp 0x36a61
incq %rbp
movzbl (%rbp), %eax
testl %eax, %eax
je 0x36f79
cmpl $0x3a, %eax
jne 0x36a7f
jmp 0x36f79
testq %r12, %r12
je 0x36aa4
movl 0x10(%r12), %eax
jmp 0x36aa9
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r8, %r8
sete %dl
testl %eax, %eax
sets %sil
orb %dl, %sil
jne 0x36ad0
cmpl %eax, 0x4(%r8)
jle 0x36ad0
movq 0x18(%r8), %rdx
movl %eax, %eax
shlq $0x4, %rax
movq (%rdx,%rax), %r8
jmp 0x36ad3
xorl %r8d, %r8d
testq %r8, %r8
leaq 0x78e82(%rip), %rax     # 0xaf95f
cmoveq %rax, %r8
movq (%r12), %r9
incq %r9
xorl %ebx, %ebx
movl $0x1, %r14d
movl $0x1, %edi
leaq 0x792fe(%rip), %rsi     # 0xafdfa
leaq 0x7930e(%rip), %rdx     # 0xafe11
xorl %eax, %eax
callq 0x9774
orb $0x8, 0xcc(%r12)
jmp 0x37420
imulq 0x28(%rsp), %rax
addq %rax, %rdi
xorl %ebx, %ebx
movq %rdi, %r15
cmpb $0x2e, (%rbp)
jne 0x36b59
movzbl 0x1(%rbp), %r14d
callq 0x4510
movq (%rax), %rax
testb $0x8, 0x1(%rax,%r14,2)
jne 0x36b59
incq %rbp
movl 0x989c6(%rip), %eax     # 0xcf510
movq %r15, %rdi
movl %eax, (%r15,%rbx,4)
movq %rbp, %r14
jmp 0x36c33
movl $0x0, 0x70(%rsp)
movq %rbp, %rdi
leaq 0x90(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x4286d
movq 0x90(%rsp), %r14
cmpq %rbp, %r14
setne %al
cmpl $0x0, 0x70(%rsp)
sete %cl
testb %cl, %al
jne 0x36c26
testb $0x1, 0x99285(%rip)     # 0xcfe20
jne 0x36c26
testq %r12, %r12
je 0x36bad
movl 0x10(%r12), %eax
jmp 0x36bb2
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x20(%rsp), %rsi
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
movsd %xmm0, 0x18(%rsp)
jne 0x36be6
cmpl %eax, 0x4(%rdi)
jle 0x36be6
movq 0x18(%rdi), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %r8
jmp 0x36be9
xorl %r8d, %r8d
movslq (%rsi), %rax
shlq $0x4, %rax
movq 0x10(%rdi), %rcx
movq (%rcx,%rax), %rcx
movq (%r12), %r9
incq %r9
movl $0x3, %edi
leaq 0x791ef(%rip), %rsi     # 0xafdfa
leaq 0x792e9(%rip), %rdx     # 0xafefb
xorl %eax, %eax
callq 0x9774
movb $0x1, 0x99200(%rip)     # 0xcfe20
movsd 0x18(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movq %r15, %rdi
movss %xmm0, (%r15,%rbx,4)
incq %rbx
leaq 0x1(%r14), %rbp
cmpb $0x2c, (%r14)
je 0x36b23
movq 0x20(%rsp), %rax
movl 0x8(%rax), %ecx
sarl $0x2, %ecx
cmpl %ebx, %ecx
jle 0x36f0d
movl 0x988b7(%rip), %eax     # 0xcf514
movl %ecx, %ecx
movq 0x8(%rsp), %r8
movl %eax, (%rdi,%rbx,4)
incq %rbx
cmpq %rbx, %rcx
jne 0x36c64
movq %r14, %rbp
jmp 0x36f79
imulq 0x28(%rsp), %rax
addq %rax, %rdi
movl $0x1, %eax
xorl %r14d, %r14d
movq %rdi, 0x18(%rsp)
movq %rax, %rbx
movzbl (%rbp), %eax
cmpl $0x2b, %eax
je 0x36cf8
cmpl $0x2d, %eax
je 0x36cb9
movq %rbp, %rdx
cmpl $0x2e, %eax
jne 0x36cfc
movl $0x80000000, (%rdi,%r14,4) # imm = 0x80000000
incq %rbp
movq %rbp, %r15
jmp 0x36ebf
leaq 0x13(%rbp), %r15
movl $0x1, %ecx
xorl %eax, %eax
movabsq $0xccccccccccccccc, %r8 # imm = 0xCCCCCCCCCCCCCCC
movzbl (%rbp,%rcx), %edx
leal -0x3a(%rdx), %esi
cmpb $-0xa, %sil
setb %sil
jb 0x36d4f
leaq (%rax,%rax,4), %rax
leaq (%rdx,%rax,2), %rax
addq $-0x30, %rax
incq %rcx
cmpl $0x13, %ecx
jne 0x36cce
xorl %esi, %esi
jmp 0x36d55
leaq 0x1(%rbp), %rdx
leaq 0x12(%rdx), %r15
xorl %ecx, %ecx
xorl %eax, %eax
movabsq $0xccccccccccccccc, %r8 # imm = 0xCCCCCCCCCCCCCCC
movzbl (%rdx,%rcx), %r10d
leal -0x3a(%r10), %esi
cmpb $-0xa, %sil
setb %sil
jb 0x36d3b
leaq (%rax,%rax,4), %rax
leaq (%r10,%rax,2), %rax
addq $-0x30, %rax
incq %rcx
cmpl $0x12, %ecx
jne 0x36d0e
movb $0x1, %cl
xorl %esi, %esi
jmp 0x36d43
addq %rcx, %rdx
movb $0x1, %cl
movq %rdx, %r15
movabsq $0x7fffffffffffffff, %rdx # imm = 0x7FFFFFFFFFFFFFFF
jmp 0x36d65
addq %rbp, %rcx
movq %rcx, %r15
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
leaq 0x1(%rcx), %rdx
xorl %ecx, %ecx
xorl %r10d, %r10d
testb %sil, %sil
jne 0x36dc1
movb (%r15), %sil
cmpb $0x30, %sil
jb 0x36dc1
movzbl %sil, %r10d
addl $-0x30, %r10d
cmpl $0x9, %r10d
ja 0x36dbe
movabsq $0x7fffffffffffffff, %rsi # imm = 0x7FFFFFFFFFFFFFFF
addq %rdx, %rsi
addq $0x9, %rsi
movl %r10d, %r10d
cmpq %r8, %rax
jb 0x36da4
jne 0x36e15
cmpq %r10, %rsi
jb 0x36e15
leaq (%rax,%rax,4), %rax
leaq (%r10,%rax,2), %rax
movzbl 0x1(%r15), %r10d
incq %r15
addl $-0x30, %r10d
cmpl $0xa, %r10d
jb 0x36d95
xorl %r10d, %r10d
movq %rax, %r12
negq %r12
testb %cl, %cl
cmovneq %rax, %r12
testb %r10b, %r10b
jne 0x36df2
cmpq %rbp, %r15
je 0x36df2
leaq -0x80000000(%r12), %rax
movabsq $-0xfffffff9, %rcx      # imm = 0xFFFFFFFF00000007
cmpq %rcx, %rax
ja 0x36eb6
movq $-0x80000000, %r12      # imm = 0x80000000
cmpb $0x0, 0x99020(%rip)     # 0xcfe20
jne 0x36eb6
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x36e2d
movl 0x10(%rax), %eax
jmp 0x36e32
movzbl 0x1(%r15), %eax
incq %r15
addl $-0x30, %eax
cmpl $0xa, %eax
jb 0x36e15
movb $0x1, %r10b
movq %rdx, %rax
jmp 0x36dc1
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rsi
testq %rsi, %rsi
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x36e5b
cmpl %eax, 0x4(%rsi)
jle 0x36e5b
movq 0x18(%rsi), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %r8
jmp 0x36e5e
xorl %r8d, %r8d
movslq (%r9), %rax
shlq $0x4, %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq (%rcx,%rax), %rcx
testq %r8, %r8
leaq 0x78ae3(%rip), %rax     # 0xaf95f
cmoveq %rax, %r8
movq 0x10(%rsp), %rax
movq (%rax), %r9
incq %r9
movl $0x3, %edi
leaq 0x78f63(%rip), %rsi     # 0xafdfa
leaq 0x7901c(%rip), %rdx     # 0xafeba
xorl %eax, %eax
callq 0x9774
movq 0x20(%rsp), %r9
movb $0x1, 0x98f6f(%rip)     # 0xcfe20
movq 0x18(%rsp), %rdi
movl %r12d, (%rdi,%r14,4)
movq 0x10(%rsp), %r12
incq %r14
leaq 0x1(%r15), %rbp
leaq 0x1(%rbx), %rax
cmpb $0x2c, (%r15)
je 0x36c8d
movl 0x8(%r9), %eax
sarl $0x2, %eax
cmpl %r14d, %eax
jle 0x36ef5
movl $0x80000001, (%rdi,%rbx,4) # imm = 0x80000001
incq %rbx
movl 0x8(%r9), %eax
sarl $0x2, %eax
cmpl %ebx, %eax
jg 0x36ee0
movq %r15, %rbp
jmp 0x36f74
testq %r12, %r12
je 0x37063
movl 0x10(%r12), %eax
jmp 0x37068
movq %r14, %rbp
jmp 0x36f74
cmpl $0x3d18a0, 0x5c(%rsp)   # imm = 0x3D18A0
movq %rdi, 0x18(%rsp)
jl 0x370d7
movzbl (%rbp), %eax
cmpl $0x7c, %eax
je 0x36f37
cmpl $0x2f, %eax
jne 0x370eb
movq $0x0, 0x40(%rsp)
incq %rbp
xorl %r10d, %r10d
cmpb $0x7c, %al
sete %r10b
movb $0x1, %al
movq %rax, 0x60(%rsp)
jmp 0x37100
movl 0x8(%r9), %ecx
addq %rax, %rbp
cmpl %eax, %ecx
jle 0x36f79
movl %eax, %edx
addq %rdx, %rdi
subl %eax, %ecx
movslq %ecx, %rdx
xorl %esi, %esi
callq 0x4250
movq 0x8(%rsp), %r8
movzbl (%rbp), %eax
testl %eax, %eax
je 0x36f93
cmpl $0x3a, %eax
jne 0x36fa0
incq %rbp
xorl %r14d, %r14d
movb $0x1, %bl
jmp 0x37425
xorl %ebx, %ebx
movl $0x7, %r14d
jmp 0x37425
movq %r8, %r15
movl $0x8, %esi
movl $0x1, %r8d
leaq 0x90(%rsp), %rdi
movl $0x27, %edx
movq %rbp, %rcx
callq 0x2a3a0
testq %r12, %r12
je 0x36fcf
movl 0x10(%r12), %ecx
jmp 0x36fd4
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq 0x20(%rsp), %rdx
movq %r15, %rdi
movslq (%rdx), %rdx
shlq $0x4, %rdx
movq 0x10(%r15), %rsi
movq (%rsi,%rdx), %r8
testq %r15, %r15
sete %dl
testl %ecx, %ecx
sets %sil
orb %dl, %sil
jne 0x37011
cmpl %ecx, 0x4(%rdi)
jle 0x37011
movq 0x18(%rdi), %rdx
movl %ecx, %ecx
shlq $0x4, %rcx
movq (%rdx,%rcx), %r9
jmp 0x37014
xorl %r9d, %r9d
testq %r9, %r9
leaq 0x78941(%rip), %rcx     # 0xaf95f
cmoveq %rcx, %r9
movq (%r12), %rcx
incq %rcx
movq %rcx, (%rsp)
xorl %ebx, %ebx
movl $0x1, %r14d
movl $0x1, %edi
leaq 0x78db9(%rip), %rsi     # 0xafdfa
leaq 0x78f08(%rip), %rdx     # 0xaff50
movq %rax, %rcx
xorl %eax, %eax
callq 0x9774
orb $0x10, 0xcc(%r12)
movq %r15, %r8
jmp 0x37425
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r8, %r8
sete %dl
testl %eax, %eax
sets %sil
orb %dl, %sil
jne 0x3708f
cmpl %eax, 0x4(%r8)
jle 0x3708f
movq 0x18(%r8), %rdx
movl %eax, %eax
shlq $0x4, %rax
movq (%rdx,%rax), %r8
jmp 0x37092
xorl %r8d, %r8d
testq %r8, %r8
leaq 0x788c3(%rip), %rax     # 0xaf95f
cmoveq %rax, %r8
movq (%r12), %r9
incq %r9
xorl %ebx, %ebx
movl $0x1, %r14d
movl $0x1, %edi
leaq 0x78d3f(%rip), %rsi     # 0xafdfa
leaq 0x78e67(%rip), %rdx     # 0xaff29
xorl %eax, %eax
callq 0x9774
orb $0x40, 0xcc(%r12)
jmp 0x37420
movq $0x0, 0x40(%rsp)
movq $0x0, 0x60(%rsp)
jmp 0x370fd
movq $0x0, 0x60(%rsp)
movq $0x0, 0x40(%rsp)
xorl %r10d, %r10d
movl $0x1, %eax
xorl %r11d, %r11d
movq %rbp, %rbx
xorl %r9d, %r9d
xorl %r8d, %r8d
xorl %esi, %esi
xorl %edi, %edi
movzbl (%rbx), %r14d
cmpl $0x2e, %r14d
jne 0x3713f
incq %rbx
movq 0x18(%rsp), %rcx
movl %r10d, (%rcx,%r11,4)
testq %r11, %r11
movl $0x1, %ecx
cmovel %ecx, %r9d
movq %rbx, %rbp
jmp 0x37279
leal -0x30(%r14), %ecx
cmpb $0x9, %cl
ja 0x37153
movb 0x1(%rbx), %cl
addb $-0x30, %cl
cmpb $0xa, %cl
jae 0x371bf
movl %r9d, 0x38(%rsp)
movl %edi, %r9d
xorl %ecx, %ecx
cmpl $0x2b, %r14d
sete %cl
leaq (%rbx,%rcx), %rbp
movb (%rbx,%rcx), %dil
leal -0x30(%rdi), %r14d
movb $0x1, %r15b
cmpb $0x9, %r14b
ja 0x371ba
leaq (%rbx,%rcx), %r12
addq $0x98, %r12
xorl %ecx, %ecx
xorl %r14d, %r14d
leaq (%r14,%r14,4), %rdx
movzbl %dil, %edi
leaq (%rdi,%rdx,2), %r14
addq $-0x30, %r14
cmpl $0x97, %ecx
setne %dil
je 0x371ce
movb 0x1(%rbp,%rcx), %dil
leal -0x30(%rdi), %edx
incq %rcx
cmpb $0x9, %dl
jbe 0x37189
addq %rcx, %rbp
jmp 0x371d4
xorl %r14d, %r14d
jmp 0x371d9
incq %rbx
addl $-0x30, %r14d
movq %rbx, %rbp
jmp 0x3725e
movq %r12, %rbp
movl %edi, %r15d
movq 0x10(%rsp), %r12
testb %r15b, %r15b
jne 0x3724c
movzbl (%rbp), %r15d
leal -0x3a(%r15), %ecx
cmpl $-0xa, %ecx
jb 0x3724c
addl $-0x30, %r15d
cmpl $0x9, %r15d
ja 0x3724c
movabsq $0x1999999999999999, %rcx # imm = 0x1999999999999999
cmpq %rcx, %r14
jb 0x3720d
jne 0x3722c
cmpl $0x6, %r15d
jae 0x3722c
leaq (%r14,%r14,4), %rcx
movl %r15d, %edx
leaq (%rdx,%rcx,2), %r14
movzbl 0x1(%rbp), %r15d
incq %rbp
addl $-0x30, %r15d
cmpl $0xa, %r15d
jb 0x371f6
jmp 0x3724c
movzbl 0x1(%rbp), %ecx
incq %rbp
addl $-0x30, %ecx
cmpl $0xa, %ecx
jb 0x3722c
movq $-0x1, %r14
movl $0x1, %ecx
movq %rcx, 0x40(%rsp)
movl %r9d, %edi
movl 0x38(%rsp), %r9d
xorl %ecx, %ecx
cmpq %rbp, %rbx
sete %cl
orl %ecx, %edi
cmpl %r14d, %esi
cmovbel %r14d, %esi
leal 0x2(,%r14,2), %ecx
orl %r10d, %ecx
movq 0x18(%rsp), %rdx
movl %ecx, (%rdx,%r11,4)
movq %r11, %rbx
incq %rbx
testl %r11d, %r11d
setne %cl
testl %r10d, %r10d
sete %dl
andb %cl, %dl
movzbl %dl, %ecx
orl %ecx, %r8d
movzbl (%rbp), %ecx
cmpl $0x7c, %ecx
je 0x372a1
cmpl $0x2f, %ecx
jne 0x372bc
xorl %r10d, %r10d
cmpb $0x7c, %cl
sete %r10b
incq %rbp
incq %rax
movq %rbx, %r11
movq %rbp, %rbx
jmp 0x37115
cmpl $0x3d18a0, 0x5c(%rsp)   # imm = 0x3D18A0
setl %cl
orb 0x60(%rsp), %cl
jne 0x372ec
testl %r11d, %r11d
je 0x372e3
xorl %ecx, %ecx
testl %r8d, %r8d
sete %cl
movq 0x18(%rsp), %rdx
orl %ecx, (%rdx)
jmp 0x372ec
testl %r9d, %r9d
je 0x37438
cmpl $0x0, 0x40(%rsp)
jne 0x3731b
cmpl $0x3fffffff, %esi       # imm = 0x3FFFFFFF
jae 0x3731b
testl %edi, %edi
movq 0x8(%rsp), %r8
je 0x3738c
testq %r12, %r12
je 0x373bd
movl 0x10(%r12), %eax
jmp 0x373c2
testq %r12, %r12
movq 0x8(%rsp), %rsi
je 0x3732c
movl 0x10(%r12), %eax
jmp 0x37331
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rsi, %rsi
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x37355
cmpl %eax, 0x4(%rsi)
jle 0x37355
movq 0x18(%rsi), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rcx
jmp 0x37357
xorl %ecx, %ecx
testq %rcx, %rcx
leaq 0x785fe(%rip), %rax     # 0xaf95f
cmoveq %rax, %rcx
movq (%r12), %r8
incq %r8
xorl %ebx, %ebx
movl $0x1, %r14d
movl $0x1, %edi
leaq 0x78a7a(%rip), %rsi     # 0xafdfa
leaq 0x78ac7(%rip), %rdx     # 0xafe4e
jmp 0x37419
movq 0x20(%rsp), %rdx
movl 0x8(%rdx), %ecx
sarl $0x2, %ecx
cmpl %ebx, %ecx
movq 0x18(%rsp), %rsi
jle 0x36f79
movl $0x80000001, (%rsi,%rax,4) # imm = 0x80000001
incq %rax
movl 0x8(%rdx), %ecx
sarl $0x2, %ecx
cmpl %eax, %ecx
jg 0x373a4
jmp 0x36f79
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r8, %r8
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x373e7
cmpl %eax, 0x4(%r8)
jle 0x373e7
movq 0x18(%r8), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rcx
jmp 0x373e9
xorl %ecx, %ecx
testq %rcx, %rcx
leaq 0x7856c(%rip), %rax     # 0xaf95f
cmoveq %rax, %rcx
movq (%r12), %r8
incq %r8
xorl %ebx, %ebx
movl $0x1, %r14d
movl $0x1, %edi
leaq 0x789e8(%rip), %rsi     # 0xafdfa
leaq 0x78a66(%rip), %rdx     # 0xafe7f
xorl %eax, %eax
callq 0x9774
movq 0x8(%rsp), %r8
movq 0x48(%rsp), %rax
incq %rax
testl %r14d, %r14d
je 0x369e6
jmp 0x37442
movl $0x1, %ecx
jmp 0x372da
cmpl $0x7, %r14d
jne 0x375b6
movq %rax, %rcx
movzbl 0x1c(%r12), %eax
cmpl %ecx, %eax
movl 0x50(%rsp), %r14d
jle 0x375ab
movq %rcx, %rax
movslq %eax, %rbx
leaq (%rbx,%rbx,4), %rax
movslq 0xc8(%rsp,%rax,8), %rcx
cmpq $-0x1, %rcx
je 0x37599
leaq (%rsp,%rax,8), %rax
addq $0xc0, %rax
movl 0x18(%rax), %edx
shrl $0x4, %edx
andl $0xf, %edx
cmpl $0x1, %edx
je 0x37526
cmpl $0x2, %edx
je 0x374e8
cmpl $0x3, %edx
jne 0x37599
testb $0x1, 0x10(%rax)
jne 0x3755f
testl %ecx, %ecx
je 0x37599
movq 0x20(%rax), %rdx
imulq 0x28(%rsp), %rcx
leaq (%rdx,%rcx), %rdi
incq %rdi
movb $0x2e, -0x1(%rdi)
movslq 0x8(%rax), %rdx
decq %rdx
xorl %esi, %esi
movq %r8, %r15
callq 0x4250
movq %r15, %r8
jmp 0x37599
movl %ecx, %edx
movq 0x20(%rax), %rax
imulq 0x28(%rsp), %rcx
movl 0x98016(%rip), %esi     # 0xcf510
movl %esi, (%rax,%rcx)
sarl $0x2, %edx
cmpl $0x2, %edx
jl 0x37599
addq %rcx, %rax
movl 0x98002(%rip), %ecx     # 0xcf514
movl %edx, %edx
movl $0x1, %esi
movl %ecx, (%rax,%rsi,4)
incq %rsi
cmpq %rsi, %rdx
jne 0x37519
jmp 0x37599
movq 0x20(%rax), %rdx
imulq 0x28(%rsp), %rcx
movl $0x80000000, (%rdx,%rcx) # imm = 0x80000000
cmpl $0x8, 0x8(%rax)
jl 0x37599
addq %rcx, %rdx
movl $0x1, %ecx
movl $0x80000001, (%rdx,%rcx,4) # imm = 0x80000001
incq %rcx
movl 0x8(%rax), %esi
sarl $0x2, %esi
movslq %esi, %rsi
cmpq %rsi, %rcx
jl 0x37545
jmp 0x37599
movq %rcx, %rdx
imulq 0x28(%rsp), %rdx
addq 0x20(%rax), %rdx
testl %ecx, %ecx
je 0x37576
movl $0x80000000, (%rdx)     # imm = 0x80000000
cmpl $0x8, 0x8(%rax)
jl 0x37599
movl $0x1, %ecx
movl $0x80000001, (%rdx,%rcx,4) # imm = 0x80000001
incq %rcx
movl 0x8(%rax), %esi
sarl $0x2, %esi
movslq %esi, %rsi
cmpq %rsi, %rcx
jl 0x37581
incq %rbx
movzbl 0x1c(%r12), %eax
cmpq %rax, %rbx
jl 0x37468
incl 0x34(%rsp)
incq %rbp
movb $0x1, %bl
jmp 0x375bb
movl 0x50(%rsp), %r14d
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testb %bl, %bl
movl 0x34(%rsp), %esi
jne 0x3696e
jmp 0x37d80
testq %r14, %r14
je 0x375dd
movl 0x10(%r14), %eax
jmp 0x375e2
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r15, %r15
sete %cl
testl %eax, %eax
sets %dl
xorl %r12d, %r12d
orb %cl, %dl
jne 0x3760a
cmpl %eax, 0x4(%r15)
jle 0x3760a
movq 0x18(%r15), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rax
jmp 0x3760c
xorl %eax, %eax
testq %rax, %rax
leaq 0x78349(%rip), %rcx     # 0xaf95f
cmovneq %rax, %rcx
movq 0x10(%rsp), %rbx
movq (%rbx), %r8
incq %r8
leaq 0x78536(%rip), %rsi     # 0xafb62
leaq 0x78547(%rip), %rdx     # 0xafb7a
movl $0x1, %edi
xorl %eax, %eax
callq 0x9774
orb $0x4, 0xcc(%rbx)
jmp 0x37d80
leaq 0x38(%r12), %r15
movq 0x18(%r12), %rax
movabsq $0xffffffffff, %rcx     # imm = 0xFFFFFFFFFF
incq %rcx
cmpq %rcx, %rax
setb %cl
movabsq $0xff00000000, %rdx     # imm = 0xFF00000000
testq %rdx, %rax
sete %al
orb %cl, %al
jne 0x37b3b
xorl %ebx, %ebx
movl $0x0, 0x18(%rsp)
leaq (%rbx,%rbx,4), %rax
cmpl $-0x1, 0xc8(%rsp,%rax,8)
je 0x3771f
leaq (%rsp,%rax,8), %r13
addq $0xc0, %r13
movl (%r13), %ebp
movq 0x38(%r12), %rax
addq $0x5, %rax
cmpq %rax, 0x40(%r12)
jae 0x376ff
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movq %r12, %rdx
movl $0x0, %r12d
cmovbeq %rcx, %r12
addq %rax, %r12
movq 0x48(%rdx), %rdi
movq %r12, %rsi
callq 0x4860
testq %rax, %rax
je 0x3775a
movq 0x10(%rsp), %rcx
movq %rax, 0x48(%rcx)
movq %r12, 0x40(%rcx)
movq %rcx, %r12
movq 0x38(%r12), %rax
movq 0x48(%r12), %rcx
movl %ebp, %edx
negl %edx
jo 0x37732
cmpl $0x80000001, %ebp       # imm = 0x80000001
jne 0x3773a
movw $0x8111, (%rcx,%rax)    # imm = 0x8111
jmp 0x37752
movl $0x4, %r14d
movl $0x1, 0x18(%rsp)
jmp 0x3794a
movw $0x8011, (%rcx,%rax)    # imm = 0x8011
jmp 0x37752
leal 0x78(%rbp), %edx
cmpl $0xf7, %edx
ja 0x37974
movb $0x11, (%rcx,%rax)
movb %bpl, 0x1(%rcx,%rax)
movl $0x2, %eax
addq %rax, (%r15)
movl 0x18(%r13), %eax
movl $0xf0, %ecx
andl %ecx, %eax
cmpl $0x10, %eax
movq 0x10(%rsp), %r12
je 0x37928
cmpl $0x30, %eax
jne 0x3784a
testb $0x1, 0x10(%r13)
jne 0x37841
movl 0x8(%r13), %esi
movq %r15, %rdi
movl $0x7, %edx
callq 0x33722
movslq 0x8(%r13), %rax
movq 0x18(%r12), %rbp
movq 0x38(%r12), %rcx
shrq $0x28, %rbp
imulq %rax, %rbp
leaq (%rcx,%rbp), %rax
addq $0x2, %rax
cmpq %rcx, %rax
jbe 0x379aa
movq 0x20(%r13), %rsi
cmpq %rax, 0x40(%r12)
jae 0x37817
movq %rsi, 0x20(%rsp)
movq %rax, %rcx
shrq %rcx
xorl %r14d, %r14d
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %r13d
cmovbeq %rcx, %r13
addq %rax, %r13
movq 0x48(%r12), %rdi
movq %r13, %rsi
callq 0x4860
testq %rax, %rax
je 0x3794a
movq %rax, 0x48(%r12)
movq %r13, 0x40(%r12)
movq 0x20(%rsp), %rsi
movq 0x48(%r12), %rdi
addq 0x38(%r12), %rdi
movq %rbp, %rdx
callq 0x43c0
addq 0x38(%r12), %rbp
movq %rbp, 0x38(%r12)
movq 0x48(%r12), %rax
movb $0x0, (%rax,%rbp)
jmp 0x37947
cmpl $0x10, %eax
je 0x37928
testb $0x1, 0x10(%r13)
jne 0x37928
movl 0x8(%r13), %esi
sarl $0x2, %esi
movq %r15, %rdi
movl $0x5, %edx
callq 0x33722
movl 0x8(%r13), %eax
sarl $0x2, %eax
cltq
movq 0x18(%r12), %rbp
shrq $0x28, %rbp
imulq %rax, %rbp
movabsq $0x3fffffffffffffff, %rax # imm = 0x3FFFFFFFFFFFFFFF
incq %rax
cmpq %rax, %rbp
jae 0x37995
movq 0x20(%r13), %r13
leaq (,%rbp,4), %rsi
movq 0x38(%r12), %rax
addq %rsi, %rax
cmpq %rax, 0x40(%r12)
jae 0x378fa
movq %rsi, 0x20(%rsp)
movq %rax, %rcx
shrq %rcx
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
cmpq %rdx, %rax
movl $0x0, %r14d
cmovbeq %rcx, %r14
addq %rax, %r14
movq 0x48(%r12), %rdi
movq %r14, %rsi
callq 0x4860
testq %rax, %rax
je 0x37995
movq %rax, 0x48(%r12)
movq %r14, 0x40(%r12)
movq 0x20(%rsp), %rsi
movq (%r15), %rax
testq %rbp, %rbp
je 0x37920
movq 0x48(%r12), %rcx
addq %rax, %rcx
xorl %edx, %edx
movss (%r13,%rdx,4), %xmm0
movss %xmm0, (%rcx,%rdx,4)
incq %rdx
cmpq %rdx, %rbp
jne 0x3790c
addq %rsi, %rax
movq %rax, (%r15)
jmp 0x37947
movl 0x8(%r13), %ecx
sarl $0x2, %ecx
movq 0x18(%r12), %rsi
shrq $0x28, %rsi
imull %ecx, %esi
movq 0x20(%r13), %rdx
movq %r15, %rdi
callq 0x3321b
xorl %r14d, %r14d
testb $0x3, %r14b
jne 0x37d7a
incq %rbx
movq 0x18(%r12), %rax
movq %rax, %rcx
shrq $0x20, %rcx
movzbl %cl, %ecx
cmpq %rcx, %rbx
jb 0x3768a
jmp 0x37a99
leal 0x7ff8(%rbp), %edx
cmpl $0xfff7, %edx           # imm = 0xFFF7
ja 0x379b7
movb $0x12, (%rcx,%rax)
movw %bp, 0x1(%rcx,%rax)
movl $0x3, %eax
jmp 0x37757
orb $0x8, 0xcc(%r12)
testq %r12, %r12
je 0x379c9
movl 0x10(%r12), %eax
jmp 0x379ce
callq 0x4050
movl $0x4b, (%rax)
jmp 0x37947
movb $0x13, (%rcx,%rax)
movl %ebp, 0x1(%rcx,%rax)
movl $0x5, %eax
jmp 0x37757
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rsi
testq %rsi, %rsi
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x379f7
cmpl %eax, 0x4(%rsi)
jle 0x379f7
movq 0x18(%rsi), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rcx
jmp 0x379f9
xorl %ecx, %ecx
testq %rcx, %rcx
leaq 0x77f5c(%rip), %rax     # 0xaf95f
cmoveq %rax, %rcx
movq (%r12), %r8
incq %r8
movl $0x1, %r14d
movl $0x1, %edi
leaq 0x78564(%rip), %rsi     # 0xaff84
leaq 0x78572(%rip), %rdx     # 0xaff99
xorl %eax, %eax
callq 0x9774
jmp 0x3794a
movl 0x8(%r15), %ecx
shlq $0x28, %rcx
movl %eax, %eax
orq %rcx, %rax
movq %rax, 0x18(%r14)
xorl %r12d, %r12d
jmp 0x37d80
orb $0x8, 0xcc(%r14)
testq %r14, %r14
je 0x37bc5
movl 0x10(%r14), %eax
jmp 0x37bca
testq %r15, %r15
sete %cl
movslq 0x10(%r14), %rax
testq %rax, %rax
sets %dl
orb %cl, %dl
jne 0x37b8d
cmpl %eax, 0x4(%r15)
jle 0x37b8d
movq 0x18(%r15), %rcx
shlq $0x4, %rax
movq (%rcx,%rax), %rax
jmp 0x37b8f
cmpl $0x0, 0x18(%rsp)
sete %cl
movabsq $0xff00000000, %rdx     # imm = 0xFF00000000
testq %rdx, %rax
sete %dl
orb %cl, %dl
jne 0x37b3b
movq 0x18(%r12), %r14
xorl %ebx, %ebx
movslq %ebx, %rcx
leaq (%rcx,%rcx,4), %rcx
cmpl $-0x1, 0xc8(%rsp,%rcx,8)
je 0x37ad5
incl %ebx
jmp 0x37b2a
movabsq $0xff00000000, %rdi     # imm = 0xFF00000000
leaq (%rax,%rdi), %rdx
movq %rdx, %rsi
andq %rdi, %rsi
movabsq $-0xff00000001, %rdi    # imm = 0xFFFFFF00FFFFFFFF
andq %rdi, %rax
movq %rax, %r14
orq %rsi, %r14
movq %r14, 0x18(%r12)
shrq $0x20, %rdx
movzbl %dl, %eax
subl %ebx, %eax
jle 0x37b2a
leaq (%rsp,%rcx,8), %rdi
addq $0xc0, %rdi
leaq 0x28(%rdi), %rsi
cltq
shlq $0x3, %rax
leaq (%rax,%rax,4), %rdx
callq 0x4850
movq %r14, %rax
shrq $0x20, %rax
movzbl %al, %ecx
movq %r14, %rax
cmpl %ecx, %ebx
jl 0x37ac0
movq 0x18(%r12), %r9
shrq $0x28, %r9
movq 0x8(%rsp), %rax
movl 0x8(%rax), %eax
cmpl %r9d, %eax
jne 0x37b7a
xorl %r12d, %r12d
cmpl $0x0, 0x4(%r15)
movq 0x8(%rsp), %rsi
je 0x37d80
movq 0x10(%rsp), %rbx
testq %rbx, %rbx
je 0x37ca8
movl 0x10(%rbx), %eax
jmp 0x37cad
testq %r12, %r12
je 0x37c36
movl 0x10(%r12), %ecx
jmp 0x37c3b
xorl %eax, %eax
testq %rax, %rax
leaq 0x77dc6(%rip), %r8      # 0xaf95f
cmovneq %rax, %r8
movq (%r14), %r9
incq %r9
leaq 0x78008(%rip), %rsi     # 0xafbb2
leaq 0x78107(%rip), %rdx     # 0xafcb8
movl $0x1, %edi
movq %r12, %rcx
xorl %eax, %eax
callq 0x9774
jmp 0x37d72
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r15, %r15
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x37bef
cmpl %eax, 0x4(%r15)
jle 0x37bef
movq 0x18(%r15), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rax
jmp 0x37bf1
xorl %eax, %eax
testq %rax, %rax
leaq 0x77d64(%rip), %rcx     # 0xaf95f
cmovneq %rax, %rcx
movq (%r14), %r8
incq %r8
leaq 0x77fa6(%rip), %rsi     # 0xafbb2
leaq 0x77fb6(%rip), %rdx     # 0xafbc9
movl $0x1, %edi
xorl %eax, %eax
callq 0x9774
jmp 0x37d7a
testq %r14, %r14
je 0x37d18
movl 0x10(%r14), %eax
jmp 0x37d1d
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
sete %dl
testl %ecx, %ecx
sets %sil
orb %dl, %sil
jne 0x37c66
cmpl %ecx, 0x4(%rdi)
jle 0x37c66
movq 0x18(%rdi), %rdx
movl %ecx, %ecx
shlq $0x4, %rcx
movq (%rdx,%rcx), %rdx
jmp 0x37c68
xorl %edx, %edx
testq %rdx, %rdx
leaq 0x77ced(%rip), %rcx     # 0xaf95f
cmovneq %rdx, %rcx
movq (%r12), %r8
incq %r8
movl %eax, (%rsp)
leaq 0x7832a(%rip), %rsi     # 0xaffb1
leaq 0x7833b(%rip), %rdx     # 0xaffc9
movl $0x1, %edi
xorl %eax, %eax
callq 0x9774
orb $0x4, 0xcc(%r12)
jmp 0x37d7a
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %rsi, %rsi
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x37cd1
cmpl %eax, 0x4(%rsi)
jle 0x37cd1
movq 0x18(%rsi), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rax
jmp 0x37cd3
xorl %eax, %eax
testq %rax, %rax
leaq 0x77c82(%rip), %rcx     # 0xaf95f
cmovneq %rax, %rcx
movq (%rbx), %r8
incq %r8
leaq 0x782c3(%rip), %rsi     # 0xaffb1
leaq 0x78320(%rip), %rdx     # 0xb0015
movl $0x1, %edi
xorl %eax, %eax
callq 0x9774
orb $0x8, 0xcc(%rbx)
movabsq $-0xff00000001, %rax    # imm = 0xFFFFFF00FFFFFFFF
andq %rax, 0x18(%rbx)
jmp 0x37d7a
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r15, %r15
sete %cl
testl %eax, %eax
sets %dl
orb %cl, %dl
jne 0x37d42
cmpl %eax, 0x4(%r15)
jle 0x37d42
movq 0x18(%r15), %rcx
movl %eax, %eax
shlq $0x4, %rax
movq (%rcx,%rax), %rax
jmp 0x37d44
xorl %eax, %eax
testq %rax, %rax
leaq 0x77c11(%rip), %rcx     # 0xaf95f
cmovneq %rax, %rcx
movq (%r14), %r8
incq %r8
leaq 0x77e53(%rip), %rsi     # 0xafbb2
leaq 0x77ea9(%rip), %rdx     # 0xafc0f
movl $0x1, %edi
xorl %eax, %eax
callq 0x9774
orb $0x40, 0xcc(%r14)
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl %r12d, %eax
addq $0x2898, %rsp           # imm = 0x2898
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq