// File: /workspace/github_c_makefile_star2_O0/Aethlas[P]fflz4/./lib/lz4/lz4.c
// Function: LZ4_decompress_safe_continue
LZ4_FORCE_O2_GCC_PPC64LE
int LZ4_decompress_safe_continue (LZ4_streamDecode_t* LZ4_streamDecode, const char* source, char* dest, int compressedSize, int maxOutputSize)
{
    LZ4_streamDecode_t_internal* lz4sd = &LZ4_streamDecode->internal_donotuse;
    int result;

    if (lz4sd->prefixSize == 0) {
        /* The first call, no dictionary yet. */
        assert(lz4sd->extDictSize == 0);
        result = LZ4_decompress_safe(source, dest, compressedSize, maxOutputSize);
        if (result <= 0) return result;
        lz4sd->prefixSize = (size_t)result;
        lz4sd->prefixEnd = (BYTE*)dest + result;
    } else if (lz4sd->prefixEnd == (BYTE*)dest) {
        /* They're rolling the current segment. */
        if (lz4sd->prefixSize >= 64 KB - 1)
            result = LZ4_decompress_safe_withPrefix64k(source, dest, compressedSize, maxOutputSize);
        else if (lz4sd->extDictSize == 0)
            result = LZ4_decompress_safe_withSmallPrefix(source, dest, compressedSize, maxOutputSize,
                                                         lz4sd->prefixSize);
        else
            result = LZ4_decompress_safe_doubleDict(source, dest, compressedSize, maxOutputSize,
                                                    lz4sd->prefixSize, lz4sd->externalDict, lz4sd->extDictSize);
        if (result <= 0) return result;
        lz4sd->prefixSize += (size_t)result;
        lz4sd->prefixEnd  += result;
    } else {
        /* The buffer wraps around, or they're switching to another buffer. */
        lz4sd->extDictSize = lz4sd->prefixSize;
        lz4sd->externalDict = lz4sd->prefixEnd - lz4sd->extDictSize;
        result = LZ4_decompress_safe_forceExtDict(source, dest, compressedSize, maxOutputSize,
                                                  lz4sd->externalDict, lz4sd->extDictSize);
        if (result <= 0) return result;
        lz4sd->prefixSize = (size_t)result;
        lz4sd->prefixEnd  = (BYTE*)dest + result;
    }

    return result;
}

