// File: /workspace/github_c_makefile_star2_O3/vtereshkov[P]umka-lang/src/umka_vm.c
// Function: vmMakeDynArray
void vmMakeDynArray(VM *vm, DynArray *array, const Type *type, int len)
{
    if (!array)
        return;

    doChangeRefCntImpl(vm->fiber, &vm->pages, array, type, TOK_MINUSMINUS);
    doAllocDynArray(&vm->pages, array, type, len, vm->error);
}

// Assembly:
testq %rsi, %rsi
je 0x45b98
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, %r13
movq (%rdi), %rax
movq 0x68(%rax), %r9
movl $0xffffffff, 0x8(%r9)   # imm = 0xFFFFFFFF
movslq 0xc(%r9), %rsi
xorl %edx, %edx
movq (%r9), %rax
testq %rsi, %rsi
movq %r9, 0x8(%rsp)
movl %ecx, 0x2c(%rsp)
jg 0x443e9
leal (%rsi,%rsi), %edx
movl %edx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rsi
leaq (%rsi,%rsi,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %edx
incl %edx
movl %edx, 0x8(%r9)
movslq %edx, %rcx
leaq (%rcx,%rcx,2), %rsi
movq %rbx, 0x30(%rsp)
movq %rbx, (%rax,%rsi,8)
movq %r14, 0x38(%rsp)
movq %r14, 0x8(%rax,%rsi,8)
movq $0x0, 0x10(%rax,%rsi,8)
testl %ecx, %ecx
movq %r13, 0x20(%rsp)
js 0x45958
leaq 0x40(%r13), %rax
movq %rax, 0x10(%rsp)
movq (%r9), %rax
leal -0x1(%rdx), %ecx
movl %ecx, 0x8(%r9)
movl %edx, %esi
leaq (%rsi,%rsi,2), %rsi
movq (%rax,%rsi,8), %rbx
movq 0x10(%rax,%rsi,8), %r15
testq %r15, %r15
je 0x445a6
movq %rbx, %rax
subq %r15, %rax
addq $-0x30, %rax
movslq 0x14(%r15), %rcx
cqto
idivq %rcx
movq %rdx, %rbp
movq %rbx, %rax
subq %rdx, %rax
negq %rbp
movl (%rax), %eax
testl %eax, %eax
jle 0x4528a
cmpl %eax, 0x4(%r15)
jl 0x4528a
movq 0x10(%rbx,%rbp), %rcx
testq %rcx, %rcx
je 0x444f9
cmpl $0x1, %eax
jne 0x444f9
movq $0x2, 0x42ddb(%rip) # 0x87270
movq $0x1, 0x42de0(%rip) # 0x87280
movq $0x0, 0x42dcd(%rip) # 0x87278
xorps %xmm0, %xmm0
movups %xmm0, 0x42dd3(%rip)    # 0x87288
leaq 0x42db4(%rip), %rax     # 0x87270
movq %rax, 0x42ddd(%rip)     # 0x872a0
movq %rbx, 0x42df6(%rip)     # 0x872c0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x42deb(%rip)     # 0x872c8
leaq 0x42ddc(%rip), %rdi     # 0x872c0
leaq 0x42ddd(%rip), %rsi     # 0x872c8
callq *%rcx
movq 0x8(%rsp), %r9
decl 0x10(%r15)
movl (%rbx,%rbp), %eax
decl %eax
movl %eax, (%rbx,%rbp)
movl 0x4(%r15), %eax
decl %eax
movl %eax, 0x4(%r15)
movq 0x38(%r13), %r14
cmpq %rbx, 0x18(%r14)
ja 0x44c8c
movslq 0x28(%r14), %rcx
shlq $0x3, %rcx
addq 0x10(%r14), %rcx
cmpq %rbx, %rcx
jbe 0x44c8c
movq 0x20(%r14), %r12
movq -0x10(%r12), %rcx
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
jae 0x44c87
leaq 0x8(%r12), %rax
movq 0x10(%r14), %rcx
movslq 0x28(%r14), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %r12
je 0x44595
movl (%rax), %eax
andl $-0x2, %eax
cmpl %ebp, %eax
je 0x44595
movq (%r12), %r12
movq -0x10(%r12), %rcx
leaq 0x8(%r12), %rax
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jb 0x44553
jmp 0x44c83
movq 0x10(%rsp), %rdi
callq 0x4e83
movq 0x8(%rsp), %r9
jmp 0x44575
movq 0x8(%rax,%rsi,8), %r12
movl (%r12), %esi
addl $-0x10, %esi
cmpl $0x9, %esi
ja 0x44cd9
leaq 0x34cee(%rip), %rdi     # 0x792b0
movslq (%rdi,%rsi,4), %rsi
addq %rdi, %rsi
jmpq *%rsi
cmpq %rbx, 0x18(%r13)
ja 0x44cd9
movq 0x20(%r13), %rax
testq %rax, %rax
je 0x445e7
cmpq %rbx, %rax
jbe 0x44cd9
movq 0x10(%r13), %rbp
testq %rbp, %rbp
je 0x44cd9
leaq 0x30(%rbp), %rax
cmpq %rbx, %rax
ja 0x44607
cmpq %rbx, 0x28(%rbp)
ja 0x44a25
movq 0x20(%rbp), %rbp
jmp 0x445eb
movq 0x10(%rbx), %r15
cmpq %r15, 0x18(%r13)
ja 0x44cd9
movq 0x20(%r13), %rax
testq %rax, %rax
je 0x4462d
cmpq %r15, %rax
jbe 0x44cd9
movq 0x10(%r13), %rbp
testq %rbp, %rbp
je 0x44cd9
leaq 0x30(%rbp), %r14
cmpq %r15, %r14
ja 0x4464d
cmpq %r15, 0x28(%rbp)
ja 0x449d9
movq 0x20(%rbp), %rbp
jmp 0x44631
movl 0x10(%r12), %edx
testl %edx, %edx
jle 0x44cd9
xorl %r14d, %r14d
movq 0x28(%r12), %rsi
movq (%rsi,%r14,8), %rdi
movq 0x108(%rdi), %r15
movl (%r15), %esi
leal -0x12(%rsi), %r8d
cmpl $0x8, %r8d
jae 0x4470b
movslq 0x110(%rdi), %rbp
addq %rbx, %rbp
cmpl $0x19, %esi
ja 0x446a1
movl $0x2110000, %edi        # imm = 0x2110000
btl %esi, %edi
jae 0x446a1
movq (%rbp), %rbp
movslq 0xc(%r9), %rsi
leal -0x1(%rsi), %edi
cmpl %edi, %ecx
jl 0x446d8
leal (%rsi,%rsi), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rsi
leaq (%rsi,%rsi,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
movl 0x10(%r12), %edx
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rsi
leaq (%rsi,%rsi,2), %rsi
movq %rbp, (%rax,%rsi,8)
movq %r15, 0x8(%rax,%rsi,8)
movq $0x0, 0x10(%rax,%rsi,8)
incq %r14
movslq %edx, %rsi
cmpq %rsi, %r14
jl 0x44663
jmp 0x44cd9
cmpl $0x10, %esi
je 0x44684
jmp 0x446f7
movl 0x10(%r12), %ebp
movq 0x8(%r12), %rdx
movl (%rdx), %esi
leal -0x12(%rsi), %edi
cmpl $0x8, %edi
jae 0x449cb
testl %ebp, %ebp
jle 0x44cd9
movslq 0xc0(%rdx), %r14
movq 0x8(%r12), %r15
movl (%r15), %edx
movq %rbx, %r13
cmpl $0x19, %edx
ja 0x4475d
movl $0x2110000, %esi        # imm = 0x2110000
btl %edx, %esi
movq %rbx, %r13
jae 0x4475d
movq (%rbx), %r13
movslq 0xc(%r9), %rdx
leal -0x1(%rdx), %esi
cmpl %esi, %ecx
jl 0x4478f
leal (%rdx,%rdx), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %r13, (%rax,%rdx,8)
movq %r15, 0x8(%rax,%rdx,8)
movq $0x0, 0x10(%rax,%rdx,8)
addq %r14, %rbx
decl %ebp
movq 0x20(%rsp), %r13
jne 0x4473d
jmp 0x44cd9
movq (%rbx), %r14
testq %r14, %r14
je 0x44cd9
movq 0x8(%rbx), %rbx
movslq 0xc(%r9), %rcx
cmpl %ecx, %edx
jl 0x44800
leal (%rcx,%rcx), %edx
movl %edx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %edx
incl %edx
movl %edx, 0x8(%r9)
movslq %edx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %rbx, 0x8(%rax,%rcx,8)
jmp 0x4497b
movl 0x10(%r12), %edx
testl %edx, %edx
jle 0x44cd9
xorl %r14d, %r14d
movq 0x28(%r12), %rsi
movq (%rsi,%r14,8), %rdi
movq 0x108(%rdi), %r15
movl (%r15), %esi
leal -0x12(%rsi), %r8d
cmpl $0x8, %r8d
jae 0x448d1
movslq 0x110(%rdi), %rbp
addq %rbx, %rbp
cmpl $0x19, %esi
ja 0x44867
movl $0x2110000, %edi        # imm = 0x2110000
btl %esi, %edi
jae 0x44867
movq (%rbp), %rbp
movslq 0xc(%r9), %rsi
leal -0x1(%rsi), %edi
cmpl %edi, %ecx
jl 0x4489e
leal (%rsi,%rsi), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rsi
leaq (%rsi,%rsi,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
movl 0x10(%r12), %edx
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rsi
leaq (%rsi,%rsi,2), %rsi
movq %rbp, (%rax,%rsi,8)
movq %r15, 0x8(%rax,%rsi,8)
movq $0x0, 0x10(%rax,%rsi,8)
incq %r14
movslq %edx, %rsi
cmpq %rsi, %r14
jl 0x44829
jmp 0x44cd9
cmpl $0x10, %esi
je 0x4484a
jmp 0x448bd
cmpq %rbx, 0x18(%r13)
ja 0x44cd9
movq 0x20(%r13), %rax
testq %rax, %rax
je 0x448f8
cmpq %rbx, %rax
jbe 0x44cd9
movq 0x10(%r13), %r15
testq %r15, %r15
je 0x44cd9
leaq 0x30(%r15), %rax
cmpq %rbx, %rax
ja 0x44918
cmpq %rbx, 0x28(%r15)
ja 0x44b24
movq 0x20(%r15), %r15
jmp 0x448fc
movq 0x8(%rbx), %rbx
movq 0x8(%r12), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq 0x108(%rcx), %r14
movslq 0xc(%r9), %rcx
cmpl %ecx, %edx
jl 0x44967
leal (%rcx,%rcx), %edx
movl %edx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %edx
incl %edx
movl %edx, 0x8(%r9)
movslq %edx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq %rbx, (%rax,%rcx,8)
movq %r14, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
jmp 0x44cd9
cmpq %rbx, 0x18(%r13)
ja 0x44cd9
movq 0x20(%r13), %rax
testq %rax, %rax
je 0x449a5
cmpq %rbx, %rax
jbe 0x44cd9
movq 0x10(%r13), %rbp
testq %rbp, %rbp
je 0x44cd9
leaq 0x30(%rbp), %rax
cmpq %rbx, %rax
ja 0x449c5
cmpq %rbx, 0x28(%rbp)
ja 0x44cea
movq 0x20(%rbp), %rbp
jmp 0x449a9
cmpl $0x10, %esi
je 0x4472e
jmp 0x44cd9
movq %r15, %rax
subq %r14, %rax
movslq 0x14(%rbp), %rcx
cqto
idivq %rcx
movq %r15, %rax
subq %rdx, %rax
cmpl $0x0, (%rax)
jle 0x45770
negq %rdx
movl (%r15,%rdx), %eax
cmpl $0x2, %eax
jge 0x44eec
movl 0x8(%r9), %ecx
movslq 0xc(%r9), %rdx
leal -0x1(%rdx), %esi
movq (%r9), %rax
cmpl %esi, %ecx
jge 0x452b8
movq %r15, %r14
jmp 0x452e3
movq %rbx, %r15
subq %rax, %r15
movslq 0x14(%rbp), %rcx
movq %r15, %rax
cqto
idivq %rcx
movq %rbx, %rax
subq %rdx, %rax
cmpl $0x0, (%rax)
jle 0x457ae
negq %rdx
leaq (%rbx,%rdx), %r14
movl (%rbx,%rdx), %eax
cmpl $0x2, %eax
jge 0x45025
movl 0x8(%r9), %ecx
movslq 0xc(%r9), %rdx
leal -0x1(%rdx), %esi
movq (%r9), %rax
cmpl %esi, %ecx
jl 0x44a92
leal (%rdx,%rdx), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rbx, (%rax,%rdx,8)
movq %r12, 0x8(%rax,%rdx,8)
movq %rbp, 0x10(%rax,%rdx,8)
movq 0x8(%r14), %r8
testq %r8, %r8
je 0x453b9
movl (%r8), %edx
leal -0x15(%rdx), %esi
cmpl $0x4, %esi
movq %r8, 0x18(%rsp)
jae 0x453a7
movslq 0xc(%r9), %rdx
leal -0x1(%rdx), %esi
cmpl %esi, %ecx
jl 0x44b05
leal (%rdx,%rdx), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x18(%rsp), %r8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
addq $0x28, %r14
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %r8, 0x8(%rax,%rcx,8)
jmp 0x4497b
movq %rbx, %rbp
subq %rax, %rbp
movslq 0x14(%r15), %rcx
movq %rbp, %rax
cqto
idivq %rcx
movq %rbx, %rax
subq %rdx, %rax
cmpl $0x0, (%rax)
jle 0x457e5
movq %rdx, %r14
negq %r14
movl (%rbx,%r14), %eax
testl %eax, %eax
jle 0x45741
cmpl %eax, 0x4(%r15)
jl 0x45741
movq 0x10(%rbx,%r14), %rcx
testq %rcx, %rcx
je 0x44be0
cmpl $0x1, %eax
jne 0x44be0
movq $0x2, 0x426f5(%rip) # 0x87270
movq $0x1, 0x426fa(%rip) # 0x87280
movq $0x0, 0x426e7(%rip) # 0x87278
xorps %xmm0, %xmm0
movups %xmm0, 0x426ed(%rip)    # 0x87288
leaq 0x426ce(%rip), %rax     # 0x87270
movq %rax, 0x426f7(%rip)     # 0x872a0
movq %rbx, 0x42710(%rip)     # 0x872c0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x42705(%rip)     # 0x872c8
leaq 0x426f6(%rip), %rdi     # 0x872c0
leaq 0x426f7(%rip), %rsi     # 0x872c8
callq *%rcx
movq 0x8(%rsp), %r9
decl 0x10(%r15)
movl (%rbx,%r14), %eax
decl %eax
movl %eax, (%rbx,%r14)
movl 0x4(%r15), %eax
decl %eax
movl %eax, 0x4(%r15)
movq 0x38(%r13), %r14
cmpq %rbx, 0x18(%r14)
ja 0x44c8c
movslq 0x28(%r14), %rcx
shlq $0x3, %rcx
addq 0x10(%r14), %rcx
cmpq %rbx, %rcx
jbe 0x44c8c
movq 0x20(%r14), %r12
movq -0x10(%r12), %rcx
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
jae 0x44c87
leaq 0x8(%r12), %rax
movq 0x10(%r14), %rcx
movslq 0x28(%r14), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %r12
je 0x44c72
movl (%rax), %eax
andl $-0x2, %eax
cmpl %ebp, %eax
je 0x44c72
movq (%r12), %r12
movq -0x10(%r12), %rcx
leaq 0x8(%r12), %rax
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jb 0x44c33
jmp 0x44c83
movq 0x10(%rsp), %rdi
callq 0x4f36
movq 0x8(%rsp), %r9
jmp 0x44c55
movl 0x4(%r15), %eax
decq -0x8(%r12)
testl %eax, %eax
jne 0x44cd9
movslq 0x8(%r15), %rax
movslq 0x14(%r15), %rcx
imulq %rax, %rcx
subq %rcx, 0x30(%r13)
cmpq %r15, 0x10(%r13)
jne 0x44cae
movq 0x20(%r15), %rax
movq %rax, 0x10(%r13)
movq 0x18(%r15), %rcx
movq 0x20(%r15), %rax
testq %rcx, %rcx
je 0x44cbf
movq %rax, 0x20(%rcx)
testq %rax, %rax
je 0x44ccc
movq 0x18(%r15), %rcx
movq %rcx, 0x18(%rax)
movq %r15, %rdi
callq 0x3040
movq 0x8(%rsp), %r9
movl 0x8(%r9), %edx
testl %edx, %edx
jns 0x44426
jmp 0x45958
movq %rbx, %r12
subq %rax, %r12
movslq 0x14(%rbp), %rcx
movq %r12, %rax
cqto
idivq %rcx
movq %rbx, %rax
subq %rdx, %rax
cmpl $0x0, (%rax)
jle 0x4581c
movq %rdx, %r15
negq %r15
movl (%rbx,%r15), %eax
cmpl $0x2, %eax
jge 0x4515c
cmpb $0x1, 0x78(%rbx)
je 0x4591a
movq 0x10(%rbx), %rsi
cmpq %rsi, 0x18(%r13)
ja 0x44d48
movq 0x20(%r13), %rax
testq %rax, %rax
je 0x45425
cmpq %rsi, %rax
ja 0x45425
movq 0x10(%rsp), %rax
movq (%rax), %rcx
movq 0x20(%rcx), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x36358(%rip), %rdx     # 0x7b0b8
xorl %eax, %eax
callq *0x8(%rcx)
xorl %r15d, %r15d
movq 0x10(%rbx), %r9
movq %r9, %rax
subq %r15, %rax
addq $-0x30, %rax
movslq 0x14(%r15), %rcx
cqto
idivq %rcx
movq %r9, %rax
subq %rdx, %rax
negq %rdx
movl (%rax), %eax
testl %eax, %eax
jle 0x45853
cmpl %eax, 0x4(%r15)
jl 0x45853
movq 0x10(%r9,%rdx), %rcx
testq %rcx, %rcx
je 0x44e34
cmpl $0x1, %eax
jne 0x44e34
movq $0x2, 0x424b2(%rip) # 0x87270
movq $0x1, 0x424b7(%rip) # 0x87280
movq $0x0, 0x424a4(%rip) # 0x87278
xorps %xmm0, %xmm0
movups %xmm0, 0x424aa(%rip)    # 0x87288
leaq 0x4248b(%rip), %rax     # 0x87270
movq %rax, 0x424b4(%rip)     # 0x872a0
movq %r9, 0x424cd(%rip)      # 0x872c0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x424c2(%rip)     # 0x872c8
leaq 0x424b3(%rip), %rdi     # 0x872c0
leaq 0x424b4(%rip), %rsi     # 0x872c8
movq %r9, %r14
movq %r12, 0x18(%rsp)
movq %rdx, %r12
callq *%rcx
movq %r12, %rdx
movq 0x18(%rsp), %r12
movq %r14, %r9
decl 0x10(%r15)
movl (%r14,%rdx), %eax
decl %eax
movl %eax, (%r9,%rdx)
movl 0x4(%r15), %eax
decl %eax
movl %eax, 0x4(%r15)
movq 0x38(%r13), %r14
cmpq %r9, 0x18(%r14)
ja 0x45474
movslq 0x28(%r14), %rcx
shlq $0x3, %rcx
addq 0x10(%r14), %rcx
cmpq %r9, %rcx
jbe 0x45474
movq %r12, 0x18(%rsp)
movq 0x20(%r14), %r12
movq -0x10(%r12), %rcx
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %r9, %rcx
jae 0x4546a
leaq 0x8(%r12), %rax
movq %r9, 0x40(%rsp)
movq 0x10(%r14), %rcx
movslq 0x28(%r14), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %r12
je 0x44edb
movl (%rax), %eax
andl $-0x2, %eax
movl $0xfffffffe, %ecx       # imm = 0xFFFFFFFE
cmpl %ecx, %eax
je 0x44edb
movq (%r12), %r12
movq -0x10(%r12), %rcx
leaq 0x8(%r12), %rax
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %r9, %rcx
jb 0x44e94
jmp 0x45466
movq 0x10(%rsp), %rdi
callq 0x4eeb
movq 0x40(%rsp), %r9
jmp 0x44ebb
cmpl %eax, 0x4(%rbp)
jl 0x458b7
movq 0x10(%r15,%rdx), %rcx
testq %rcx, %rcx
je 0x44f79
cmpl $0x1, %eax
jne 0x44f79
movq $0x2, 0x42361(%rip) # 0x87270
movq $0x1, 0x42366(%rip) # 0x87280
movq $0x0, 0x42353(%rip) # 0x87278
xorps %xmm0, %xmm0
movups %xmm0, 0x42359(%rip)    # 0x87288
leaq 0x4233a(%rip), %rax     # 0x87270
movq %rax, 0x42363(%rip)     # 0x872a0
movq %r15, 0x4237c(%rip)     # 0x872c0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x42371(%rip)     # 0x872c8
leaq 0x42362(%rip), %rdi     # 0x872c0
leaq 0x42363(%rip), %rsi     # 0x872c8
movq %rdx, %rbx
callq *%rcx
movq %rbx, %rdx
movq 0x8(%rsp), %r9
decl 0x10(%rbp)
movl (%r15,%rbx), %eax
decl %eax
movl %eax, (%r15,%rdx)
movl 0x4(%rbp), %eax
decl %eax
movl %eax, 0x4(%rbp)
movq 0x38(%r13), %r14
cmpq %r15, 0x18(%r14)
ja 0x45608
movslq 0x28(%r14), %rcx
shlq $0x3, %rcx
addq 0x10(%r14), %rcx
cmpq %r15, %rcx
jbe 0x45608
movq 0x20(%r14), %r12
movq -0x10(%r12), %rcx
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %r15, %rcx
jae 0x4545c
leaq 0x8(%r12), %rax
movq 0x10(%r14), %rcx
movslq 0x28(%r14), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %r12
je 0x45014
movl (%rax), %eax
andl $-0x2, %eax
movl $0xfffffffe, %ecx       # imm = 0xFFFFFFFE
cmpl %ecx, %eax
je 0x45014
movq (%r12), %r12
movq -0x10(%r12), %rcx
leaq 0x8(%r12), %rax
movq 0x10(%rcx), %rcx
leaq (%r12,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %r15, %rcx
jb 0x44fcd
jmp 0x45459
movq 0x10(%rsp), %rdi
callq 0x4f1d
movq 0x8(%rsp), %r9
jmp 0x44ff4
cmpl %eax, 0x4(%rbp)
jl 0x458ec
movq 0x10(%r14), %rcx
testq %rcx, %rcx
setne %dl
cmpl $0x1, %eax
sete %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x450b6
movq $0x2, 0x4221d(%rip) # 0x87270
movq $0x1, 0x42222(%rip) # 0x87280
movq $0x0, 0x4220f(%rip) # 0x87278
xorps %xmm0, %xmm0
movups %xmm0, 0x42215(%rip)    # 0x87288
leaq 0x421f6(%rip), %rax     # 0x87270
movq %rax, 0x4221f(%rip)     # 0x872a0
movq %rbx, 0x42238(%rip)     # 0x872c0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x4222d(%rip)     # 0x872c8
leaq 0x4221e(%rip), %rdi     # 0x872c0
leaq 0x4221f(%rip), %rsi     # 0x872c8
callq *%rcx
movq 0x8(%rsp), %r9
decl 0x10(%rbp)
movl (%r14), %eax
decl %eax
movl %eax, (%r14)
movl 0x4(%rbp), %eax
decl %eax
movl %eax, 0x4(%rbp)
movq 0x38(%r13), %r14
cmpq %rbx, 0x18(%r14)
ja 0x45608
movslq 0x28(%r14), %rcx
shlq $0x3, %rcx
addq 0x10(%r14), %rcx
cmpq %rbx, %rcx
jbe 0x45608
movq 0x20(%r14), %r15
movq -0x10(%r15), %rcx
movq 0x10(%rcx), %rcx
leaq (%r15,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jae 0x45604
leaq 0x8(%r15), %rax
movq 0x10(%r14), %rcx
movslq 0x28(%r14), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %r15
je 0x4514b
movl (%rax), %eax
andl $-0x2, %eax
movl $0xfffffffe, %ecx       # imm = 0xFFFFFFFE
cmpl %ecx, %eax
je 0x4514b
movq (%r15), %r15
movq -0x10(%r15), %rcx
leaq 0x8(%r15), %rax
movq 0x10(%rcx), %rcx
leaq (%r15,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jb 0x45107
jmp 0x45601
movq 0x10(%rsp), %rdi
callq 0x4f4f
movq 0x8(%rsp), %r9
jmp 0x4512d
cmpl %eax, 0x4(%rbp)
jl 0x45929
movq 0x10(%rbx,%r15), %rcx
testq %rcx, %rcx
je 0x451e3
cmpl $0x1, %eax
jne 0x451e3
movq $0x2, 0x420f1(%rip) # 0x87270
movq $0x1, 0x420f6(%rip) # 0x87280
movq $0x0, 0x420e3(%rip) # 0x87278
xorps %xmm0, %xmm0
movups %xmm0, 0x420e9(%rip)    # 0x87288
leaq 0x420ca(%rip), %rax     # 0x87270
movq %rax, 0x420f3(%rip)     # 0x872a0
movq %rbx, 0x4210c(%rip)     # 0x872c0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x42101(%rip)     # 0x872c8
leaq 0x420f2(%rip), %rdi     # 0x872c0
leaq 0x420f3(%rip), %rsi     # 0x872c8
callq *%rcx
movq 0x8(%rsp), %r9
decl 0x10(%rbp)
movl (%rbx,%r15), %eax
decl %eax
movl %eax, (%rbx,%r15)
movl 0x4(%rbp), %eax
decl %eax
movl %eax, 0x4(%rbp)
movq 0x38(%r13), %r14
cmpq %rbx, 0x18(%r14)
ja 0x45608
movslq 0x28(%r14), %rcx
shlq $0x3, %rcx
addq 0x10(%r14), %rcx
cmpq %rbx, %rcx
jbe 0x45608
movq 0x20(%r14), %r15
movq -0x10(%r15), %rcx
movq 0x10(%rcx), %rcx
leaq (%r15,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jae 0x45604
leaq 0x8(%r15), %rax
movq 0x10(%r14), %rcx
movslq 0x28(%r14), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %r15
je 0x45279
movl (%rax), %eax
andl $-0x2, %eax
movl $0xfffffffe, %ecx       # imm = 0xFFFFFFFE
cmpl %ecx, %eax
je 0x45279
movq (%r15), %r15
movq -0x10(%r15), %rcx
leaq 0x8(%r15), %rax
movq 0x10(%rcx), %rcx
leaq (%r15,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jb 0x45235
jmp 0x45601
movq 0x10(%rsp), %rdi
callq 0x4e9c
movq 0x8(%rsp), %r9
jmp 0x4525b
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x35edd(%rip), %rdx     # 0x7b17f
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movl (%rbx,%rbp), %eax
jmp 0x4447b
leal (%rdx,%rdx), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
movq 0x10(%rbx), %r14
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %r15, (%rax,%rdx,8)
movq %r12, 0x8(%rax,%rdx,8)
movq %rbp, 0x10(%rax,%rdx,8)
movl -0x10(%r14), %ebp
movq 0x8(%r12), %rdx
movl (%rdx), %esi
leal -0x12(%rsi), %edi
cmpl $0x8, %edi
jae 0x4544b
testl %ebp, %ebp
jle 0x44cd9
movslq 0xc0(%rdx), %r15
movq 0x8(%r12), %r13
movl (%r13), %edx
movq %r14, %rbx
cmpl $0x19, %edx
ja 0x45345
movl $0x2110000, %esi        # imm = 0x2110000
btl %edx, %esi
movq %r14, %rbx
jae 0x45345
movq (%r14), %rbx
movslq 0xc(%r9), %rdx
leal -0x1(%rdx), %esi
cmpl %esi, %ecx
jl 0x45377
leal (%rdx,%rdx), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rbx, (%rax,%rdx,8)
movq %r13, 0x8(%rax,%rdx,8)
movq $0x0, 0x10(%rax,%rdx,8)
addq %r15, %r14
decl %ebp
movq 0x20(%rsp), %r13
jne 0x45324
jmp 0x44cd9
cmpl $0x13, %edx
je 0x45654
cmpl $0x12, %edx
je 0x44ace
movq 0x8(%r12), %r14
movl (%r14), %edx
cmpl $0x19, %edx
ja 0x44cd9
movl $0x1ec0000, %esi        # imm = 0x1EC0000
btl %edx, %esi
jb 0x453e5
movl $0x2110000, %esi        # imm = 0x2110000
btl %edx, %esi
jae 0x44cd9
movq (%rbx), %rbx
movslq 0xc(%r9), %rdx
leal -0x1(%rdx), %esi
cmpl %esi, %ecx
jl 0x45417
leal (%rdx,%rdx), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rcx
jmp 0x4496e
movq 0x10(%r13), %r15
testq %r15, %r15
je 0x44d48
leaq 0x30(%r15), %rcx
cmpq %rsi, %rcx
ja 0x45445
cmpq %rsi, 0x28(%r15)
ja 0x45708
movq 0x20(%r15), %r15
jmp 0x45429
cmpl $0x10, %esi
je 0x45315
jmp 0x44cd9
movl 0x4(%rbp), %eax
decq -0x8(%r12)
jmp 0x45608
movl 0x4(%r15), %eax
decq -0x8(%r12)
movq 0x18(%rsp), %r12
testl %eax, %eax
jne 0x454bc
movslq 0x8(%r15), %rax
movslq 0x14(%r15), %rcx
imulq %rax, %rcx
subq %rcx, 0x30(%r13)
cmpq %r15, 0x10(%r13)
jne 0x45496
movq 0x20(%r15), %rax
movq %rax, 0x10(%r13)
movq 0x18(%r15), %rcx
movq 0x20(%r15), %rax
testq %rcx, %rcx
je 0x454a7
movq %rax, 0x20(%rcx)
testq %rax, %rax
je 0x454b4
movq 0x18(%r15), %rcx
movq %rcx, 0x18(%rax)
movq %r15, %rdi
callq 0x3040
movslq 0x14(%rbp), %rcx
movq %r12, %rax
cqto
idivq %rcx
movq %rdx, %r15
movq %rbx, %rax
subq %rdx, %rax
negq %r15
movl (%rax), %eax
testl %eax, %eax
jle 0x4588d
cmpl %eax, 0x4(%rbp)
jl 0x4588d
movq 0x10(%rbx,%r15), %rcx
testq %rcx, %rcx
je 0x45560
cmpl $0x1, %eax
jne 0x45560
movq $0x2, 0x41d6f(%rip) # 0x87270
movq $0x1, 0x41d74(%rip) # 0x87280
movq $0x0, 0x41d61(%rip) # 0x87278
xorps %xmm0, %xmm0
movups %xmm0, 0x41d67(%rip)    # 0x87288
leaq 0x41d48(%rip), %rax     # 0x87270
movq %rax, 0x41d71(%rip)     # 0x872a0
movq %rbx, 0x41d8a(%rip)     # 0x872c0
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq %rax, 0x41d7f(%rip)     # 0x872c8
leaq 0x41d70(%rip), %rdi     # 0x872c0
leaq 0x41d71(%rip), %rsi     # 0x872c8
callq *%rcx
decl 0x10(%rbp)
movl (%rbx,%r15), %eax
decl %eax
movl %eax, (%rbx,%r15)
movl 0x4(%rbp), %eax
decl %eax
movl %eax, 0x4(%rbp)
movq 0x38(%r13), %r14
cmpq %rbx, 0x18(%r14)
movq 0x8(%rsp), %r9
ja 0x45608
movslq 0x28(%r14), %rcx
shlq $0x3, %rcx
addq 0x10(%r14), %rcx
cmpq %rbx, %rcx
jbe 0x45608
movq 0x20(%r14), %r15
movq -0x10(%r15), %rcx
movq 0x10(%rcx), %rcx
leaq (%r15,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jae 0x45604
leaq 0x8(%r15), %rax
movq 0x10(%r14), %rcx
movslq 0x28(%r14), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %r15
je 0x455f0
movl (%rax), %eax
andl $-0x2, %eax
movl $0xfffffffe, %ecx       # imm = 0xFFFFFFFE
cmpl %ecx, %eax
je 0x455f0
movq (%r15), %r15
movq -0x10(%r15), %rcx
leaq 0x8(%r15), %rax
movq 0x10(%rcx), %rcx
leaq (%r15,%rcx,8), %rcx
addq $0x8, %rcx
cmpq %rbx, %rcx
jb 0x455af
jmp 0x45601
movq 0x10(%rsp), %rdi
callq 0x4f04
movq 0x8(%rsp), %r9
jmp 0x455d5
movl 0x4(%rbp), %eax
decq -0x8(%r15)
testl %eax, %eax
jne 0x44cd9
movslq 0x8(%rbp), %rax
movslq 0x14(%rbp), %rcx
imulq %rax, %rcx
subq %rcx, 0x30(%r13)
cmpq %rbp, 0x10(%r13)
jne 0x4562e
movq 0x20(%rbp), %rax
movq %rax, 0x10(%r13)
movq 0x18(%rbp), %rcx
movq 0x20(%rbp), %rax
testq %rcx, %rcx
je 0x4563f
movq %rax, 0x20(%rcx)
testq %rax, %rax
je 0x4564c
movq 0x18(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq %rbp, %rdi
jmp 0x44ccf
movl 0x28(%r14), %ebp
movq 0x8(%r8), %rdx
movl (%rdx), %esi
leal -0x12(%rsi), %edi
cmpl $0x8, %edi
jae 0x45733
testl %ebp, %ebp
jle 0x44cd9
movslq 0xc0(%rdx), %r12
addq $0x38, %r14
movq 0x8(%r8), %r13
movl (%r13), %edx
movq %r14, %r15
cmpl $0x19, %edx
ja 0x4569d
movl $0x2110000, %esi        # imm = 0x2110000
btl %edx, %esi
movq %r14, %r15
jae 0x4569d
movq (%r14), %r15
movslq 0xc(%r9), %rdx
leal -0x1(%rdx), %esi
cmpl %esi, %ecx
jl 0x456d4
leal (%rdx,%rdx), %ecx
movl %ecx, 0xc(%r9)
movq 0x10(%r9), %rdi
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %rax, %rsi
callq 0x7be8
movq 0x18(%rsp), %r8
movq 0x8(%rsp), %r9
movq %rax, (%r9)
movl 0x8(%r9), %ecx
incl %ecx
movl %ecx, 0x8(%r9)
movslq %ecx, %rdx
leaq (%rdx,%rdx,2), %rdx
movq %r15, (%rax,%rdx,8)
movq %r13, 0x8(%rax,%rdx,8)
movq $0x0, 0x10(%rax,%rdx,8)
addq %r12, %r14
decl %ebp
movq 0x20(%rsp), %r13
jne 0x4567d
jmp 0x44cd9
movq %rsi, %rax
subq %rcx, %rax
movslq 0x14(%r15), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%rsi,%rdx)
jg 0x44d68
movq 0x10(%rsp), %rdi
callq 0x4ece
jmp 0x44d68
cmpl $0x10, %esi
je 0x4566a
jmp 0x44cd9
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x35a26(%rip), %rdx     # 0x7b17f
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movl (%rbx,%r14), %eax
jmp 0x44b61
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x359e0(%rip), %rdx     # 0x7b168
movq %r15, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movq 0x10(%rbx), %r15
movslq 0x14(%rbp), %rcx
movq %r15, %rax
subq %r14, %rax
cqto
idivq %rcx
jmp 0x449f7
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x359a2(%rip), %rdx     # 0x7b168
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movslq 0x14(%rbp), %rcx
movq %r15, %rax
cqto
idivq %rcx
jmp 0x44a46
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x3596b(%rip), %rdx     # 0x7b168
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movslq 0x14(%r15), %rcx
movq %rbp, %rax
cqto
idivq %rcx
jmp 0x44b45
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x35934(%rip), %rdx     # 0x7b168
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movslq 0x14(%rbp), %rcx
movq %r12, %rax
cqto
idivq %rcx
jmp 0x44d0b
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movq %rdx, 0x18(%rsp)
leaq 0x3590f(%rip), %rdx     # 0x7b17f
movq %r9, %rcx
xorl %eax, %eax
movq %r9, %r14
callq *0x8(%r8)
movq 0x18(%rsp), %rdx
movq %r14, %r9
movl (%r14,%rdx), %eax
jmp 0x44d9c
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x358da(%rip), %rdx     # 0x7b17f
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movl (%rbx,%r15), %eax
jmp 0x454e7
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movq %rdx, %rbx
leaq 0x358ad(%rip), %rdx     # 0x7b17f
movq %r15, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq %rbx, %rdx
movq 0x8(%rsp), %r9
movl (%r15,%rbx), %eax
jmp 0x44ef5
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x3587b(%rip), %rdx     # 0x7b17f
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movl (%r14), %eax
jmp 0x4502e
movq 0x10(%rsp), %rdi
callq 0x4eb5
jmp 0x44d28
movq 0x10(%rsp), %rax
movq (%rax), %r8
movq 0x20(%r8), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
leaq 0x3583e(%rip), %rdx     # 0x7b17f
movq %rbx, %rcx
xorl %eax, %eax
callq *0x8(%r8)
movq 0x8(%rsp), %r9
movl (%rbx,%r15), %eax
jmp 0x45165
movslq 0x2c(%rsp), %rcx
movq 0x80(%r13), %rdi
movq 0x30(%rsp), %rbp
movq 0x38(%rsp), %rax
movq %rax, (%rbp)
movq 0x8(%rax), %rax
movslq 0xc0(%rax), %r15
movq %r15, 0x8(%rbp)
leaq 0x2(,%rcx,2), %rdx
movq %rdx, %rax
imulq %r15, %rax
cmpq $0x7ffffc00, %rax       # imm = 0x7FFFFC00
jl 0x459a5
movl $0x7ffffbff, %eax       # imm = 0x7FFFFBFF
xorl %edx, %edx
idivl %r15d
movslq %eax, %rdx
cmpq %rcx, %rdx
movq %rcx, 0x8(%rsp)
cmovleq %rcx, %rdx
movq %rdx, 0x10(%rsp)
imulq %rdx, %r15
leaq 0x18(%r15), %rax
leaq 0x1f(%r15), %r14
testq %rax, %rax
cmovnsq %rax, %r14
andq $-0x8, %r14
leaq 0x67(%r14), %rax
addq $0xa6, %r14
testq %rax, %rax
cmovnsq %rax, %r14
andq $-0x40, %r14
addq $0x10, %r15
js 0x45b99
movl $0x80000000, %eax       # imm = 0x80000000
cmpq %rax, %r14
jge 0x45b99
movq 0x10(%r13), %rbx
testq %rbx, %rbx
je 0x45a49
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
xorl %r12d, %r12d
movq %rbx, %rcx
movl 0xc(%rcx), %edx
cmpl 0x8(%rcx), %edx
jge 0x45a37
movl 0x14(%rcx), %edx
cmpl %r14d, %edx
je 0x45b09
setg %sil
cmpl %eax, %edx
setl %dil
testb %dil, %sil
cmovneq %rcx, %r12
cmovnel %edx, %eax
movq 0x20(%rcx), %rcx
testq %rcx, %rcx
jne 0x45a0f
testq %r12, %r12
jne 0x45b0c
movl $0x100000, %eax         # imm = 0x100000
xorl %edx, %edx
idivq %r14
testq %rax, %rax
movl $0x1, %ebp
cmovnel %eax, %ebp
movl %ebp, %eax
imull %r14d, %eax
movslq %eax, %r13
leaq 0x30(%r13), %rdi
callq 0x3290
movq %rax, %r12
testq %rax, %rax
je 0x45ba6
movq 0x20(%rsp), %rsi
movl 0x28(%rsi), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x28(%rsi)
movl %eax, (%r12)
movl $0x0, 0x4(%r12)
movl %ebp, 0x8(%r12)
xorl %eax, %eax
movq %rax, 0xc(%r12)
movl %r14d, 0x14(%r12)
movq %rax, 0x18(%r12)
movq %rbx, 0x20(%r12)
leaq (%r12,%r13), %rax
addq $0x30, %rax
movq %rax, 0x28(%r12)
addq %r13, 0x30(%rsi)
testq %rbx, %rbx
je 0x45acc
movq %r12, 0x18(%rbx)
movq %r12, %rax
addq $0x30, %rax
movq %r12, 0x10(%rsi)
movq 0x18(%rsi), %rcx
testq %rcx, %rcx
movq 0x30(%rsp), %rbp
je 0x45aea
cmpq %rax, %rcx
jbe 0x45aee
movq %rax, 0x18(%rsi)
movq 0x20(%rsi), %rdx
xorl %eax, %eax
movq 0x28(%r12), %rcx
testq %rdx, %rdx
je 0x45b03
cmpq %rcx, %rdx
jae 0x45b16
movq %rcx, 0x20(%rsi)
jmp 0x45b16
movq %rcx, %r12
movl 0xc(%r12), %eax
movl 0x14(%r12), %r14d
imull %r14d, %eax
movslq %eax, %r13
leaq (%r12,%r13), %rbx
addq $0x30, %rbx
movslq %r14d, %rdx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3190
movl $0x1, (%rbx)
movl %r15d, 0x4(%rbx)
movq 0x38(%rsp), %rax
movq %rax, 0x8(%rbx)
movq $0x0, 0x10(%rbx)
movq 0x20(%rsp), %rax
movq 0x38(%rax), %rax
movslq 0x8(%rax), %rax
movq %rax, 0x18(%rbx)
movb $0x0, 0x20(%rbx)
incl 0xc(%r12)
incl 0x4(%r12)
movq 0x8(%rsp), %rax
movq %rax, 0x28(%rbx)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rbx)
leaq (%r12,%r13), %rax
addq $0x68, %rax
movq %rax, 0x10(%rbp)
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r15, %rsi
callq 0x4f68
jmp 0x459fb
movq 0x20(%rsp), %rbx
movq 0x40(%rbx), %rcx
movq 0x20(%rcx), %rdi
leaq 0x2c6f5(%rip), %rdx     # 0x722af
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq *0x8(%rcx)
movq 0x10(%rbx), %rbx
jmp 0x45a7c