// File: /workspace/github_c_makefile_star2_O1/vtereshkov[P]umka-lang/src/umka_vm.c
// Function: doCopyMapNode
static MapNode *doCopyMapNode(Map *map, MapNode *node, Fiber *fiber, HeapPages *pages, Error *error)
{
    if (!node)
        return NULL;

    const Type *nodeType = map->type->base;
    MapNode *result = (MapNode *)chunkAlloc(pages, nodeType->size, nodeType, NULL, false, error);

    result->len = node->len;

    if (node->key)
    {
        const Type *keyType = typeMapKey(map->type);

        Slot srcKey = {.ptrVal = node->key};
        doDerefImpl(&srcKey, keyType->kind, error);

        // When allocating dynamic arrays, we mark with type the data chunk, not the header chunk
        result->key = chunkAlloc(pages, keyType->size, keyType->kind == TYPE_DYNARRAY ? NULL : keyType, NULL, false, error);

        if (typeGarbageCollected(keyType))
            doChangeRefCntImpl(fiber, pages, srcKey.ptrVal, keyType, TOK_PLUSPLUS);

        doAssignImpl(result->key, srcKey, keyType->kind, keyType->size, error);
    }

    if (node->data)
    {
        const Type *itemType = typeMapItem(map->type);

        Slot srcItem = {.ptrVal = node->data};
        doDerefImpl(&srcItem, itemType->kind, error);

        // When allocating dynamic arrays, we mark with type the data chunk, not the header chunk
        result->data = chunkAlloc(pages, itemType->size, itemType->kind == TYPE_DYNARRAY ? NULL : itemType, NULL, false, error);

        if (typeGarbageCollected(itemType))
            doChangeRefCntImpl(fiber, pages, srcItem.ptrVal, itemType, TOK_PLUSPLUS);

        doAssignImpl(result->data, srcItem, itemType->kind, itemType->size, error);
    }

    if (node->left)
        result->left = doCopyMapNode(map, node->left, fiber, pages, error);

    if (node->right)
        result->right = doCopyMapNode(map, node->right, fiber, pages, error);

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %r8, 0x38(%rsp)
movq %rdx, 0x50(%rsp)
testq %rsi, %rsi
je 0x4a7ba
movq %rdi, %r15
movq %rsi, 0x28(%rsp)
movq %rcx, 0x10(%rsp)
movq (%rdi), %rax
movq 0x8(%rax), %r12
movslq 0xc0(%r12), %rbx
leaq 0x8(%rbx), %rax
leaq 0xf(%rbx), %r13
testq %rax, %rax
cmovnsq %rax, %r13
andq $-0x8, %r13
leaq 0x67(%r13), %rax
addq $0xa6, %r13
testq %rax, %rax
cmovnsq %rax, %r13
andq $-0x40, %r13
testq %rbx, %rbx
js 0x4c8ac
movl $0x80000000, %eax       # imm = 0x80000000
cmpq %rax, %r13
jge 0x4c8ac
movq 0x10(%rsp), %rax
movq (%rax), %rax
testq %rax, %rax
je 0x4a7c1
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
xorl %r14d, %r14d
movl 0xc(%rax), %edx
cmpl 0x8(%rax), %edx
jge 0x4a7af
movl 0x14(%rax), %edx
cmpl %r13d, %edx
je 0x4a7c6
setg %sil
cmpl %ecx, %edx
setl %dil
testb %dil, %sil
cmovneq %rax, %r14
cmovnel %edx, %ecx
movq 0x20(%rax), %rax
testq %rax, %rax
jne 0x4a78b
jmp 0x4a7c9
xorl %ebx, %ebx
jmp 0x4c876
xorl %r14d, %r14d
jmp 0x4a7c9
movq %rax, %r14
testq %r14, %r14
movq %r15, 0x20(%rsp)
jne 0x4a8ae
movq %r12, 0x8(%rsp)
movl $0x100000, %eax         # imm = 0x100000
xorl %edx, %edx
idivq %r13
testq %rax, %rax
movl $0x1, %ebp
cmovnel %eax, %ebp
movl %ebp, %eax
imull %r13d, %eax
movslq %eax, %r14
leaq 0x30(%r14), %rdi
callq 0x3290
movq %rax, %r12
movq %rax, %r15
testq %rax, %rax
je 0x4c900
movq 0x10(%rsp), %rdx
movl 0x18(%rdx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x18(%rdx)
movl %eax, (%r15)
movl $0x0, 0x4(%r15)
movl %ebp, 0x8(%r15)
xorl %eax, %eax
movq %rax, 0xc(%r15)
movl %r13d, 0x14(%r15)
movq %rax, 0x18(%r15)
movq (%rdx), %rax
movq %rax, 0x20(%r15)
leaq (%r12,%r14), %rcx
addq $0x30, %rcx
movq %rcx, 0x28(%r15)
addq %r14, 0x20(%rdx)
testq %rax, %rax
movq %r15, %r14
je 0x4a860
movq %r14, 0x18(%rax)
addq $0x30, %r12
movq 0x10(%rsp), %rax
movq %r14, (%rax)
movq 0x8(%rax), %rax
testq %rax, %rax
je 0x4a87a
cmpq %r12, %rax
jbe 0x4a883
movq 0x10(%rsp), %rax
movq %r12, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
testq %rax, %rax
je 0x4a897
cmpq 0x28(%r14), %rax
jae 0x4a8a4
movq 0x28(%r14), %rax
movq 0x10(%rsp), %rcx
movq %rax, 0x10(%rcx)
movq 0x20(%rsp), %r15
movq 0x8(%rsp), %r12
movslq 0xc(%r14), %rax
movslq 0x14(%r14), %rdx
imulq %rdx, %rax
movq %rax, 0x58(%rsp)
leaq (%r14,%rax), %r13
addq $0x30, %r13
movq %r13, %rdi
xorl %esi, %esi
callq 0x3190
movl $0x1, (%r13)
movl %ebx, 0x4(%r13)
movq %r12, 0x8(%r13)
movq $0x0, 0x10(%r13)
movq %r14, %rcx
movq 0x10(%rsp), %r14
movq 0x28(%r14), %rax
movslq 0x8(%rax), %rax
movq %rax, 0x18(%r13)
movb $0x0, 0x20(%r13)
incl 0xc(%rcx)
movq %rcx, 0x60(%rsp)
incl 0x4(%rcx)
movq 0x28(%rsp), %r12
movq (%r12), %rax
movq %r13, 0x48(%rsp)
movq %rax, 0x28(%r13)
movq 0x8(%r12), %rbx
testq %rbx, %rbx
je 0x4b898
movq (%r15), %rax
movq 0x8(%rax), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq 0x108(%rax), %rax
movq 0x8(%rax), %r15
movl (%r15), %eax
addl $-0x4, %eax
cmpl $0x16, %eax
ja 0x4a991
leaq 0x2fea3(%rip), %rcx     # 0x7a7fc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq (%rbx), %rbx
jmp 0x4a9ab
movzbl (%rbx), %ebx
jmp 0x4a9ab
movslq (%rbx), %rbx
jmp 0x4a9ab
movzwl (%rbx), %ebx
jmp 0x4a9ab
movl (%rbx), %ebx
jmp 0x4a9ab
movsbq (%rbx), %rbx
jmp 0x4a9ab
movswq (%rbx), %rbx
jmp 0x4a9ab
cvtss2sd (%rbx), %xmm0
movq %xmm0, %rbx
jmp 0x4a9ab
movq 0x38(%rsp), %rcx
movq 0x20(%rcx), %rdi
leaq 0x2c66f(%rip), %rdx     # 0x77010
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq *0x8(%rcx)
xorl %eax, %eax
cmpl $0x13, (%r15)
movslq 0xc0(%r15), %r12
cmovneq %r15, %rax
movq %rax, 0x8(%rsp)
leaq 0x8(%r12), %rax
leaq 0xf(%r12), %rbp
testq %rax, %rax
cmovnsq %rax, %rbp
andq $-0x8, %rbp
leaq 0x67(%rbp), %rax
addq $0xa6, %rbp
testq %rax, %rax
cmovnsq %rax, %rbp
andq $-0x40, %rbp
testq %r12, %r12
js 0x4c8dc
movl $0x80000000, %eax       # imm = 0x80000000
cmpq %rax, %rbp
jge 0x4c8dc
movq 0x10(%rsp), %rax
movq (%rax), %rax
testq %rax, %rax
je 0x4aa46
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
xorl %r13d, %r13d
movl 0xc(%rax), %edx
cmpl 0x8(%rax), %edx
jge 0x4aa3b
movl 0x14(%rax), %edx
cmpl %ebp, %edx
je 0x4aa4b
setg %sil
cmpl %ecx, %edx
setl %dil
testb %dil, %sil
cmovneq %rax, %r13
cmovnel %edx, %ecx
movq 0x20(%rax), %rax
testq %rax, %rax
jne 0x4aa18
jmp 0x4aa4e
xorl %r13d, %r13d
jmp 0x4aa4e
movq %rax, %r13
movq %rbx, 0x18(%rsp)
testq %r13, %r13
movq %r15, 0x40(%rsp)
jne 0x4ab2e
movl $0x100000, %eax         # imm = 0x100000
xorl %edx, %edx
idivq %rbp
testq %rax, %rax
movl $0x1, %r15d
cmovnel %eax, %r15d
movl %r15d, %eax
imull %ebp, %eax
movslq %eax, %r14
leaq 0x30(%r14), %rdi
callq 0x3290
movq %rax, %rbx
movq %rax, %r13
testq %rax, %rax
je 0x4c90f
movq 0x10(%rsp), %rdx
movl 0x18(%rdx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x18(%rdx)
movl %eax, (%r13)
movl $0x0, 0x4(%r13)
movl %r15d, 0x8(%r13)
xorl %eax, %eax
movq %rax, 0xc(%r13)
movl %ebp, 0x14(%r13)
movq %rax, 0x18(%r13)
movq (%rdx), %rax
movq %rax, 0x20(%r13)
leaq (%rbx,%r14), %rcx
addq $0x30, %rcx
movq %rcx, 0x28(%r13)
addq %r14, 0x20(%rdx)
testq %rax, %rax
je 0x4aae5
movq %r13, 0x18(%rax)
addq $0x30, %rbx
movq 0x10(%rsp), %rax
movq %r13, (%rax)
movq 0x8(%rax), %rax
testq %rax, %rax
movq 0x40(%rsp), %r15
je 0x4ab04
cmpq %rbx, %rax
jbe 0x4ab0d
movq 0x10(%rsp), %rax
movq %rbx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
testq %rax, %rax
je 0x4ab21
cmpq 0x28(%r13), %rax
jae 0x4ab2e
movq 0x28(%r13), %rax
movq 0x10(%rsp), %rcx
movq %rax, 0x10(%rcx)
movslq 0xc(%r13), %r14
movslq 0x14(%r13), %rdx
imulq %rdx, %r14
leaq (%r14,%r13), %rbx
addq $0x30, %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3190
movl $0x1, (%rbx)
movl %r12d, 0x4(%rbx)
movq 0x8(%rsp), %rax
movq %rax, 0x8(%rbx)
movq $0x0, 0x10(%rbx)
movq 0x10(%rsp), %r12
movq 0x28(%r12), %rax
movslq 0x8(%rax), %rax
movq %rax, 0x18(%rbx)
movb $0x0, 0x20(%rbx)
incl 0xc(%r13)
incl 0x4(%r13)
leaq (%r14,%r13), %rax
addq $0x58, %rax
movq 0x48(%rsp), %rcx
movq %rax, 0x30(%rcx)
movq %r15, %rdi
xorl %esi, %esi
callq 0x1eeaf
testb %al, %al
je 0x4b725
movq 0x50(%rsp), %rax
movq 0x68(%rax), %rdi
movl $0xffffffff, 0x8(%rdi)  # imm = 0xFFFFFFFF
movslq 0xc(%rdi), %rax
testq %rax, %rax
movq %rdi, 0x8(%rsp)
jg 0x4abed
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq 0x18(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x40(%rsp), %rdx
movq %rdx, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
movl 0x8(%rdi), %eax
testl %eax, %eax
js 0x4b725
leaq 0x30(%r12), %rcx
movq %rcx, 0x30(%rsp)
movq (%rdi), %rsi
leal -0x1(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl %eax, %ecx
leaq (%rcx,%rcx,2), %rcx
movq (%rsi,%rcx,8), %r15
movq 0x10(%rsi,%rcx,8), %r13
testq %r13, %r13
je 0x4ad40
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4b6b2
cmpl %eax, 0x4(%r13)
jl 0x4b6b2
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4b4c2
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4b4c2
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4b4be
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4ad03
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4ad05
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4ad05
xorl %eax, %eax
testb %al, %al
je 0x4ad2a
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4acd8
jmp 0x4b4be
movq 0x30(%rsp), %rdi
callq 0x7a37
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4ad09
movq 0x8(%rsi,%rcx,8), %rbx
movl (%rbx), %ecx
addl $-0x10, %ecx
cmpl $0x9, %ecx
ja 0x4b517
leaq 0x2fafe(%rip), %rdx     # 0x7a858
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
cmpq %r15, 0x8(%r12)
ja 0x4ad81
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4b54d
cmpq %r15, %rax
ja 0x4b54d
xorl %r13d, %r13d
testq %r13, %r13
je 0x4b517
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4b6e0
cmpl %eax, 0x4(%r13)
jl 0x4b6e0
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4b4c2
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4b4c2
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4b4be
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4ae40
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4ae42
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4ae42
xorl %eax, %eax
testb %al, %al
je 0x4ae67
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4ae15
jmp 0x4b4be
movq 0x30(%rsp), %rdi
callq 0x7b83
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4ae46
movq 0x10(%r15), %rsi
cmpq %rsi, 0x8(%r12)
ja 0x4ae9f
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4b527
cmpq %rsi, %rax
ja 0x4b527
xorl %r13d, %r13d
testq %r13, %r13
je 0x4b517
movq 0x10(%r15), %r12
movq %r12, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r12, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4b6c9
cmpl %eax, 0x4(%r13)
jl 0x4b6c9
negq %rbx
incl (%r12,%rbx)
incl 0x4(%r13)
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rbx
cmpq %r12, 0x18(%rbx)
ja 0x4b5d1
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r12, %rax
jbe 0x4b5d1
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r12, %rax
jae 0x4b5cd
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4af66
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4af68
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4af68
xorl %eax, %eax
testb %al, %al
je 0x4af8d
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r12, %rcx
jb 0x4af3b
jmp 0x4b5cd
movq 0x30(%rsp), %rdi
callq 0x7add
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4af6c
cmpl $0x0, 0x10(%rbx)
jle 0x4b517
xorl %r13d, %r13d
movq 0x28(%rbx), %rax
movq (%rax,%r13,8), %rcx
movq 0x108(%rcx), %rbp
movl (%rbp), %eax
leal -0x12(%rax), %edx
cmpl $0x8, %edx
jae 0x4b055
movslq 0x110(%rcx), %r14
addq %r15, %r14
cmpl $0x19, %eax
ja 0x4afea
movl $0x2110000, %ecx        # imm = 0x2110000
btl %eax, %ecx
jae 0x4afea
movq (%r14), %r14
movslq 0xc(%rdi), %rax
leal -0x1(%rax), %ecx
cmpl %ecx, 0x8(%rdi)
jl 0x4b01d
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %rbp, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
incq %r13
movslq 0x10(%rbx), %rax
cmpq %rax, %r13
jl 0x4afb0
jmp 0x4b517
cmpl $0x10, %eax
je 0x4afce
jmp 0x4b040
movl 0x10(%rbx), %ebp
movq 0x8(%rbx), %rax
movl (%rax), %ecx
leal -0x12(%rcx), %edx
cmpl $0x8, %edx
jae 0x4b5bf
testl %ebp, %ebp
jle 0x4b517
movslq 0xc0(%rax), %r13
movq 0x8(%rbx), %r14
movl (%r14), %eax
movq %r15, %r12
cmpl $0x19, %eax
ja 0x4b0a3
movl $0x2110000, %ecx        # imm = 0x2110000
btl %eax, %ecx
movq %r15, %r12
jae 0x4b0a3
movq (%r15), %r12
movslq 0xc(%rdi), %rax
leal -0x1(%rax), %ecx
cmpl %ecx, 0x8(%rdi)
jl 0x4b0d6
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r12, (%rax,%rcx,8)
movq %r14, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
addq %r13, %r15
decl %ebp
movq 0x10(%rsp), %r12
jne 0x4b084
jmp 0x4b517
movq (%r15), %rbx
testq %rbx, %rbx
je 0x4b517
movq 0x8(%r15), %r14
movslq 0xc(%rdi), %rcx
cmpl %ecx, %eax
jl 0x4b14a
leal (%rcx,%rcx), %eax
movl %eax, 0xc(%rdi)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %rbx, (%rax,%rcx,8)
movq %r14, 0x8(%rax,%rcx,8)
jmp 0x4b39d
cmpl $0x0, 0x10(%rbx)
jle 0x4b517
xorl %r13d, %r13d
movq 0x28(%rbx), %rax
movq (%rax,%r13,8), %rcx
movq 0x108(%rcx), %rbp
movl (%rbp), %eax
leal -0x12(%rax), %edx
cmpl $0x8, %edx
jae 0x4b21b
movslq 0x110(%rcx), %r14
addq %r15, %r14
cmpl $0x19, %eax
ja 0x4b1b0
movl $0x2110000, %ecx        # imm = 0x2110000
btl %eax, %ecx
jae 0x4b1b0
movq (%r14), %r14
movslq 0xc(%rdi), %rax
leal -0x1(%rax), %ecx
cmpl %ecx, 0x8(%rdi)
jl 0x4b1e3
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %rbp, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
incq %r13
movslq 0x10(%rbx), %rax
cmpq %rax, %r13
jl 0x4b176
jmp 0x4b517
cmpl $0x10, %eax
je 0x4b194
jmp 0x4b206
cmpq %r15, 0x8(%r12)
ja 0x4b244
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4b573
cmpq %r15, %rax
ja 0x4b573
xorl %r13d, %r13d
testq %r13, %r13
je 0x4b517
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4b6f7
cmpl %eax, 0x4(%r13)
jl 0x4b6f7
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4b4c2
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4b4c2
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4b4be
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4b303
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4b305
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4b305
xorl %eax, %eax
testb %al, %al
je 0x4b32a
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4b2d8
jmp 0x4b4be
movq 0x30(%rsp), %rdi
callq 0x7b30
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4b309
movq 0x8(%r15), %r14
movq 0x8(%rbx), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq 0x108(%rcx), %rbx
movslq 0xc(%rdi), %rcx
cmpl %ecx, %eax
jl 0x4b383
leal (%rcx,%rcx), %eax
movl %eax, 0xc(%rdi)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %rbx, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
jmp 0x4b517
cmpq %r15, 0x8(%r12)
ja 0x4b3c9
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4b599
cmpq %r15, %rax
ja 0x4b599
xorl %r13d, %r13d
testq %r13, %r13
je 0x4b517
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4b70e
cmpl %eax, 0x4(%r13)
jl 0x4b70e
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4b4c2
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4b4c2
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4b4be
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4b484
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4b486
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4b486
xorl %eax, %eax
testb %al, %al
je 0x4b4a8
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4b459
jmp 0x4b4be
movq 0x30(%rsp), %rdi
callq 0x7a8a
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4b48a
incq -0x8(%rbp)
cmpl $0x0, 0x4(%r13)
jne 0x4b517
movslq 0x8(%r13), %rax
movslq 0x14(%r13), %rcx
imulq %rax, %rcx
subq %rcx, 0x20(%r12)
cmpq %r13, (%r12)
jne 0x4b4e8
movq 0x20(%r13), %rax
movq %rax, (%r12)
movq 0x18(%r13), %rax
testq %rax, %rax
je 0x4b4f9
movq 0x20(%r13), %rcx
movq %rcx, 0x20(%rax)
movq 0x20(%r13), %rax
testq %rax, %rax
je 0x4b50a
movq 0x18(%r13), %rcx
movq %rcx, 0x18(%rax)
movq %r13, %rdi
callq 0x3040
movq 0x8(%rsp), %rdi
movl 0x8(%rdi), %eax
testl %eax, %eax
jns 0x4ac2f
jmp 0x4b725
movq (%r12), %r13
testq %r13, %r13
je 0x4aea2
leaq 0x30(%r13), %rcx
cmpq %rsi, %rcx
ja 0x4b547
cmpq %rsi, 0x28(%r13)
ja 0x4b5e6
movq 0x20(%r13), %r13
jmp 0x4b52b
movq (%r12), %r13
testq %r13, %r13
je 0x4ad84
leaq 0x30(%r13), %rcx
cmpq %r15, %rcx
ja 0x4b56d
cmpq %r15, 0x28(%r13)
ja 0x4b616
movq 0x20(%r13), %r13
jmp 0x4b551
movq (%r12), %r13
testq %r13, %r13
je 0x4b247
leaq 0x30(%r13), %rcx
cmpq %r15, %rcx
ja 0x4b593
cmpq %r15, 0x28(%r13)
ja 0x4b64a
movq 0x20(%r13), %r13
jmp 0x4b577
movq (%r12), %r13
testq %r13, %r13
je 0x4b3cc
leaq 0x30(%r13), %rcx
cmpq %r15, %rcx
ja 0x4b5b9
cmpq %r15, 0x28(%r13)
ja 0x4b67e
movq 0x20(%r13), %r13
jmp 0x4b59d
cmpl $0x10, %ecx
je 0x4b075
jmp 0x4b517
incq -0x8(%rbp)
cmpl $0x0, 0x4(%r13)
movq 0x10(%rsp), %r12
jne 0x4b517
jmp 0x4b4c9
movq %rsi, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%rsi,%rdx)
jg 0x4aea2
movq 0x30(%rsp), %rdi
callq 0x7aa3
movq 0x8(%rsp), %rdi
jmp 0x4aea2
movq %r15, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%r15,%rdx)
jg 0x4ad84
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7b49
movq 0x8(%rsp), %rdi
jmp 0x4ad84
movq %r15, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%r15,%rdx)
jg 0x4b247
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7af6
movq 0x8(%rsp), %rdi
jmp 0x4b247
movq %r15, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%r15,%rdx)
jg 0x4b3cc
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7a50
movq 0x8(%rsp), %rdi
jmp 0x4b3cc
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7a1a
movq 0x8(%rsp), %rdi
jmp 0x4ac80
movq 0x30(%rsp), %rdi
movq %r12, %rsi
callq 0x7ac0
movq 0x8(%rsp), %rdi
jmp 0x4aedf
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7b66
movq 0x8(%rsp), %rdi
jmp 0x4adbd
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7b13
movq 0x8(%rsp), %rdi
jmp 0x4b280
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7a6d
movq 0x8(%rsp), %rdi
jmp 0x4b405
movq 0x48(%rsp), %rax
movq 0x30(%rax), %r12
movq 0x40(%rsp), %rax
movl (%rax), %r13d
movslq 0xc0(%rax), %r15
testq %r12, %r12
je 0x4c8be
leal -0x4(%r13), %ebx
cmpl $0x16, %ebx
ja 0x4c888
leaq 0x2f126(%rip), %rax     # 0x7a880
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
cmpq $0x100, 0x18(%rsp)      # imm = 0x100
jmp 0x4b7ad
movq 0x18(%rsp), %rcx
movslq %ecx, %rax
jmp 0x4b7d7
movq 0x18(%rsp), %rcx
movsbq %cl, %rax
jmp 0x4b7d7
cmpq $0x2, 0x18(%rsp)
jmp 0x4b7ad
movq 0x18(%rsp), %rax
btrq $0x3f, %rax
movq %rax, %xmm0
ucomisd 0x2b80e(%rip), %xmm0    # 0x76fb0
jmp 0x4b7c9
cmpq $0x10000, 0x18(%rsp)    # imm = 0x10000
setae %al
jmp 0x4b7e8
movq 0x18(%rsp), %rax
btrq $0x3f, %rax
movq %rax, %xmm0
ucomisd 0x2b7df(%rip), %xmm0    # 0x76fa8
seta %al
jmp 0x4b7e8
movq 0x18(%rsp), %rcx
movswq %cx, %rax
cmpq %rcx, %rax
jmp 0x4b7e5
movq 0x18(%rsp), %rax
shrq $0x20, %rax
setne %al
testb %al, %al
jne 0x4c888
cmpl $0x16, %ebx
ja 0x4b86f
leaq 0x2f0e0(%rip), %rax     # 0x7a8dc
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x18(%rsp), %rax
movq %rax, (%r12)
jmp 0x4b889
movq 0x18(%rsp), %rbx
testq %rbx, %rbx
je 0x4c92d
movq %r12, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x3260
jmp 0x4b889
movq 0x18(%rsp), %rax
movb %al, (%r12)
jmp 0x4b889
movq 0x18(%rsp), %rax
movl %eax, (%r12)
jmp 0x4b889
movq 0x18(%rsp), %rax
movw %ax, (%r12)
jmp 0x4b889
movsd 0x18(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, (%r12)
jmp 0x4b889
cmpq $0x0, 0x18(%rsp)
setne (%r12)
jmp 0x4b889
movq 0x38(%rsp), %rcx
movq 0x20(%rcx), %rdi
leaq 0x2b791(%rip), %rdx     # 0x77010
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq *0x8(%rcx)
movq 0x10(%rsp), %r14
movq 0x20(%rsp), %r15
movq 0x28(%rsp), %r12
movq 0x10(%r12), %rbx
testq %rbx, %rbx
je 0x4c814
movq (%r15), %rax
movq 0x8(%rax), %rax
movq 0x28(%rax), %rax
movq 0x10(%rax), %rax
movq 0x108(%rax), %rax
movq 0x8(%rax), %r15
movl (%r15), %eax
addl $-0x4, %eax
cmpl $0x16, %eax
ja 0x4b90d
leaq 0x2f066(%rip), %rcx     # 0x7a938
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq (%rbx), %rbx
jmp 0x4b927
movzbl (%rbx), %ebx
jmp 0x4b927
movslq (%rbx), %rbx
jmp 0x4b927
movzwl (%rbx), %ebx
jmp 0x4b927
movl (%rbx), %ebx
jmp 0x4b927
movsbq (%rbx), %rbx
jmp 0x4b927
movswq (%rbx), %rbx
jmp 0x4b927
xorps %xmm0, %xmm0
cvtss2sd (%rbx), %xmm0
movq %xmm0, %rbx
jmp 0x4b927
movq 0x38(%rsp), %rcx
movq 0x20(%rcx), %rdi
leaq 0x2b6f3(%rip), %rdx     # 0x77010
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq *0x8(%rcx)
xorl %eax, %eax
cmpl $0x13, (%r15)
movslq 0xc0(%r15), %r12
cmovneq %r15, %rax
movq %rax, 0x8(%rsp)
leaq 0x8(%r12), %rax
leaq 0xf(%r12), %rbp
testq %rax, %rax
cmovnsq %rax, %rbp
andq $-0x8, %rbp
leaq 0x67(%rbp), %rax
addq $0xa6, %rbp
testq %rax, %rax
cmovnsq %rax, %rbp
andq $-0x40, %rbp
testq %r12, %r12
js 0x4c8ee
movl $0x80000000, %eax       # imm = 0x80000000
cmpq %rax, %rbp
jge 0x4c8ee
movq 0x10(%rsp), %rax
movq (%rax), %rax
testq %rax, %rax
je 0x4b9c2
movl $0x7fffffff, %ecx       # imm = 0x7FFFFFFF
xorl %r13d, %r13d
movl 0xc(%rax), %edx
cmpl 0x8(%rax), %edx
jge 0x4b9b7
movl 0x14(%rax), %edx
cmpl %ebp, %edx
je 0x4b9c7
setg %sil
cmpl %ecx, %edx
setl %dil
testb %dil, %sil
cmovneq %rax, %r13
cmovnel %edx, %ecx
movq 0x20(%rax), %rax
testq %rax, %rax
jne 0x4b994
jmp 0x4b9ca
xorl %r13d, %r13d
jmp 0x4b9ca
movq %rax, %r13
movq %rbx, 0x18(%rsp)
testq %r13, %r13
movq %r15, 0x40(%rsp)
jne 0x4baaa
movl $0x100000, %eax         # imm = 0x100000
xorl %edx, %edx
idivq %rbp
testq %rax, %rax
movl $0x1, %r15d
cmovnel %eax, %r15d
movl %r15d, %eax
imull %ebp, %eax
movslq %eax, %r14
leaq 0x30(%r14), %rdi
callq 0x3290
movq %rax, %rbx
movq %rax, %r13
testq %rax, %rax
je 0x4c91e
movq 0x10(%rsp), %rdx
movl 0x18(%rdx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x18(%rdx)
movl %eax, (%r13)
movl $0x0, 0x4(%r13)
movl %r15d, 0x8(%r13)
xorl %eax, %eax
movq %rax, 0xc(%r13)
movl %ebp, 0x14(%r13)
movq %rax, 0x18(%r13)
movq (%rdx), %rax
movq %rax, 0x20(%r13)
leaq (%rbx,%r14), %rcx
addq $0x30, %rcx
movq %rcx, 0x28(%r13)
addq %r14, 0x20(%rdx)
testq %rax, %rax
je 0x4ba61
movq %r13, 0x18(%rax)
addq $0x30, %rbx
movq 0x10(%rsp), %rax
movq %r13, (%rax)
movq 0x8(%rax), %rax
testq %rax, %rax
movq 0x40(%rsp), %r15
je 0x4ba80
cmpq %rbx, %rax
jbe 0x4ba89
movq 0x10(%rsp), %rax
movq %rbx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
testq %rax, %rax
je 0x4ba9d
cmpq 0x28(%r13), %rax
jae 0x4baaa
movq 0x28(%r13), %rax
movq 0x10(%rsp), %rcx
movq %rax, 0x10(%rcx)
movslq 0xc(%r13), %r14
movslq 0x14(%r13), %rdx
imulq %rdx, %r14
leaq (%r14,%r13), %rbx
addq $0x30, %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3190
movl $0x1, (%rbx)
movl %r12d, 0x4(%rbx)
movq 0x8(%rsp), %rax
movq %rax, 0x8(%rbx)
movq $0x0, 0x10(%rbx)
movq 0x10(%rsp), %r12
movq 0x28(%r12), %rax
movslq 0x8(%rax), %rax
movq %rax, 0x18(%rbx)
movb $0x0, 0x20(%rbx)
incl 0xc(%r13)
incl 0x4(%r13)
leaq (%r14,%r13), %rax
addq $0x58, %rax
movq 0x48(%rsp), %rcx
movq %rax, 0x38(%rcx)
movq %r15, %rdi
xorl %esi, %esi
callq 0x1eeaf
testb %al, %al
je 0x4c6a1
movq 0x50(%rsp), %rax
movq 0x68(%rax), %rdi
movl $0xffffffff, 0x8(%rdi)  # imm = 0xFFFFFFFF
movslq 0xc(%rdi), %rax
testq %rax, %rax
movq %rdi, 0x8(%rsp)
jg 0x4bb69
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq 0x18(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x40(%rsp), %rdx
movq %rdx, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
movl 0x8(%rdi), %eax
testl %eax, %eax
js 0x4c6a1
leaq 0x30(%r12), %rcx
movq %rcx, 0x30(%rsp)
movq (%rdi), %rsi
leal -0x1(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl %eax, %ecx
leaq (%rcx,%rcx,2), %rcx
movq (%rsi,%rcx,8), %r15
movq 0x10(%rsi,%rcx,8), %r13
testq %r13, %r13
je 0x4bcbc
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4c62e
cmpl %eax, 0x4(%r13)
jl 0x4c62e
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4c43e
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4c43e
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4c43a
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4bc7f
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4bc81
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4bc81
xorl %eax, %eax
testb %al, %al
je 0x4bca6
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4bc54
jmp 0x4c43a
movq 0x30(%rsp), %rdi
callq 0x7c4b
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4bc85
movq 0x8(%rsi,%rcx,8), %rbx
movl (%rbx), %ecx
addl $-0x10, %ecx
cmpl $0x9, %ecx
ja 0x4c493
leaq 0x2ecbe(%rip), %rdx     # 0x7a994
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
cmpq %r15, 0x8(%r12)
ja 0x4bcfd
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4c4c9
cmpq %r15, %rax
ja 0x4c4c9
xorl %r13d, %r13d
testq %r13, %r13
je 0x4c493
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4c65c
cmpl %eax, 0x4(%r13)
jl 0x4c65c
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4c43e
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4c43e
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4c43a
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4bdbc
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4bdbe
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4bdbe
xorl %eax, %eax
testb %al, %al
je 0x4bde3
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4bd91
jmp 0x4c43a
movq 0x30(%rsp), %rdi
callq 0x7d97
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4bdc2
movq 0x10(%r15), %rsi
cmpq %rsi, 0x8(%r12)
ja 0x4be1b
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4c4a3
cmpq %rsi, %rax
ja 0x4c4a3
xorl %r13d, %r13d
testq %r13, %r13
je 0x4c493
movq 0x10(%r15), %r12
movq %r12, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r12, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4c645
cmpl %eax, 0x4(%r13)
jl 0x4c645
negq %rbx
incl (%r12,%rbx)
incl 0x4(%r13)
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rbx
cmpq %r12, 0x18(%rbx)
ja 0x4c54d
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r12, %rax
jbe 0x4c54d
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r12, %rax
jae 0x4c549
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4bee2
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4bee4
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4bee4
xorl %eax, %eax
testb %al, %al
je 0x4bf09
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r12, %rcx
jb 0x4beb7
jmp 0x4c549
movq 0x30(%rsp), %rdi
callq 0x7cf1
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4bee8
cmpl $0x0, 0x10(%rbx)
jle 0x4c493
xorl %r13d, %r13d
movq 0x28(%rbx), %rax
movq (%rax,%r13,8), %rcx
movq 0x108(%rcx), %rbp
movl (%rbp), %eax
leal -0x12(%rax), %edx
cmpl $0x8, %edx
jae 0x4bfd1
movslq 0x110(%rcx), %r14
addq %r15, %r14
cmpl $0x19, %eax
ja 0x4bf66
movl $0x2110000, %ecx        # imm = 0x2110000
btl %eax, %ecx
jae 0x4bf66
movq (%r14), %r14
movslq 0xc(%rdi), %rax
leal -0x1(%rax), %ecx
cmpl %ecx, 0x8(%rdi)
jl 0x4bf99
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %rbp, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
incq %r13
movslq 0x10(%rbx), %rax
cmpq %rax, %r13
jl 0x4bf2c
jmp 0x4c493
cmpl $0x10, %eax
je 0x4bf4a
jmp 0x4bfbc
movl 0x10(%rbx), %ebp
movq 0x8(%rbx), %rax
movl (%rax), %ecx
leal -0x12(%rcx), %edx
cmpl $0x8, %edx
jae 0x4c53b
testl %ebp, %ebp
jle 0x4c493
movslq 0xc0(%rax), %r13
movq 0x8(%rbx), %r14
movl (%r14), %eax
movq %r15, %r12
cmpl $0x19, %eax
ja 0x4c01f
movl $0x2110000, %ecx        # imm = 0x2110000
btl %eax, %ecx
movq %r15, %r12
jae 0x4c01f
movq (%r15), %r12
movslq 0xc(%rdi), %rax
leal -0x1(%rax), %ecx
cmpl %ecx, 0x8(%rdi)
jl 0x4c052
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r12, (%rax,%rcx,8)
movq %r14, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
addq %r13, %r15
decl %ebp
movq 0x10(%rsp), %r12
jne 0x4c000
jmp 0x4c493
movq (%r15), %rbx
testq %rbx, %rbx
je 0x4c493
movq 0x8(%r15), %r14
movslq 0xc(%rdi), %rcx
cmpl %ecx, %eax
jl 0x4c0c6
leal (%rcx,%rcx), %eax
movl %eax, 0xc(%rdi)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %rbx, (%rax,%rcx,8)
movq %r14, 0x8(%rax,%rcx,8)
jmp 0x4c319
cmpl $0x0, 0x10(%rbx)
jle 0x4c493
xorl %r13d, %r13d
movq 0x28(%rbx), %rax
movq (%rax,%r13,8), %rcx
movq 0x108(%rcx), %rbp
movl (%rbp), %eax
leal -0x12(%rax), %edx
cmpl $0x8, %edx
jae 0x4c197
movslq 0x110(%rcx), %r14
addq %r15, %r14
cmpl $0x19, %eax
ja 0x4c12c
movl $0x2110000, %ecx        # imm = 0x2110000
btl %eax, %ecx
jae 0x4c12c
movq (%r14), %r14
movslq 0xc(%rdi), %rax
leal -0x1(%rax), %ecx
cmpl %ecx, 0x8(%rdi)
jl 0x4c15f
leal (%rax,%rax), %ecx
movl %ecx, 0xc(%rdi)
movq (%rdi), %rsi
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %rbp, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
incq %r13
movslq 0x10(%rbx), %rax
cmpq %rax, %r13
jl 0x4c0f2
jmp 0x4c493
cmpl $0x10, %eax
je 0x4c110
jmp 0x4c182
cmpq %r15, 0x8(%r12)
ja 0x4c1c0
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4c4ef
cmpq %r15, %rax
ja 0x4c4ef
xorl %r13d, %r13d
testq %r13, %r13
je 0x4c493
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4c673
cmpl %eax, 0x4(%r13)
jl 0x4c673
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4c43e
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4c43e
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4c43a
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4c27f
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4c281
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4c281
xorl %eax, %eax
testb %al, %al
je 0x4c2a6
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4c254
jmp 0x4c43a
movq 0x30(%rsp), %rdi
callq 0x7d44
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4c285
movq 0x8(%r15), %r14
movq 0x8(%rbx), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq 0x108(%rcx), %rbx
movslq 0xc(%rdi), %rcx
cmpl %ecx, %eax
jl 0x4c2ff
leal (%rcx,%rcx), %eax
movl %eax, 0xc(%rdi)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
shlq $0x4, %rcx
leaq (%rcx,%rcx,2), %rdx
callq 0xce23
movq 0x8(%rsp), %rdi
movq %rax, (%rdi)
movq (%rdi), %rax
movslq 0x8(%rdi), %rcx
incq %rcx
movl %ecx, 0x8(%rdi)
leaq (%rcx,%rcx,2), %rcx
movq %r14, (%rax,%rcx,8)
movq %rbx, 0x8(%rax,%rcx,8)
movq $0x0, 0x10(%rax,%rcx,8)
jmp 0x4c493
cmpq %r15, 0x8(%r12)
ja 0x4c345
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x4c515
cmpq %r15, %rax
ja 0x4c515
xorl %r13d, %r13d
testq %r13, %r13
je 0x4c493
movq %r15, %rax
subq %r13, %rax
addq $-0x30, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
movq %rdx, %rbx
movq %r15, %rax
subq %rdx, %rax
movl (%rax), %eax
testl %eax, %eax
jle 0x4c68a
cmpl %eax, 0x4(%r13)
jl 0x4c68a
negq %rbx
incl (%r15,%rbx)
incl 0x4(%r13)
movq 0x28(%r12), %rbx
cmpq %r15, 0x18(%rbx)
ja 0x4c43e
movslq 0x28(%rbx), %rax
shlq $0x3, %rax
addq 0x10(%rbx), %rax
cmpq %r15, %rax
jbe 0x4c43e
movq 0x20(%rbx), %rbp
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
leaq 0x8(,%rax,8), %rax
addq %rbp, %rax
cmpq %r15, %rax
jae 0x4c43a
leaq 0x8(%rbp), %rax
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x10(%rbx), %rcx
movslq 0x28(%rbx), %rdx
leaq (%rcx,%rdx,8), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rbp
je 0x4c400
movq (%rax), %rax
andl $-0x2, %eax
cmpq %rsi, %rax
setne %al
je 0x4c402
movq (%rbp), %rbp
movb $0x1, %al
jmp 0x4c402
xorl %eax, %eax
testb %al, %al
je 0x4c424
movq -0x10(%rbp), %rcx
leaq 0x8(%rbp), %rax
movq 0x10(%rcx), %rcx
leaq 0x8(,%rcx,8), %rcx
addq %rbp, %rcx
cmpq %r15, %rcx
jb 0x4c3d5
jmp 0x4c43a
movq 0x30(%rsp), %rdi
callq 0x7c9e
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movq 0x8(%rsp), %rdi
jmp 0x4c406
incq -0x8(%rbp)
cmpl $0x0, 0x4(%r13)
jne 0x4c493
movslq 0x8(%r13), %rax
movslq 0x14(%r13), %rcx
imulq %rax, %rcx
subq %rcx, 0x20(%r12)
cmpq %r13, (%r12)
jne 0x4c464
movq 0x20(%r13), %rax
movq %rax, (%r12)
movq 0x18(%r13), %rax
testq %rax, %rax
je 0x4c475
movq 0x20(%r13), %rcx
movq %rcx, 0x20(%rax)
movq 0x20(%r13), %rax
testq %rax, %rax
je 0x4c486
movq 0x18(%r13), %rcx
movq %rcx, 0x18(%rax)
movq %r13, %rdi
callq 0x3040
movq 0x8(%rsp), %rdi
movl 0x8(%rdi), %eax
testl %eax, %eax
jns 0x4bbab
jmp 0x4c6a1
movq (%r12), %r13
testq %r13, %r13
je 0x4be1e
leaq 0x30(%r13), %rcx
cmpq %rsi, %rcx
ja 0x4c4c3
cmpq %rsi, 0x28(%r13)
ja 0x4c562
movq 0x20(%r13), %r13
jmp 0x4c4a7
movq (%r12), %r13
testq %r13, %r13
je 0x4bd00
leaq 0x30(%r13), %rcx
cmpq %r15, %rcx
ja 0x4c4e9
cmpq %r15, 0x28(%r13)
ja 0x4c592
movq 0x20(%r13), %r13
jmp 0x4c4cd
movq (%r12), %r13
testq %r13, %r13
je 0x4c1c3
leaq 0x30(%r13), %rcx
cmpq %r15, %rcx
ja 0x4c50f
cmpq %r15, 0x28(%r13)
ja 0x4c5c6
movq 0x20(%r13), %r13
jmp 0x4c4f3
movq (%r12), %r13
testq %r13, %r13
je 0x4c348
leaq 0x30(%r13), %rcx
cmpq %r15, %rcx
ja 0x4c535
cmpq %r15, 0x28(%r13)
ja 0x4c5fa
movq 0x20(%r13), %r13
jmp 0x4c519
cmpl $0x10, %ecx
je 0x4bff1
jmp 0x4c493
incq -0x8(%rbp)
cmpl $0x0, 0x4(%r13)
movq 0x10(%rsp), %r12
jne 0x4c493
jmp 0x4c445
movq %rsi, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%rsi,%rdx)
jg 0x4be1e
movq 0x30(%rsp), %rdi
callq 0x7cb7
movq 0x8(%rsp), %rdi
jmp 0x4be1e
movq %r15, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%r15,%rdx)
jg 0x4bd00
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7d5d
movq 0x8(%rsp), %rdi
jmp 0x4bd00
movq %r15, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%r15,%rdx)
jg 0x4c1c3
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7d0a
movq 0x8(%rsp), %rdi
jmp 0x4c1c3
movq %r15, %rax
subq %rcx, %rax
movslq 0x14(%r13), %rcx
cqto
idivq %rcx
negq %rdx
cmpl $0x0, (%r15,%rdx)
jg 0x4c348
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7c64
movq 0x8(%rsp), %rdi
jmp 0x4c348
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7c2e
movq 0x8(%rsp), %rdi
jmp 0x4bbfc
movq 0x30(%rsp), %rdi
movq %r12, %rsi
callq 0x7cd4
movq 0x8(%rsp), %rdi
jmp 0x4be5b
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7d7a
movq 0x8(%rsp), %rdi
jmp 0x4bd39
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7d27
movq 0x8(%rsp), %rdi
jmp 0x4c1fc
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x7c81
movq 0x8(%rsp), %rdi
jmp 0x4c381
movq 0x48(%rsp), %rax
movq 0x38(%rax), %r12
movq 0x40(%rsp), %rax
movl (%rax), %r13d
movslq 0xc0(%rax), %r15
testq %r12, %r12
je 0x4c8cd
leal -0x4(%r13), %ebx
cmpl $0x16, %ebx
ja 0x4c89a
leaq 0x2e2e6(%rip), %rax     # 0x7a9bc
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
cmpq $0x100, 0x18(%rsp)      # imm = 0x100
jmp 0x4c729
movq 0x18(%rsp), %rcx
movslq %ecx, %rax
jmp 0x4c753
movq 0x18(%rsp), %rcx
movsbq %cl, %rax
jmp 0x4c753
cmpq $0x2, 0x18(%rsp)
jmp 0x4c729
movq 0x18(%rsp), %rax
btrq $0x3f, %rax
movq %rax, %xmm0
ucomisd 0x2a892(%rip), %xmm0    # 0x76fb0
jmp 0x4c745
cmpq $0x10000, 0x18(%rsp)    # imm = 0x10000
setae %al
jmp 0x4c764
movq 0x18(%rsp), %rax
btrq $0x3f, %rax
movq %rax, %xmm0
ucomisd 0x2a863(%rip), %xmm0    # 0x76fa8
seta %al
jmp 0x4c764
movq 0x18(%rsp), %rcx
movswq %cx, %rax
cmpq %rcx, %rax
jmp 0x4c761
movq 0x18(%rsp), %rax
shrq $0x20, %rax
setne %al
testb %al, %al
jne 0x4c89a
cmpl $0x16, %ebx
ja 0x4c7eb
leaq 0x2e2a0(%rip), %rax     # 0x7aa18
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movq 0x18(%rsp), %rax
movq %rax, (%r12)
jmp 0x4c805
movq 0x18(%rsp), %rbx
testq %rbx, %rbx
je 0x4c93c
movq %r12, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x3260
jmp 0x4c805
movq 0x18(%rsp), %rax
movb %al, (%r12)
jmp 0x4c805
movq 0x18(%rsp), %rax
movl %eax, (%r12)
jmp 0x4c805
movq 0x18(%rsp), %rax
movw %ax, (%r12)
jmp 0x4c805
movsd 0x18(%rsp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, (%r12)
jmp 0x4c805
cmpq $0x0, 0x18(%rsp)
setne (%r12)
jmp 0x4c805
movq 0x38(%rsp), %rcx
movq 0x20(%rcx), %rdi
leaq 0x2a815(%rip), %rdx     # 0x77010
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %eax, %eax
callq *0x8(%rcx)
movq 0x10(%rsp), %r14
movq 0x20(%rsp), %r15
movq 0x28(%rsp), %r12
movq 0x18(%r12), %rsi
testq %rsi, %rsi
je 0x4c83c
movq %r15, %rdi
movq 0x50(%rsp), %rdx
movq %r14, %rcx
movq 0x38(%rsp), %r8
callq 0x4a6f9
movq 0x48(%rsp), %rcx
movq %rax, 0x40(%rcx)
movq 0x60(%rsp), %rax
movq 0x58(%rsp), %rcx
leaq (%rax,%rcx), %rbx
addq $0x58, %rbx
movq 0x20(%r12), %rsi
testq %rsi, %rsi
je 0x4c876
movq %r15, %rdi
movq 0x50(%rsp), %rdx
movq %r14, %rcx
movq 0x38(%rsp), %r8
callq 0x4a6f9
movq 0x48(%rsp), %rcx
movq %rax, 0x48(%rcx)
movq %rbx, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x38(%rsp), %rdi
movl %r13d, %esi
callq 0x7bb2
jmp 0x4b7f0
movq 0x38(%rsp), %rdi
movl %r13d, %esi
callq 0x7dc6
jmp 0x4c76c
movq 0x38(%rsp), %rdi
movq %rbx, %rsi
callq 0x79b2
jmp 0x4a776
movq 0x38(%rsp), %rdi
callq 0x7b9c
jmp 0x4b746
movq 0x38(%rsp), %rdi
callq 0x7db0
jmp 0x4c6c2
movq 0x38(%rsp), %rdi
movq %r12, %rsi
callq 0x79e6
jmp 0x4aa03
movq 0x38(%rsp), %rdi
movq %r12, %rsi
callq 0x7bfa
jmp 0x4b97f
movq 0x10(%rsp), %rdi
callq 0x79cc
jmp 0x4a812
movq 0x10(%rsp), %rdi
callq 0x7a00
jmp 0x4aa99
movq 0x10(%rsp), %rdi
callq 0x7c14
jmp 0x4ba15
movq 0x38(%rsp), %rdi
callq 0x7be4
jmp 0x4b81e
movq 0x38(%rsp), %rdi
callq 0x7df8
jmp 0x4c79a