// Assembly:
subq $0x278, %rsp            # imm = 0x278
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movl %ecx, 0x44(%rsp)
movl %r8d, 0x40(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x3f1bd
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movl 0x44(%rsp), %edx
movl 0x40(%rsp), %ecx
callq 0x36200
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
jg 0x3f194
movl 0x34(%rsp), %eax
movl %eax, 0x64(%rsp)
jmp 0x40ff5
movslq 0x34(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x48(%rsp), %rcx
movslq 0x34(%rsp), %rax
addq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x40fed
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rax
cmpq 0x48(%rsp), %rax
jne 0x40f59
movq 0x38(%rsp), %rax
cmpq $0xffff, 0x18(%rax)     # imm = 0xFFFF
jb 0x3f200
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movl 0x44(%rsp), %edx
movl 0x40(%rsp), %ecx
callq 0x3b730
movl %eax, 0x34(%rsp)
jmp 0x40f17
movq 0x38(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x3f235
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movl 0x44(%rsp), %edx
movl 0x40(%rsp), %ecx
movq 0x38(%rsp), %rax
movq 0x18(%rax), %r8
callq 0x41010
movl %eax, 0x34(%rsp)
jmp 0x40f15
movq 0x50(%rsp), %r9
movq 0x48(%rsp), %r8
movl 0x44(%rsp), %edi
movl 0x40(%rsp), %esi
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rdx
movq 0x38(%rsp), %rax
movq (%rax), %rcx
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq %r9, 0x90(%rsp)
movq %r8, 0x88(%rsp)
movl %edi, 0x84(%rsp)
movl %esi, 0x80(%rsp)
movq %rdx, 0x78(%rsp)
movq %rcx, 0x70(%rsp)
movq %rax, 0x68(%rsp)
movq 0x90(%rsp), %r9
movq 0x88(%rsp), %r8
movl 0x84(%rsp), %edi
movl 0x80(%rsp), %esi
movq 0x88(%rsp), %rdx
xorl %eax, %eax
subq 0x78(%rsp), %rax
addq %rax, %rdx
movq 0x70(%rsp), %rcx
movq 0x68(%rsp), %rax
movq %r9, 0x1a8(%rsp)
movq %r8, 0x1a0(%rsp)
movl %edi, 0x19c(%rsp)
movl %esi, 0x198(%rsp)
movl $0x1, 0x194(%rsp)
movl $0x0, 0x190(%rsp)
movl $0x2, 0x18c(%rsp)
movq %rdx, 0x180(%rsp)
movq %rcx, 0x178(%rsp)
movq %rax, 0x170(%rsp)
cmpq $0x0, 0x1a8(%rsp)
jne 0x3f33a
movl $0xffffffff, 0x1b4(%rsp) # imm = 0xFFFFFFFF
jmp 0x40f0a
movq 0x1a8(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x168(%rsp), %rax
movslq 0x19c(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x160(%rsp)
movq 0x1a0(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x158(%rsp), %rax
movslq 0x198(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x150(%rsp)
cmpq $0x0, 0x178(%rsp)
jne 0x3f3a4
xorl %eax, %eax
movq %rax, 0x28(%rsp)
jmp 0x3f3b9
movq 0x178(%rsp), %rax
addq 0x170(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x140(%rsp)
cmpl $0x1, 0x194(%rsp)
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0x13c(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x13c(%rsp)
movb %al, 0x27(%rsp)
je 0x3f400
cmpq $0x10000, 0x170(%rsp) # imm = 0x10000
setb %al
movb %al, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0x138(%rsp)
movq 0x160(%rsp), %rax
movl 0x194(%rsp), %esi
movl $0x8, %ecx
movl $0xe, %edx
cmpl $0x0, %esi
cmovnel %edx, %ecx
movslq %ecx, %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
addq $-0x2, %rax
movq %rax, 0x130(%rsp)
movq 0x150(%rsp), %rax
movl 0x194(%rsp), %esi
movl $0x8, %ecx
movl $0xe, %edx
cmpl $0x0, %esi
cmovnel %edx, %ecx
movslq %ecx, %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
addq $-0x12, %rax
movq %rax, 0x128(%rsp)
cmpl $0x0, 0x194(%rsp)
je 0x3f4f3
cmpl $0x0, 0x198(%rsp)
sete %al
testb $0x1, %al
jne 0x3f497
jmp 0x3f4f3
cmpl $0x0, 0x190(%rsp)
je 0x3f4b1
movl $0x0, 0x1b4(%rsp)
jmp 0x40f0a
xorl %eax, %eax
cmpl $0x1, 0x19c(%rsp)
movb %al, 0x26(%rsp)
jne 0x3f4d6
movq 0x168(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x0, %eax
sete %al
movb %al, 0x26(%rsp)
movb 0x26(%rsp), %dl
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, 0x1b4(%rsp)
jmp 0x40f0a
cmpl $0x0, 0x194(%rsp)
jne 0x3f535
cmpl $0x0, 0x198(%rsp)
sete %al
testb $0x1, %al
jne 0x3f50e
jmp 0x3f535
movq 0x168(%rsp), %rax
movzbl (%rax), %edx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ecx
cmpl $0x0, %edx
cmovel %ecx, %eax
movl %eax, 0x1b4(%rsp)
jmp 0x40f0a
cmpl $0x0, 0x194(%rsp)
je 0x3f560
cmpl $0x0, 0x19c(%rsp)
sete %al
testb $0x1, %al
jne 0x3f550
jmp 0x3f560
movl $0xffffffff, 0x1b4(%rsp) # imm = 0xFFFFFFFF
jmp 0x40f0a
movq 0x150(%rsp), %rax
movq 0x158(%rsp), %rcx
subq %rcx, %rax
cmpq $0x40, %rax
jge 0x3f57e
jmp 0x3ffba
jmp 0x3f580
cmpl $0x0, 0x194(%rsp)
je 0x3f58c
jmp 0x3f58c
movq 0x168(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x168(%rsp)
movzbl (%rax), %eax
movl %eax, 0x114(%rsp)
movl 0x114(%rsp), %eax
shrl $0x4, %eax
movl %eax, %eax
movq %rax, 0x108(%rsp)
cmpq $0xf, 0x108(%rsp)
jne 0x3f892
movl $0x0, 0x104(%rsp)
movq 0x160(%rsp), %rdx
addq $-0xf, %rdx
movl 0x194(%rsp), %ecx
movl 0x194(%rsp), %eax
leaq 0x168(%rsp), %rsi
movq %rsi, 0x1d8(%rsp)
movq %rdx, 0x1d0(%rsp)
movl %ecx, 0x1cc(%rsp)
movl %eax, 0x1c8(%rsp)
leaq 0x104(%rsp), %rax
movq %rax, 0x1c0(%rsp)
movl $0x0, 0x1bc(%rsp)
cmpl $0x0, 0x1c8(%rsp)
je 0x3f67d
movq 0x1d8(%rsp), %rax
movq (%rax), %rax
cmpq 0x1d0(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x3f65c
jmp 0x3f67d
movq 0x1c0(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x1bc(%rsp), %eax
movl %eax, 0x1e4(%rsp)
jmp 0x3f71e
jmp 0x3f67f
movq 0x1d8(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x1b8(%rsp)
movq 0x1d8(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x1b8(%rsp), %eax
addl 0x1bc(%rsp), %eax
movl %eax, 0x1bc(%rsp)
cmpl $0x0, 0x1cc(%rsp)
je 0x3f6ff
movq 0x1d8(%rsp), %rax
movq (%rax), %rax
cmpq 0x1d0(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x3f6e1
jmp 0x3f6ff
movq 0x1c0(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x1bc(%rsp), %eax
movl %eax, 0x1e4(%rsp)
jmp 0x3f71e
cmpl $0xff, 0x1b8(%rsp)
je 0x3f67f
movl 0x1bc(%rsp), %eax
movl %eax, 0x1e4(%rsp)
movl 0x1e4(%rsp), %eax
addq 0x108(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $-0x1, 0x104(%rsp)
jne 0x3f744
jmp 0x40ee8
cmpl $0x0, 0x13c(%rsp)
je 0x3f777
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x158(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x3f772
jmp 0x3f777
jmp 0x40ee8
cmpl $0x0, 0x13c(%rsp)
je 0x3f7aa
movq 0x168(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x168(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x3f7a5
jmp 0x3f7aa
jmp 0x40ee8
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x148(%rsp)
cmpl $0x0, 0x194(%rsp)
je 0x3f82a
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x20, %rcx
cmpq %rcx, %rax
ja 0x3f806
movq 0x168(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x160(%rsp), %rcx
addq $-0x20, %rcx
cmpq %rcx, %rax
jbe 0x3f80b
jmp 0x403de
movq 0x158(%rsp), %rdi
movq 0x168(%rsp), %rsi
movq 0x148(%rsp), %rdx
callq 0x470f0
jmp 0x3f865
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
jbe 0x3f848
jmp 0x403de
movq 0x158(%rsp), %rdi
movq 0x168(%rsp), %rsi
movq 0x148(%rsp), %rdx
callq 0x46de0
movq 0x108(%rsp), %rax
addq 0x168(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x3f955
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x148(%rsp)
cmpl $0x0, 0x194(%rsp)
je 0x3f8f2
movq 0x168(%rsp), %rax
movq 0x160(%rsp), %rcx
addq $-0x11, %rcx
cmpq %rcx, %rax
jbe 0x3f8d2
jmp 0x403de
movq 0x158(%rsp), %rax
movq 0x168(%rsp), %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
jmp 0x3f92d
movq 0x158(%rsp), %rax
movq 0x168(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
cmpq $0x8, 0x108(%rsp)
jbe 0x3f92b
movq 0x158(%rsp), %rax
movq 0x168(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
jmp 0x3f92d
movq 0x108(%rsp), %rax
addq 0x168(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x168(%rsp), %rdi
callq 0x47180
movzwl %ax, %eax
movq %rax, 0x118(%rsp)
movq 0x168(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x168(%rsp)
movq 0x158(%rsp), %rax
xorl %ecx, %ecx
subq 0x118(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x120(%rsp)
movl 0x114(%rsp), %eax
andl $0xf, %eax
movl %eax, %eax
movq %rax, 0x108(%rsp)
cmpq $0xf, 0x108(%rsp)
jne 0x3fbd8
movl $0x0, 0x100(%rsp)
cmpl $0x0, 0x138(%rsp)
je 0x3f9fc
movq 0x120(%rsp), %rax
addq 0x170(%rsp), %rax
cmpq 0x180(%rsp), %rax
setb %al
testb $0x1, %al
jne 0x3f9f7
jmp 0x3f9fc
jmp 0x40ee8
movq 0x160(%rsp), %rcx
addq $-0x5, %rcx
addq $0x1, %rcx
movl 0x194(%rsp), %eax
leaq 0x168(%rsp), %rdx
movq %rdx, 0x208(%rsp)
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
movl $0x0, 0x1f8(%rsp)
leaq 0x100(%rsp), %rax
movq %rax, 0x1f0(%rsp)
movl $0x0, 0x1ec(%rsp)
cmpl $0x0, 0x1f8(%rsp)
je 0x3fa9f
movq 0x208(%rsp), %rax
movq (%rax), %rax
cmpq 0x200(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x3fa7e
jmp 0x3fa9f
movq 0x1f0(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x1ec(%rsp), %eax
movl %eax, 0x214(%rsp)
jmp 0x3fb40
jmp 0x3faa1
movq 0x208(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x1e8(%rsp)
movq 0x208(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x1e8(%rsp), %eax
addl 0x1ec(%rsp), %eax
movl %eax, 0x1ec(%rsp)
cmpl $0x0, 0x1fc(%rsp)
je 0x3fb21
movq 0x208(%rsp), %rax
movq (%rax), %rax
cmpq 0x200(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x3fb03
jmp 0x3fb21
movq 0x1f0(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x1ec(%rsp), %eax
movl %eax, 0x214(%rsp)
jmp 0x3fb40
cmpl $0xff, 0x1e8(%rsp)
je 0x3faa1
movl 0x1ec(%rsp), %eax
movl %eax, 0x214(%rsp)
movl 0x214(%rsp), %eax
addq 0x108(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0x100(%rsp)
je 0x3fb66
jmp 0x40ee8
cmpl $0x0, 0x13c(%rsp)
je 0x3fb99
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x158(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x3fb94
jmp 0x3fb99
jmp 0x40ee8
movq 0x108(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x108(%rsp)
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x40, %rcx
cmpq %rcx, %rax
jb 0x3fbd3
jmp 0x40825
jmp 0x3fca0
movq 0x108(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x108(%rsp)
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x40, %rcx
cmpq %rcx, %rax
jb 0x3fc12
jmp 0x40825
cmpl $0x1, 0x18c(%rsp)
je 0x3fc2e
movq 0x120(%rsp), %rax
cmpq 0x180(%rsp), %rax
jb 0x3fc9e
cmpq $0x8, 0x118(%rsp)
jb 0x3fc9c
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movw 0x10(%rcx), %cx
movw %cx, 0x10(%rax)
movq 0x108(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x3f580
jmp 0x3fc9e
jmp 0x3fca0
cmpl $0x0, 0x138(%rsp)
je 0x3fcd0
movq 0x120(%rsp), %rax
addq 0x170(%rsp), %rax
cmpq 0x180(%rsp), %rax
setb %al
testb $0x1, %al
jne 0x3fccb
jmp 0x3fcd0
jmp 0x40ee8
cmpl $0x2, 0x18c(%rsp)
jne 0x3ff37
movq 0x120(%rsp), %rax
cmpq 0x180(%rsp), %rax
jae 0x3ff37
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x5, %rcx
cmpq %rcx, %rax
seta %al
testb $0x1, %al
jne 0x3fd1c
jmp 0x3fd81
cmpl $0x0, 0x190(%rsp)
je 0x3fd7c
movq 0x108(%rsp), %rax
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x3fd55
movq 0x108(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x3fd6d
movq 0x150(%rsp), %rax
movq 0x158(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x108(%rsp)
jmp 0x3fd81
jmp 0x40ee8
movq 0x108(%rsp), %rax
movq 0x180(%rsp), %rcx
movq 0x120(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
ja 0x3fdf6
movq 0x158(%rsp), %rdi
movq 0x140(%rsp), %rsi
movq 0x180(%rsp), %rcx
movq 0x120(%rsp), %rax
subq %rax, %rcx
xorl %eax, %eax
subq %rcx, %rax
addq %rax, %rsi
movq 0x108(%rsp), %rdx
callq 0x11a0
movq 0x108(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x3ff32
movq 0x180(%rsp), %rax
movq 0x120(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0xf8(%rsp)
movq 0x108(%rsp), %rax
subq 0xf8(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0x158(%rsp), %rdi
movq 0x140(%rsp), %rsi
xorl %eax, %eax
subq 0xf8(%rsp), %rax
addq %rax, %rsi
movq 0xf8(%rsp), %rdx
callq 0x1140
movq 0xf8(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0xf0(%rsp), %rax
movq 0x158(%rsp), %rcx
movq 0x180(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jbe 0x3fefb
movq 0x158(%rsp), %rax
addq 0xf0(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x180(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x158(%rsp), %rax
cmpq 0xe8(%rsp), %rax
jae 0x3fef9
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movb (%rax), %cl
movq 0x158(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x158(%rsp)
movb %cl, (%rax)
jmp 0x3feb3
jmp 0x3ff30
movq 0x158(%rsp), %rdi
movq 0x180(%rsp), %rsi
movq 0xf0(%rsp), %rdx
callq 0x1140
movq 0xf0(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x3ff32
jmp 0x3f580
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x148(%rsp)
cmpq $0x10, 0x118(%rsp)
setb %al
testb $0x1, %al
jne 0x3ff61
jmp 0x3ff88
movq 0x158(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq 0x148(%rsp), %rdx
movq 0x118(%rsp), %rcx
callq 0x471e0
jmp 0x3ffa5
movq 0x158(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq 0x148(%rsp), %rdx
callq 0x470f0
movq 0x148(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x3f580
movq 0x168(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x168(%rsp)
movzbl (%rax), %eax
movl %eax, 0x114(%rsp)
movl 0x114(%rsp), %eax
shrl $0x4, %eax
movl %eax, %eax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0x194(%rsp)
je 0x40009
cmpq $0xf, 0x108(%rsp)
jne 0x40018
jmp 0x401db
cmpq $0x8, 0x108(%rsp)
ja 0x401db
cmpl $0x0, 0x194(%rsp)
je 0x40040
movq 0x168(%rsp), %rax
cmpq 0x130(%rsp), %rax
setb %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0x14(%rsp)
jmp 0x4004b
movl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x4004b
movl 0x14(%rsp), %eax
movq 0x158(%rsp), %rcx
cmpq 0x128(%rsp), %rcx
setbe %cl
andb $0x1, %cl
movzbl %cl, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
setne %al
testb $0x1, %al
jne 0x40079
jmp 0x401db
movq 0x158(%rsp), %rdi
movq 0x168(%rsp), %rsi
movl 0x194(%rsp), %edx
movl $0x8, %eax
movl $0x10, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movslq %eax, %rdx
callq 0x1140
movq 0x108(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x108(%rsp), %rax
addq 0x168(%rsp), %rax
movq %rax, 0x168(%rsp)
movl 0x114(%rsp), %eax
andl $0xf, %eax
movl %eax, %eax
movq %rax, 0x108(%rsp)
movq 0x168(%rsp), %rdi
callq 0x47180
movzwl %ax, %eax
movq %rax, 0x118(%rsp)
movq 0x168(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x168(%rsp)
movq 0x158(%rsp), %rax
xorl %ecx, %ecx
subq 0x118(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x120(%rsp)
cmpq $0xf, 0x108(%rsp)
je 0x401d6
cmpq $0x8, 0x118(%rsp)
jb 0x401d6
cmpl $0x1, 0x18c(%rsp)
je 0x4016f
movq 0x120(%rsp), %rax
cmpq 0x180(%rsp), %rax
jb 0x401d6
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movw 0x10(%rcx), %cx
movw %cx, 0x10(%rax)
movq 0x108(%rsp), %rax
addq $0x4, %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x3ffba
jmp 0x40658
cmpq $0xf, 0x108(%rsp)
jne 0x403c6
movl $0x0, 0xdc(%rsp)
movq 0x160(%rsp), %rdx
addq $-0xf, %rdx
movl 0x194(%rsp), %ecx
movl 0x194(%rsp), %eax
leaq 0x168(%rsp), %rsi
movq %rsi, 0x238(%rsp)
movq %rdx, 0x230(%rsp)
movl %ecx, 0x22c(%rsp)
movl %eax, 0x228(%rsp)
leaq 0xdc(%rsp), %rax
movq %rax, 0x220(%rsp)
movl $0x0, 0x21c(%rsp)
cmpl $0x0, 0x228(%rsp)
je 0x40297
movq 0x238(%rsp), %rax
movq (%rax), %rax
cmpq 0x230(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x40276
jmp 0x40297
movq 0x220(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x21c(%rsp), %eax
movl %eax, 0x244(%rsp)
jmp 0x40338
jmp 0x40299
movq 0x238(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x218(%rsp)
movq 0x238(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x218(%rsp), %eax
addl 0x21c(%rsp), %eax
movl %eax, 0x21c(%rsp)
cmpl $0x0, 0x22c(%rsp)
je 0x40319
movq 0x238(%rsp), %rax
movq (%rax), %rax
cmpq 0x230(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x402fb
jmp 0x40319
movq 0x220(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x21c(%rsp), %eax
movl %eax, 0x244(%rsp)
jmp 0x40338
cmpl $0xff, 0x218(%rsp)
je 0x40299
movl 0x21c(%rsp), %eax
movl %eax, 0x244(%rsp)
movl 0x244(%rsp), %eax
addq 0x108(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $-0x1, 0xdc(%rsp)
jne 0x4035e
jmp 0x40ee8
cmpl $0x0, 0x13c(%rsp)
je 0x40391
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x158(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x4038c
jmp 0x40391
jmp 0x40ee8
cmpl $0x0, 0x13c(%rsp)
je 0x403c4
movq 0x168(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x168(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x403bf
jmp 0x403c4
jmp 0x40ee8
jmp 0x403c6
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x148(%rsp)
cmpl $0x0, 0x194(%rsp)
je 0x40422
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0xc, %rcx
cmpq %rcx, %rax
ja 0x4044d
movq 0x168(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x160(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
ja 0x4044d
cmpl $0x0, 0x194(%rsp)
jne 0x405b6
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
jbe 0x405b6
cmpl $0x0, 0x190(%rsp)
je 0x404d6
movq 0x168(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x160(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
jbe 0x40497
movq 0x168(%rsp), %rax
addq 0x108(%rsp), %rax
cmpq 0x160(%rsp), %rax
je 0x40497
jmp 0x40ee8
movq 0x148(%rsp), %rax
cmpq 0x150(%rsp), %rax
jbe 0x404d4
movq 0x150(%rsp), %rax
movq %rax, 0x148(%rsp)
movq 0x150(%rsp), %rax
movq 0x158(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x108(%rsp)
jmp 0x40534
cmpl $0x0, 0x194(%rsp)
jne 0x404f7
movq 0x148(%rsp), %rax
cmpq 0x150(%rsp), %rax
je 0x404f7
jmp 0x40ee8
cmpl $0x0, 0x194(%rsp)
je 0x40532
movq 0x168(%rsp), %rax
addq 0x108(%rsp), %rax
cmpq 0x160(%rsp), %rax
jne 0x4052d
movq 0x148(%rsp), %rax
cmpq 0x150(%rsp), %rax
jbe 0x40532
jmp 0x40ee8
jmp 0x40534
movq 0x158(%rsp), %rdi
movq 0x168(%rsp), %rsi
movq 0x108(%rsp), %rdx
callq 0x11a0
movq 0x108(%rsp), %rax
addq 0x168(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x108(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
cmpl $0x0, 0x190(%rsp)
je 0x405af
movq 0x148(%rsp), %rax
cmpq 0x150(%rsp), %rax
je 0x405af
movq 0x168(%rsp), %rax
cmpq 0x160(%rsp), %rax
jne 0x405b4
jmp 0x40ea6
jmp 0x405fb
movq 0x158(%rsp), %rdi
movq 0x168(%rsp), %rsi
movq 0x148(%rsp), %rdx
callq 0x46de0
movq 0x108(%rsp), %rax
addq 0x168(%rsp), %rax
movq %rax, 0x168(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x168(%rsp), %rdi
callq 0x47180
movzwl %ax, %eax
movq %rax, 0x118(%rsp)
movq 0x168(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x168(%rsp)
movq 0x158(%rsp), %rax
xorl %ecx, %ecx
subq 0x118(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x120(%rsp)
movl 0x114(%rsp), %eax
andl $0xf, %eax
movl %eax, %eax
movq %rax, 0x108(%rsp)
cmpq $0xf, 0x108(%rsp)
jne 0x40811
movl $0x0, 0xd8(%rsp)
movq 0x160(%rsp), %rcx
addq $-0x5, %rcx
addq $0x1, %rcx
movl 0x194(%rsp), %eax
leaq 0x168(%rsp), %rdx
movq %rdx, 0x268(%rsp)
movq %rcx, 0x260(%rsp)
movl %eax, 0x25c(%rsp)
movl $0x0, 0x258(%rsp)
leaq 0xd8(%rsp), %rax
movq %rax, 0x250(%rsp)
movl $0x0, 0x24c(%rsp)
cmpl $0x0, 0x258(%rsp)
je 0x40715
movq 0x268(%rsp), %rax
movq (%rax), %rax
cmpq 0x260(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x406f4
jmp 0x40715
movq 0x250(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x24c(%rsp), %eax
movl %eax, 0x274(%rsp)
jmp 0x407b6
jmp 0x40717
movq 0x268(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x248(%rsp)
movq 0x268(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x248(%rsp), %eax
addl 0x24c(%rsp), %eax
movl %eax, 0x24c(%rsp)
cmpl $0x0, 0x25c(%rsp)
je 0x40797
movq 0x268(%rsp), %rax
movq (%rax), %rax
cmpq 0x260(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x40779
jmp 0x40797
movq 0x250(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x24c(%rsp), %eax
movl %eax, 0x274(%rsp)
jmp 0x407b6
cmpl $0xff, 0x248(%rsp)
je 0x40717
movl 0x24c(%rsp), %eax
movl %eax, 0x274(%rsp)
movl 0x274(%rsp), %eax
addq 0x108(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0xd8(%rsp)
je 0x407dc
jmp 0x40ee8
cmpl $0x0, 0x13c(%rsp)
je 0x4080f
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x158(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x4080a
jmp 0x4080f
jmp 0x40ee8
jmp 0x40811
movq 0x108(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0x138(%rsp)
je 0x40855
movq 0x120(%rsp), %rax
addq 0x170(%rsp), %rax
cmpq 0x180(%rsp), %rax
setb %al
testb $0x1, %al
jne 0x40850
jmp 0x40855
jmp 0x40ee8
cmpl $0x2, 0x18c(%rsp)
jne 0x40abc
movq 0x120(%rsp), %rax
cmpq 0x180(%rsp), %rax
jae 0x40abc
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x5, %rcx
cmpq %rcx, %rax
seta %al
testb $0x1, %al
jne 0x408a1
jmp 0x40906
cmpl $0x0, 0x190(%rsp)
je 0x40901
movq 0x108(%rsp), %rax
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x408da
movq 0x108(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x408f2
movq 0x150(%rsp), %rax
movq 0x158(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x108(%rsp)
jmp 0x40906
jmp 0x40ee8
movq 0x108(%rsp), %rax
movq 0x180(%rsp), %rcx
movq 0x120(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
ja 0x4097b
movq 0x158(%rsp), %rdi
movq 0x140(%rsp), %rsi
movq 0x180(%rsp), %rcx
movq 0x120(%rsp), %rax
subq %rax, %rcx
xorl %eax, %eax
subq %rcx, %rax
addq %rax, %rsi
movq 0x108(%rsp), %rdx
callq 0x11a0
movq 0x108(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x40ab7
movq 0x180(%rsp), %rax
movq 0x120(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0xd0(%rsp)
movq 0x108(%rsp), %rax
subq 0xd0(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0x158(%rsp), %rdi
movq 0x140(%rsp), %rsi
xorl %eax, %eax
subq 0xd0(%rsp), %rax
addq %rax, %rsi
movq 0xd0(%rsp), %rdx
callq 0x1140
movq 0xd0(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0xc8(%rsp), %rax
movq 0x158(%rsp), %rcx
movq 0x180(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jbe 0x40a80
movq 0x158(%rsp), %rax
addq 0xc8(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x180(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x158(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jae 0x40a7e
movq 0xb8(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xb8(%rsp)
movb (%rax), %cl
movq 0x158(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x158(%rsp)
movb %cl, (%rax)
jmp 0x40a38
jmp 0x40ab5
movq 0x158(%rsp), %rdi
movq 0x180(%rsp), %rsi
movq 0xc8(%rsp), %rdx
callq 0x1140
movq 0xc8(%rsp), %rax
addq 0x158(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x40ab7
jmp 0x3ffba
movq 0x158(%rsp), %rax
addq 0x108(%rsp), %rax
movq %rax, 0x148(%rsp)
cmpl $0x0, 0x190(%rsp)
je 0x40c25
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0xc, %rcx
cmpq %rcx, %rax
jbe 0x40c25
movq 0x108(%rsp), %rax
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x40b2d
movq 0x108(%rsp), %rax
movq %rax, (%rsp)
jmp 0x40b44
movq 0x150(%rsp), %rax
movq 0x158(%rsp), %rcx
subq %rcx, %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0x120(%rsp), %rax
addq 0xb0(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x158(%rsp), %rax
addq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0x158(%rsp), %rax
jbe 0x40bdc
jmp 0x40b94
movq 0x158(%rsp), %rax
cmpq 0xa0(%rsp), %rax
jae 0x40bda
movq 0x120(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x120(%rsp)
movb (%rax), %cl
movq 0x158(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x158(%rsp)
movb %cl, (%rax)
jmp 0x40b94
jmp 0x40bf9
movq 0x158(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq 0xb0(%rsp), %rdx
callq 0x1140
movq 0xa0(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x158(%rsp), %rax
cmpq 0x150(%rsp), %rax
jne 0x40c20
jmp 0x40ea6
jmp 0x3ffba
cmpq $0x8, 0x118(%rsp)
setb %al
testb $0x1, %al
jne 0x40c3a
jmp 0x40d0a
movq 0x158(%rsp), %rdi
xorl %esi, %esi
callq 0x46f40
movq 0x120(%rsp), %rax
movb (%rax), %cl
movq 0x158(%rsp), %rax
movb %cl, (%rax)
movq 0x120(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x158(%rsp), %rax
movb %cl, 0x1(%rax)
movq 0x120(%rsp), %rax
movb 0x2(%rax), %cl
movq 0x158(%rsp), %rax
movb %cl, 0x2(%rax)
movq 0x120(%rsp), %rax
movb 0x3(%rax), %cl
movq 0x158(%rsp), %rax
movb %cl, 0x3(%rax)
movq 0x118(%rsp), %rcx
leaq 0xc7d2(%rip), %rax      # 0x4d480
movl (%rax,%rcx,4), %ecx
movq 0x120(%rsp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0x120(%rsp)
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movl (%rcx), %ecx
movl %ecx, 0x4(%rax)
movq 0x118(%rsp), %rcx
leaq 0xc7b6(%rip), %rax      # 0x4d4a0
movl (%rax,%rcx,4), %ecx
movq 0x120(%rsp), %rax
movslq %ecx, %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0x120(%rsp)
jmp 0x40d34
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x120(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x120(%rsp)
movq 0x158(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x158(%rsp)
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0xc, %rcx
cmpq %rcx, %rax
seta %al
testb $0x1, %al
jne 0x40d6b
jmp 0x40e49
movq 0x150(%rsp), %rax
addq $-0x7, %rax
movq %rax, 0x98(%rsp)
movq 0x148(%rsp), %rax
movq 0x150(%rsp), %rcx
addq $-0x5, %rcx
cmpq %rcx, %rax
jbe 0x40d9d
jmp 0x40ee8
movq 0x158(%rsp), %rax
cmpq 0x98(%rsp), %rax
jae 0x40dff
movq 0x158(%rsp), %rdi
movq 0x120(%rsp), %rsi
movq 0x98(%rsp), %rdx
callq 0x46de0
movq 0x98(%rsp), %rax
movq 0x158(%rsp), %rcx
subq %rcx, %rax
addq 0x120(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x98(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x40e01
movq 0x158(%rsp), %rax
cmpq 0x148(%rsp), %rax
jae 0x40e47
movq 0x120(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x120(%rsp)
movb (%rax), %cl
movq 0x158(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x158(%rsp)
movb %cl, (%rax)
jmp 0x40e01
jmp 0x40e91
movq 0x158(%rsp), %rax
movq 0x120(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
cmpq $0x10, 0x108(%rsp)
jbe 0x40e8f
movq 0x158(%rsp), %rdi
addq $0x8, %rdi
movq 0x120(%rsp), %rsi
addq $0x8, %rsi
movq 0x148(%rsp), %rdx
callq 0x46de0
jmp 0x40e91
movq 0x148(%rsp), %rax
movq %rax, 0x158(%rsp)
jmp 0x3ffba
cmpl $0x0, 0x194(%rsp)
je 0x40ecc
movq 0x158(%rsp), %rax
movq 0x1a0(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x1b4(%rsp)
jmp 0x40f0a
movq 0x168(%rsp), %rax
movq 0x1a8(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x1b4(%rsp)
jmp 0x40f0a
movq 0x168(%rsp), %rcx
movq 0x1a8(%rsp), %rax
subq %rax, %rcx
xorl %eax, %eax
subq %rcx, %rax
subl $0x1, %eax
movl %eax, 0x1b4(%rsp)
movl 0x1b4(%rsp), %eax
movl %eax, 0x34(%rsp)
jmp 0x40f17
cmpl $0x0, 0x34(%rsp)
jg 0x40f2b
movl 0x34(%rsp), %eax
movl %eax, 0x64(%rsp)
jmp 0x40ff5
movslq 0x34(%rsp), %rcx
movq 0x38(%rsp), %rax
addq 0x18(%rax), %rcx
movq %rcx, 0x18(%rax)
movl 0x34(%rsp), %edx
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rax)
jmp 0x40feb
movq 0x38(%rsp), %rax
movq 0x18(%rax), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x38(%rsp), %rdx
xorl %eax, %eax
subq 0x8(%rdx), %rax
addq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, (%rax)
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movl 0x44(%rsp), %edx
movl 0x40(%rsp), %ecx
movq 0x38(%rsp), %rax
movq (%rax), %r8
movq 0x38(%rsp), %rax
movq 0x8(%rax), %r9
callq 0x3d3b0
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
jg 0x40fc7
movl 0x34(%rsp), %eax
movl %eax, 0x64(%rsp)
jmp 0x40ff5
movslq 0x34(%rsp), %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x48(%rsp), %rcx
movslq 0x34(%rsp), %rax
addq %rax, %rcx
movq 0x38(%rsp), %rax
movq %rcx, 0x10(%rax)
jmp 0x40fed
movl 0x34(%rsp), %eax
movl %eax, 0x64(%rsp)
movl 0x64(%rsp), %eax
addq $0x278, %rsp            # imm = 0x278
retq
nopw %cs:(%rax,%rax)