// File: /workspace/github_c_makefile_star2_O0/bluecmd[P]fst-example/gtkwave/lz4.c
// Function: LZ4_compress_fast_extState
int LZ4_compress_fast_extState(void* state, const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
{
    LZ4_resetStream((LZ4_stream_t*)state);
    if (acceleration < 1) acceleration = ACCELERATION_DEFAULT;

    if (maxOutputSize >= LZ4_compressBound(inputSize))
    {
        if (inputSize < LZ4_64Klimit)
            return LZ4_compress_generic(state, source, dest, inputSize, 0, notLimited, byU16,                        noDict, noDictIssue, acceleration);
        else
            return LZ4_compress_generic(state, source, dest, inputSize, 0, notLimited, LZ4_64bits() ? byU32 : byPtr, noDict, noDictIssue, acceleration);
    }
    else
    {
        if (inputSize < LZ4_64Klimit)
            return LZ4_compress_generic(state, source, dest, inputSize, maxOutputSize, limitedOutput, byU16,                        noDict, noDictIssue, acceleration);
        else
            return LZ4_compress_generic(state, source, dest, inputSize, maxOutputSize, limitedOutput, LZ4_64bits() ? byU32 : byPtr, noDict, noDictIssue, acceleration);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x550, %rsp            # imm = 0x550
movq %rdi, -0x450(%rbp)
movq %rsi, -0x458(%rbp)
movq %rdx, -0x460(%rbp)
movl %ecx, -0x464(%rbp)
movl %r8d, -0x468(%rbp)
movl %r9d, -0x46c(%rbp)
movq -0x450(%rbp), %rdi
callq 0x16100
cmpl $0x1, -0x46c(%rbp)
jge 0x12f73
movl $0x1, -0x46c(%rbp)
movl -0x468(%rbp), %eax
movl %eax, -0x470(%rbp)
movl -0x464(%rbp), %edi
callq 0x12ed0
movl %eax, %ecx
movl -0x470(%rbp), %eax
cmpl %ecx, %eax
jl 0x14761
cmpl $0x1000b, -0x464(%rbp)  # imm = 0x1000B
jge 0x13a88
movq -0x450(%rbp), %rdi
movq -0x458(%rbp), %rsi
movq -0x460(%rbp), %rdx
movl -0x464(%rbp), %ecx
movl -0x46c(%rbp), %eax
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movl $0x2, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
movl $0x0, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x48(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq -0x18(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x80(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x50(%rbp), %rax
movslq -0x24(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0xa0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq $0x0, -0xc0(%rbp)
cmpl $0x7e000000, -0x24(%rbp) # imm = 0x7E000000
jbe 0x130e0
movl $0x0, -0x4(%rbp)
jmp 0x13a7a
movl -0x34(%rbp), %eax
movl %eax, -0x474(%rbp)
testl %eax, %eax
je 0x13109
jmp 0x130ef
movl -0x474(%rbp), %eax
subl $0x1, %eax
je 0x1311d
jmp 0x130fc
movl -0x474(%rbp), %eax
subl $0x2, %eax
je 0x13157
jmp 0x1310b
jmp 0x1310b
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x1317b
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x60(%rbp)
jmp 0x1317b
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
cmpl $0x2, -0x30(%rbp)
jne 0x13196
cmpl $0x1000b, -0x24(%rbp)   # imm = 0x1000B
jl 0x13196
movl $0x0, -0x4(%rbp)
jmp 0x13a7a
cmpl $0xd, -0x24(%rbp)
jge 0x131a1
jmp 0x13907
movq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x17d10
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x282d0
movl %eax, -0xb4(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0xd8(%rbp)
movl $0x1, -0xdc(%rbp)
movl -0x3c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0xe0(%rbp)
movl -0xb4(%rbp), %eax
movl %eax, -0xe4(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0x50(%rbp)
movl -0xdc(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0xd8(%rbp)
movl -0xe0(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xe0(%rbp)
shrl $0x6, %eax
movl %eax, -0xdc(%rbp)
movq -0xd8(%rbp), %rax
cmpq -0x98(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x13255
jmp 0x1325a
jmp 0x13907
movl -0xe4(%rbp), %edi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x28300
movq %rax, -0xc8(%rbp)
cmpl $0x2, -0x34(%rbp)
jne 0x132b4
movq -0xc8(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x1329f
movq -0x80(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x132b2
movq $0x0, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x132b4
movq -0xd8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x282d0
movl %eax, -0xb4(%rbp)
movq -0x50(%rbp), %rdi
movl -0xe4(%rbp), %esi
movq -0x10(%rbp), %rdx
movl -0x30(%rbp), %ecx
movq -0x58(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x38(%rbp)
jne 0x13300
movq -0xc8(%rbp), %rcx
movb $0x1, %al
cmpq -0x68(%rbp), %rcx
movb %al, -0x475(%rbp)
jb 0x1335b
jmp 0x13302
jmp 0x13302
cmpl $0x2, -0x30(%rbp)
jne 0x1330a
jmp 0x13326
movq -0xc8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x50(%rbp), %rcx
movb %al, -0x475(%rbp)
jb 0x1335b
movq -0xc8(%rbp), %rdi
addq -0xc0(%rbp), %rdi
callq 0x28420
movl %eax, -0x47c(%rbp)
movq -0x50(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x47c(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x475(%rbp)
movb -0x475(%rbp), %al
testb $0x1, %al
jne 0x131f4
jmp 0x1336b
movq -0x50(%rbp), %rcx
xorl %eax, %eax
cmpq -0x88(%rbp), %rcx
movb %al, -0x47d(%rbp)
jbe 0x133c5
movq -0xc8(%rbp), %rcx
addq -0xc0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x60(%rbp), %rcx
movb %al, -0x47d(%rbp)
jbe 0x133c5
movq -0x50(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0xc8(%rbp), %rcx
movq -0xc0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x47d(%rbp)
movb -0x47d(%rbp), %al
testb $0x1, %al
jne 0x133d1
jmp 0x133f4
movq -0x50(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x50(%rbp)
movq -0xc8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0xc8(%rbp)
jmp 0x1336b
movq -0x50(%rbp), %rax
movq -0x88(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0xe8(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movq %rax, -0xd0(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x1347e
movq -0xa8(%rbp), %rax
movl -0xe8(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x488(%rbp)
movl -0xe8(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x488(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0xb0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x13472
jmp 0x1347e
movl $0x0, -0x4(%rbp)
jmp 0x13a7a
cmpl $0xf, -0xe8(%rbp)
jb 0x134f8
movl -0xe8(%rbp), %eax
subl $0xf, %eax
movl %eax, -0xec(%rbp)
movq -0xd0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0xec(%rbp)
jl 0x134d7
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movl -0xec(%rbp), %eax
subl $0xff, %eax
movl %eax, -0xec(%rbp)
jmp 0x134a0
movl -0xec(%rbp), %eax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
jmp 0x1350c
movl -0xe8(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0xd0(%rbp), %rax
movb %cl, (%rax)
movq -0xa8(%rbp), %rdi
movq -0x88(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movl -0xe8(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0xe8(%rbp), %ecx
movq -0xa8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
movq -0x50(%rbp), %rax
movq -0xc8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0xa8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0xa8(%rbp)
cmpl $0x2, -0x34(%rbp)
jne 0x13667
movq -0x60(%rbp), %rax
cmpq -0x70(%rbp), %rax
jne 0x13667
movq -0xc0(%rbp), %rax
addq -0xc8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x50(%rbp), %rax
movq -0x78(%rbp), %rcx
movq -0xc8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
cmpq -0xa0(%rbp), %rax
jbe 0x135de
movq -0xa0(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x50(%rbp), %rdi
addq $0x4, %rdi
movq -0xc8(%rbp), %rsi
addq $0x4, %rsi
movq -0xf8(%rbp), %rdx
callq 0x28510
movl %eax, -0xf0(%rbp)
movl -0xf0(%rbp), %ecx
addl $0x4, %ecx
movq -0x50(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
cmpq -0xf8(%rbp), %rax
jne 0x13665
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0xa0(%rbp), %rdx
callq 0x28510
movl %eax, -0xfc(%rbp)
movl -0xfc(%rbp), %eax
addl -0xf0(%rbp), %eax
movl %eax, -0xf0(%rbp)
movl -0xfc(%rbp), %ecx
movq -0x50(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
jmp 0x136a2
movq -0x50(%rbp), %rdi
addq $0x4, %rdi
movq -0xc8(%rbp), %rsi
addq $0x4, %rsi
movq -0xa0(%rbp), %rdx
callq 0x28510
movl %eax, -0xf0(%rbp)
movl -0xf0(%rbp), %ecx
addl $0x4, %ecx
movq -0x50(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x136dd
movq -0xa8(%rbp), %rax
addq $0x6, %rax
movl -0xf0(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0xb0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x136d1
jmp 0x136dd
movl $0x0, -0x4(%rbp)
jmp 0x13a7a
cmpl $0xf, -0xf0(%rbp)
jb 0x137ad
movq -0xd0(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0xf0(%rbp), %eax
subl $0xf, %eax
movl %eax, -0xf0(%rbp)
cmpl $0x1fe, -0xf0(%rbp)     # imm = 0x1FE
jb 0x13757
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movl -0xf0(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0xf0(%rbp)
jmp 0x13708
cmpl $0xff, -0xf0(%rbp)
jb 0x1378c
movl -0xf0(%rbp), %eax
subl $0xff, %eax
movl %eax, -0xf0(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movl -0xf0(%rbp), %eax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
jmp 0x137c4
movl -0xf0(%rbp), %eax
movzbl %al, %edx
movq -0xd0(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x50(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x50(%rbp), %rax
cmpq -0x98(%rbp), %rax
jbe 0x137e1
jmp 0x13907
movq -0x50(%rbp), %rdi
addq $-0x2, %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x17d10
movq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x286b0
movq %rax, -0xc8(%rbp)
cmpl $0x2, -0x34(%rbp)
jne 0x13851
movq -0xc8(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x1383c
movq -0x80(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x1384f
movq $0x0, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x13851
movq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x38(%rbp)
jne 0x1387a
movq -0xc8(%rbp), %rax
cmpq -0x68(%rbp), %rax
jae 0x1387c
jmp 0x138e8
jmp 0x1387c
movq -0xc8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x50(%rbp), %rax
jb 0x138e8
movq -0xc8(%rbp), %rdi
addq -0xc0(%rbp), %rdi
callq 0x28420
movl %eax, -0x48c(%rbp)
movq -0x50(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x48c(%rbp), %eax
cmpl %ecx, %eax
jne 0x138e8
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
movb $0x0, (%rax)
jmp 0x13548
movq -0x50(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x50(%rbp)
movl -0x30(%rbp), %esi
callq 0x282d0
movl %eax, -0xb4(%rbp)
jmp 0x131d3
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x108(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x13981
movq -0xa8(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
addq -0x108(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x498(%rbp)
movq -0x108(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x498(%rbp), %rax
addq %rcx, %rax
movl -0x28(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x13981
movl $0x0, -0x4(%rbp)
jmp 0x13a7a
cmpq $0xf, -0x108(%rbp)
jb 0x13a16
movq -0x108(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x110(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x110(%rbp)
jb 0x139f4
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movq -0x110(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x110(%rbp)
jmp 0x139b9
movq -0x110(%rbp), %rax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
jmp 0x13a3a
movq -0x108(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
movq -0xa8(%rbp), %rdi
movq -0x88(%rbp), %rsi
movq -0x108(%rbp), %rdx
callq 0x2250
movq -0x108(%rbp), %rax
addq -0xa8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x444(%rbp)
jmp 0x160e6
movq -0x450(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movq -0x460(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movl -0x464(%rbp), %eax
movl %eax, -0x49c(%rbp)
callq 0x16130
movq -0x4b8(%rbp), %r8
movq -0x4b0(%rbp), %rdi
movq -0x4a8(%rbp), %rsi
movl -0x49c(%rbp), %edx
movl %eax, %r9d
xorl %ecx, %ecx
movl $0x1, %eax
cmpl $0x0, %r9d
cmovnel %eax, %ecx
movl -0x46c(%rbp), %eax
movq %r8, -0x120(%rbp)
movq %rdi, -0x128(%rbp)
movq %rsi, -0x130(%rbp)
movl %edx, -0x134(%rbp)
movl $0x0, -0x138(%rbp)
movl $0x0, -0x13c(%rbp)
movl %ecx, -0x140(%rbp)
movl $0x0, -0x144(%rbp)
movl $0x0, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
movq -0x120(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x178(%rbp)
movq -0x158(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x180(%rbp)
movq -0x180(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
movq -0x128(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x190(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x160(%rbp), %rax
movslq -0x134(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x1a8(%rbp)
movq -0x1a0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x1b0(%rbp)
movq -0x130(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movslq -0x138(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x1c0(%rbp)
movq $0x0, -0x1d0(%rbp)
cmpl $0x7e000000, -0x134(%rbp) # imm = 0x7E000000
jbe 0x13c66
movl $0x0, -0x114(%rbp)
jmp 0x14750
movl -0x144(%rbp), %eax
movl %eax, -0x4bc(%rbp)
testl %eax, %eax
je 0x13c92
jmp 0x13c78
movl -0x4bc(%rbp), %eax
subl $0x1, %eax
je 0x13cb2
jmp 0x13c85
movl -0x4bc(%rbp), %eax
subl $0x2, %eax
je 0x13cfe
jmp 0x13c94
jmp 0x13c94
movq -0x128(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x13d31
movq -0x128(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x170(%rbp)
jmp 0x13d31
movq -0x128(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
cmpl $0x2, -0x140(%rbp)
jne 0x13d55
cmpl $0x1000b, -0x134(%rbp)  # imm = 0x1000B
jl 0x13d55
movl $0x0, -0x114(%rbp)
jmp 0x14750
cmpl $0xd, -0x134(%rbp)
jge 0x13d63
jmp 0x145cb
movq -0x160(%rbp), %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x17d10
movq -0x160(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdi
movl -0x140(%rbp), %esi
callq 0x282d0
movl %eax, -0x1c4(%rbp)
movq -0x160(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movl $0x1, -0x1ec(%rbp)
movl -0x14c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x1f0(%rbp)
movl -0x1c4(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movq -0x1e8(%rbp), %rax
movq %rax, -0x160(%rbp)
movl -0x1ec(%rbp), %ecx
movq -0x1e8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x1e8(%rbp)
movl -0x1f0(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x1f0(%rbp)
shrl $0x6, %eax
movl %eax, -0x1ec(%rbp)
movq -0x1e8(%rbp), %rax
cmpq -0x1a8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x13e38
jmp 0x13e3d
jmp 0x145cb
movl -0x1f4(%rbp), %edi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x28300
movq %rax, -0x1d8(%rbp)
cmpl $0x2, -0x144(%rbp)
jne 0x13eb5
movq -0x1d8(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x13e9a
movq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x13eb3
movq $0x0, -0x1d0(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x13eb5
movq -0x1e8(%rbp), %rdi
movl -0x140(%rbp), %esi
callq 0x282d0
movl %eax, -0x1c4(%rbp)
movq -0x160(%rbp), %rdi
movl -0x1f4(%rbp), %esi
movq -0x120(%rbp), %rdx
movl -0x140(%rbp), %ecx
movq -0x168(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x148(%rbp)
jne 0x13f16
movq -0x1d8(%rbp), %rcx
movb $0x1, %al
cmpq -0x178(%rbp), %rcx
movb %al, -0x4bd(%rbp)
jb 0x13f7a
jmp 0x13f18
jmp 0x13f18
cmpl $0x2, -0x140(%rbp)
jne 0x13f23
jmp 0x13f42
movq -0x1d8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x160(%rbp), %rcx
movb %al, -0x4bd(%rbp)
jb 0x13f7a
movq -0x1d8(%rbp), %rdi
addq -0x1d0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4c4(%rbp)
movq -0x160(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4c4(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x4bd(%rbp)
movb -0x4bd(%rbp), %al
testb $0x1, %al
jne 0x13dd4
jmp 0x13f8a
movq -0x160(%rbp), %rcx
xorl %eax, %eax
cmpq -0x198(%rbp), %rcx
movb %al, -0x4c5(%rbp)
jbe 0x13fed
movq -0x1d8(%rbp), %rcx
addq -0x1d0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x170(%rbp), %rcx
movb %al, -0x4c5(%rbp)
jbe 0x13fed
movq -0x160(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x1d8(%rbp), %rcx
movq -0x1d0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x4c5(%rbp)
movb -0x4c5(%rbp), %al
testb $0x1, %al
jne 0x13ff9
jmp 0x14022
movq -0x160(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x160(%rbp)
movq -0x1d8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x1d8(%rbp)
jmp 0x13f8a
movq -0x160(%rbp), %rax
movq -0x198(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x1f8(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movq %rax, -0x1e0(%rbp)
cmpl $0x0, -0x13c(%rbp)
je 0x140b5
movq -0x1b8(%rbp), %rax
movl -0x1f8(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x4d0(%rbp)
movl -0x1f8(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x4d0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x1c0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x140a6
jmp 0x140b5
movl $0x0, -0x114(%rbp)
jmp 0x14750
cmpl $0xf, -0x1f8(%rbp)
jb 0x1412f
movl -0x1f8(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x1fc(%rbp)
movq -0x1e0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x1fc(%rbp)
jl 0x1410e
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movl -0x1fc(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x1fc(%rbp)
jmp 0x140d7
movl -0x1fc(%rbp), %eax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
jmp 0x14143
movl -0x1f8(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x1e0(%rbp), %rax
movb %cl, (%rax)
movq -0x1b8(%rbp), %rdi
movq -0x198(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
movl -0x1f8(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0x1f8(%rbp), %ecx
movq -0x1b8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rdi
movq -0x160(%rbp), %rax
movq -0x1d8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0x1b8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x1b8(%rbp)
cmpl $0x2, -0x144(%rbp)
jne 0x142c8
movq -0x170(%rbp), %rax
cmpq -0x180(%rbp), %rax
jne 0x142c8
movq -0x1d0(%rbp), %rax
addq -0x1d8(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x160(%rbp), %rax
movq -0x188(%rbp), %rcx
movq -0x1d8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
cmpq -0x1b0(%rbp), %rax
jbe 0x14227
movq -0x1b0(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x160(%rbp), %rdi
addq $0x4, %rdi
movq -0x1d8(%rbp), %rsi
addq $0x4, %rsi
movq -0x208(%rbp), %rdx
callq 0x28510
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %ecx
addl $0x4, %ecx
movq -0x160(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rax
cmpq -0x208(%rbp), %rax
jne 0x142c6
movq -0x160(%rbp), %rdi
movq -0x128(%rbp), %rsi
movq -0x1b0(%rbp), %rdx
callq 0x28510
movl %eax, -0x20c(%rbp)
movl -0x20c(%rbp), %eax
addl -0x200(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x20c(%rbp), %ecx
movq -0x160(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
jmp 0x1430c
movq -0x160(%rbp), %rdi
addq $0x4, %rdi
movq -0x1d8(%rbp), %rsi
addq $0x4, %rsi
movq -0x1b0(%rbp), %rdx
callq 0x28510
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %ecx
addl $0x4, %ecx
movq -0x160(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
cmpl $0x0, -0x13c(%rbp)
je 0x1434d
movq -0x1b8(%rbp), %rax
addq $0x6, %rax
movl -0x200(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x1c0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x1433e
jmp 0x1434d
movl $0x0, -0x114(%rbp)
jmp 0x14750
cmpl $0xf, -0x200(%rbp)
jb 0x1441d
movq -0x1e0(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x200(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x200(%rbp)
cmpl $0x1fe, -0x200(%rbp)    # imm = 0x1FE
jb 0x143c7
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movl -0x200(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0x200(%rbp)
jmp 0x14378
cmpl $0xff, -0x200(%rbp)
jb 0x143fc
movl -0x200(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x200(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movl -0x200(%rbp), %eax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
jmp 0x14434
movl -0x200(%rbp), %eax
movzbl %al, %edx
movq -0x1e0(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x160(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x160(%rbp), %rax
cmpq -0x1a8(%rbp), %rax
jbe 0x14457
jmp 0x145cb
movq -0x160(%rbp), %rdi
addq $-0x2, %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x17d10
movq -0x160(%rbp), %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x286b0
movq %rax, -0x1d8(%rbp)
cmpl $0x2, -0x144(%rbp)
jne 0x144f4
movq -0x1d8(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x144d9
movq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x144f2
movq $0x0, -0x1d0(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x144f4
movq -0x160(%rbp), %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x148(%rbp)
jne 0x1452f
movq -0x1d8(%rbp), %rax
cmpq -0x178(%rbp), %rax
jae 0x14531
jmp 0x145a3
jmp 0x14531
movq -0x1d8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x160(%rbp), %rax
jb 0x145a3
movq -0x1d8(%rbp), %rdi
addq -0x1d0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4d4(%rbp)
movq -0x160(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4d4(%rbp), %eax
cmpl %ecx, %eax
jne 0x145a3
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movq %rax, -0x1e0(%rbp)
movq -0x1e0(%rbp), %rax
movb $0x0, (%rax)
jmp 0x1417f
movq -0x160(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x160(%rbp)
movl -0x140(%rbp), %esi
callq 0x282d0
movl %eax, -0x1c4(%rbp)
jmp 0x13dad
movq -0x1a0(%rbp), %rax
movq -0x198(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x218(%rbp)
cmpl $0x0, -0x13c(%rbp)
je 0x14651
movq -0x1b8(%rbp), %rax
movq -0x130(%rbp), %rcx
subq %rcx, %rax
addq -0x218(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x4e0(%rbp)
movq -0x218(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x4e0(%rbp), %rax
addq %rcx, %rax
movl -0x138(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x14651
movl $0x0, -0x114(%rbp)
jmp 0x14750
cmpq $0xf, -0x218(%rbp)
jb 0x146e6
movq -0x218(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x220(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x220(%rbp)
jb 0x146c4
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movq -0x220(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x220(%rbp)
jmp 0x14689
movq -0x220(%rbp), %rax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
jmp 0x1470a
movq -0x218(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
movq -0x1b8(%rbp), %rdi
movq -0x198(%rbp), %rsi
movq -0x218(%rbp), %rdx
callq 0x2250
movq -0x218(%rbp), %rax
addq -0x1b8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movq -0x130(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x114(%rbp)
movl -0x114(%rbp), %eax
movl %eax, -0x444(%rbp)
jmp 0x160e6
cmpl $0x1000b, -0x464(%rbp)  # imm = 0x1000B
jge 0x15404
movq -0x450(%rbp), %r8
movq -0x458(%rbp), %rdi
movq -0x460(%rbp), %rsi
movl -0x464(%rbp), %edx
movl -0x468(%rbp), %ecx
movl -0x46c(%rbp), %eax
movq %r8, -0x230(%rbp)
movq %rdi, -0x238(%rbp)
movq %rsi, -0x240(%rbp)
movl %edx, -0x244(%rbp)
movl %ecx, -0x248(%rbp)
movl $0x1, -0x24c(%rbp)
movl $0x2, -0x250(%rbp)
movl $0x0, -0x254(%rbp)
movl $0x0, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
movq -0x230(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x288(%rbp)
movq -0x268(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x290(%rbp)
movq -0x290(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x298(%rbp)
movq -0x298(%rbp), %rax
movq -0x238(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x2a0(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x270(%rbp), %rax
movslq -0x244(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x2b0(%rbp)
movq -0x2b0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x2b8(%rbp)
movq -0x2b0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x2c0(%rbp)
movq -0x240(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rax
movslq -0x248(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x2d0(%rbp)
movq $0x0, -0x2e0(%rbp)
cmpl $0x7e000000, -0x244(%rbp) # imm = 0x7E000000
jbe 0x14909
movl $0x0, -0x224(%rbp)
jmp 0x153f3
movl -0x254(%rbp), %eax
movl %eax, -0x4e4(%rbp)
testl %eax, %eax
je 0x14935
jmp 0x1491b
movl -0x4e4(%rbp), %eax
subl $0x1, %eax
je 0x14955
jmp 0x14928
movl -0x4e4(%rbp), %eax
subl $0x2, %eax
je 0x149a1
jmp 0x14937
jmp 0x14937
movq -0x238(%rbp), %rax
movq %rax, -0x278(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x149d4
movq -0x238(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x278(%rbp)
movq -0x238(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x280(%rbp)
jmp 0x149d4
movq -0x238(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x278(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
cmpl $0x2, -0x250(%rbp)
jne 0x149f8
cmpl $0x1000b, -0x244(%rbp)  # imm = 0x1000B
jl 0x149f8
movl $0x0, -0x224(%rbp)
jmp 0x153f3
cmpl $0xd, -0x244(%rbp)
jge 0x14a06
jmp 0x1526e
movq -0x270(%rbp), %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x17d10
movq -0x270(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rdi
movl -0x250(%rbp), %esi
callq 0x282d0
movl %eax, -0x2d4(%rbp)
movq -0x270(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movl $0x1, -0x2fc(%rbp)
movl -0x25c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x300(%rbp)
movl -0x2d4(%rbp), %eax
movl %eax, -0x304(%rbp)
movq -0x2f8(%rbp), %rax
movq %rax, -0x270(%rbp)
movl -0x2fc(%rbp), %ecx
movq -0x2f8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x2f8(%rbp)
movl -0x300(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x300(%rbp)
shrl $0x6, %eax
movl %eax, -0x2fc(%rbp)
movq -0x2f8(%rbp), %rax
cmpq -0x2b8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x14adb
jmp 0x14ae0
jmp 0x1526e
movl -0x304(%rbp), %edi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x28300
movq %rax, -0x2e8(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x14b58
movq -0x2e8(%rbp), %rax
cmpq -0x238(%rbp), %rax
jae 0x14b3d
movq -0x2a0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x14b56
movq $0x0, -0x2e0(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x14b58
movq -0x2f8(%rbp), %rdi
movl -0x250(%rbp), %esi
callq 0x282d0
movl %eax, -0x2d4(%rbp)
movq -0x270(%rbp), %rdi
movl -0x304(%rbp), %esi
movq -0x230(%rbp), %rdx
movl -0x250(%rbp), %ecx
movq -0x278(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x258(%rbp)
jne 0x14bb9
movq -0x2e8(%rbp), %rcx
movb $0x1, %al
cmpq -0x288(%rbp), %rcx
movb %al, -0x4e5(%rbp)
jb 0x14c1d
jmp 0x14bbb
jmp 0x14bbb
cmpl $0x2, -0x250(%rbp)
jne 0x14bc6
jmp 0x14be5
movq -0x2e8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x270(%rbp), %rcx
movb %al, -0x4e5(%rbp)
jb 0x14c1d
movq -0x2e8(%rbp), %rdi
addq -0x2e0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4ec(%rbp)
movq -0x270(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4ec(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x4e5(%rbp)
movb -0x4e5(%rbp), %al
testb $0x1, %al
jne 0x14a77
jmp 0x14c2d
movq -0x270(%rbp), %rcx
xorl %eax, %eax
cmpq -0x2a8(%rbp), %rcx
movb %al, -0x4ed(%rbp)
jbe 0x14c90
movq -0x2e8(%rbp), %rcx
addq -0x2e0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x280(%rbp), %rcx
movb %al, -0x4ed(%rbp)
jbe 0x14c90
movq -0x270(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x2e8(%rbp), %rcx
movq -0x2e0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x4ed(%rbp)
movb -0x4ed(%rbp), %al
testb $0x1, %al
jne 0x14c9c
jmp 0x14cc5
movq -0x270(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x270(%rbp)
movq -0x2e8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x2e8(%rbp)
jmp 0x14c2d
movq -0x270(%rbp), %rax
movq -0x2a8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x308(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movq %rax, -0x2f0(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x14d58
movq -0x2c8(%rbp), %rax
movl -0x308(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x4f8(%rbp)
movl -0x308(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x4f8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x2d0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x14d49
jmp 0x14d58
movl $0x0, -0x224(%rbp)
jmp 0x153f3
cmpl $0xf, -0x308(%rbp)
jb 0x14dd2
movl -0x308(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x30c(%rbp)
movq -0x2f0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x30c(%rbp)
jl 0x14db1
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movl -0x30c(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x30c(%rbp)
jmp 0x14d7a
movl -0x30c(%rbp), %eax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
jmp 0x14de6
movl -0x308(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x2f0(%rbp), %rax
movb %cl, (%rax)
movq -0x2c8(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
movq -0x2c8(%rbp), %rdx
movl -0x308(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0x308(%rbp), %ecx
movq -0x2c8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rdi
movq -0x270(%rbp), %rax
movq -0x2e8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0x2c8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x2c8(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x14f6b
movq -0x280(%rbp), %rax
cmpq -0x290(%rbp), %rax
jne 0x14f6b
movq -0x2e0(%rbp), %rax
addq -0x2e8(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x270(%rbp), %rax
movq -0x298(%rbp), %rcx
movq -0x2e8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x318(%rbp)
movq -0x318(%rbp), %rax
cmpq -0x2c0(%rbp), %rax
jbe 0x14eca
movq -0x2c0(%rbp), %rax
movq %rax, -0x318(%rbp)
movq -0x270(%rbp), %rdi
addq $0x4, %rdi
movq -0x2e8(%rbp), %rsi
addq $0x4, %rsi
movq -0x318(%rbp), %rdx
callq 0x28510
movl %eax, -0x310(%rbp)
movl -0x310(%rbp), %ecx
addl $0x4, %ecx
movq -0x270(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
cmpq -0x318(%rbp), %rax
jne 0x14f69
movq -0x270(%rbp), %rdi
movq -0x238(%rbp), %rsi
movq -0x2c0(%rbp), %rdx
callq 0x28510
movl %eax, -0x31c(%rbp)
movl -0x31c(%rbp), %eax
addl -0x310(%rbp), %eax
movl %eax, -0x310(%rbp)
movl -0x31c(%rbp), %ecx
movq -0x270(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
jmp 0x14faf
movq -0x270(%rbp), %rdi
addq $0x4, %rdi
movq -0x2e8(%rbp), %rsi
addq $0x4, %rsi
movq -0x2c0(%rbp), %rdx
callq 0x28510
movl %eax, -0x310(%rbp)
movl -0x310(%rbp), %ecx
addl $0x4, %ecx
movq -0x270(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x14ff0
movq -0x2c8(%rbp), %rax
addq $0x6, %rax
movl -0x310(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x2d0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x14fe1
jmp 0x14ff0
movl $0x0, -0x224(%rbp)
jmp 0x153f3
cmpl $0xf, -0x310(%rbp)
jb 0x150c0
movq -0x2f0(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x310(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x310(%rbp)
cmpl $0x1fe, -0x310(%rbp)    # imm = 0x1FE
jb 0x1506a
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movl -0x310(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0x310(%rbp)
jmp 0x1501b
cmpl $0xff, -0x310(%rbp)
jb 0x1509f
movl -0x310(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x310(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movl -0x310(%rbp), %eax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
jmp 0x150d7
movl -0x310(%rbp), %eax
movzbl %al, %edx
movq -0x2f0(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x270(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x270(%rbp), %rax
cmpq -0x2b8(%rbp), %rax
jbe 0x150fa
jmp 0x1526e
movq -0x270(%rbp), %rdi
addq $-0x2, %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x17d10
movq -0x270(%rbp), %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x286b0
movq %rax, -0x2e8(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x15197
movq -0x2e8(%rbp), %rax
cmpq -0x238(%rbp), %rax
jae 0x1517c
movq -0x2a0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x15195
movq $0x0, -0x2e0(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x15197
movq -0x270(%rbp), %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x258(%rbp)
jne 0x151d2
movq -0x2e8(%rbp), %rax
cmpq -0x288(%rbp), %rax
jae 0x151d4
jmp 0x15246
jmp 0x151d4
movq -0x2e8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x270(%rbp), %rax
jb 0x15246
movq -0x2e8(%rbp), %rdi
addq -0x2e0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4fc(%rbp)
movq -0x270(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4fc(%rbp), %eax
cmpl %ecx, %eax
jne 0x15246
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movq %rax, -0x2f0(%rbp)
movq -0x2f0(%rbp), %rax
movb $0x0, (%rax)
jmp 0x14e22
movq -0x270(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x270(%rbp)
movl -0x250(%rbp), %esi
callq 0x282d0
movl %eax, -0x2d4(%rbp)
jmp 0x14a50
movq -0x2b0(%rbp), %rax
movq -0x2a8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x328(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x152f4
movq -0x2c8(%rbp), %rax
movq -0x240(%rbp), %rcx
subq %rcx, %rax
addq -0x328(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x508(%rbp)
movq -0x328(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x508(%rbp), %rax
addq %rcx, %rax
movl -0x248(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x152f4
movl $0x0, -0x224(%rbp)
jmp 0x153f3
cmpq $0xf, -0x328(%rbp)
jb 0x15389
movq -0x328(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x330(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x330(%rbp)
jb 0x15367
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movq -0x330(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x330(%rbp)
jmp 0x1532c
movq -0x330(%rbp), %rax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
jmp 0x153ad
movq -0x328(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
movq -0x2c8(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
movq -0x328(%rbp), %rdx
callq 0x2250
movq -0x328(%rbp), %rax
addq -0x2c8(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rax
movq -0x240(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x224(%rbp)
movl -0x224(%rbp), %eax
movl %eax, -0x444(%rbp)
jmp 0x160e6
movq -0x450(%rbp), %rax
movq %rax, -0x528(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x520(%rbp)
movq -0x460(%rbp), %rax
movq %rax, -0x518(%rbp)
movl -0x464(%rbp), %eax
movl %eax, -0x510(%rbp)
movl -0x468(%rbp), %eax
movl %eax, -0x50c(%rbp)
callq 0x16130
movq -0x528(%rbp), %r9
movq -0x520(%rbp), %r8
movq -0x518(%rbp), %rdi
movl -0x510(%rbp), %esi
movl -0x50c(%rbp), %edx
movl %eax, %r10d
xorl %ecx, %ecx
movl $0x1, %eax
cmpl $0x0, %r10d
cmovnel %eax, %ecx
movl -0x46c(%rbp), %eax
movq %r9, -0x340(%rbp)
movq %r8, -0x348(%rbp)
movq %rdi, -0x350(%rbp)
movl %esi, -0x354(%rbp)
movl %edx, -0x358(%rbp)
movl $0x1, -0x35c(%rbp)
movl %ecx, -0x360(%rbp)
movl $0x0, -0x364(%rbp)
movl $0x0, -0x368(%rbp)
movl %eax, -0x36c(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x398(%rbp)
movq -0x378(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x3a0(%rbp)
movq -0x3a0(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x3a8(%rbp)
movq -0x3a8(%rbp), %rax
movq -0x348(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x3b0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x380(%rbp), %rax
movslq -0x354(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x3c0(%rbp)
movq -0x3c0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x3d0(%rbp)
movq -0x350(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rax
movslq -0x358(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x3e0(%rbp)
movq $0x0, -0x3f0(%rbp)
cmpl $0x7e000000, -0x354(%rbp) # imm = 0x7E000000
jbe 0x155f0
movl $0x0, -0x334(%rbp)
jmp 0x160da
movl -0x364(%rbp), %eax
movl %eax, -0x52c(%rbp)
testl %eax, %eax
je 0x1561c
jmp 0x15602
movl -0x52c(%rbp), %eax
subl $0x1, %eax
je 0x1563c
jmp 0x1560f
movl -0x52c(%rbp), %eax
subl $0x2, %eax
je 0x15688
jmp 0x1561e
jmp 0x1561e
movq -0x348(%rbp), %rax
movq %rax, -0x388(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x156bb
movq -0x348(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x388(%rbp)
movq -0x348(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x390(%rbp)
jmp 0x156bb
movq -0x348(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x388(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
cmpl $0x2, -0x360(%rbp)
jne 0x156df
cmpl $0x1000b, -0x354(%rbp)  # imm = 0x1000B
jl 0x156df
movl $0x0, -0x334(%rbp)
jmp 0x160da
cmpl $0xd, -0x354(%rbp)
jge 0x156ed
jmp 0x15f55
movq -0x380(%rbp), %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x17d10
movq -0x380(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rdi
movl -0x360(%rbp), %esi
callq 0x282d0
movl %eax, -0x3e4(%rbp)
movq -0x380(%rbp), %rax
movq %rax, -0x408(%rbp)
movl $0x1, -0x40c(%rbp)
movl -0x36c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x410(%rbp)
movl -0x3e4(%rbp), %eax
movl %eax, -0x414(%rbp)
movq -0x408(%rbp), %rax
movq %rax, -0x380(%rbp)
movl -0x40c(%rbp), %ecx
movq -0x408(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x408(%rbp)
movl -0x410(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x410(%rbp)
shrl $0x6, %eax
movl %eax, -0x40c(%rbp)
movq -0x408(%rbp), %rax
cmpq -0x3c8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x157c2
jmp 0x157c7
jmp 0x15f55
movl -0x414(%rbp), %edi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x28300
movq %rax, -0x3f8(%rbp)
cmpl $0x2, -0x364(%rbp)
jne 0x1583f
movq -0x3f8(%rbp), %rax
cmpq -0x348(%rbp), %rax
jae 0x15824
movq -0x3b0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x3a0(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x1583d
movq $0x0, -0x3f0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x1583f
movq -0x408(%rbp), %rdi
movl -0x360(%rbp), %esi
callq 0x282d0
movl %eax, -0x3e4(%rbp)
movq -0x380(%rbp), %rdi
movl -0x414(%rbp), %esi
movq -0x340(%rbp), %rdx
movl -0x360(%rbp), %ecx
movq -0x388(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x368(%rbp)
jne 0x158a0
movq -0x3f8(%rbp), %rcx
movb $0x1, %al
cmpq -0x398(%rbp), %rcx
movb %al, -0x52d(%rbp)
jb 0x15904
jmp 0x158a2
jmp 0x158a2
cmpl $0x2, -0x360(%rbp)
jne 0x158ad
jmp 0x158cc
movq -0x3f8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x380(%rbp), %rcx
movb %al, -0x52d(%rbp)
jb 0x15904
movq -0x3f8(%rbp), %rdi
addq -0x3f0(%rbp), %rdi
callq 0x28420
movl %eax, -0x534(%rbp)
movq -0x380(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x534(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x52d(%rbp)
movb -0x52d(%rbp), %al
testb $0x1, %al
jne 0x1575e
jmp 0x15914
movq -0x380(%rbp), %rcx
xorl %eax, %eax
cmpq -0x3b8(%rbp), %rcx
movb %al, -0x535(%rbp)
jbe 0x15977
movq -0x3f8(%rbp), %rcx
addq -0x3f0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x390(%rbp), %rcx
movb %al, -0x535(%rbp)
jbe 0x15977
movq -0x380(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x3f8(%rbp), %rcx
movq -0x3f0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x535(%rbp)
movb -0x535(%rbp), %al
testb $0x1, %al
jne 0x15983
jmp 0x159ac
movq -0x380(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x380(%rbp)
movq -0x3f8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x3f8(%rbp)
jmp 0x15914
movq -0x380(%rbp), %rax
movq -0x3b8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x418(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movq %rax, -0x400(%rbp)
cmpl $0x0, -0x35c(%rbp)
je 0x15a3f
movq -0x3d8(%rbp), %rax
movl -0x418(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x540(%rbp)
movl -0x418(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x540(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x3e0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x15a30
jmp 0x15a3f
movl $0x0, -0x334(%rbp)
jmp 0x160da
cmpl $0xf, -0x418(%rbp)
jb 0x15ab9
movl -0x418(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x41c(%rbp)
movq -0x400(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x41c(%rbp)
jl 0x15a98
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movl -0x41c(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x41c(%rbp)
jmp 0x15a61
movl -0x41c(%rbp), %eax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
jmp 0x15acd
movl -0x418(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x400(%rbp), %rax
movb %cl, (%rax)
movq -0x3d8(%rbp), %rdi
movq -0x3b8(%rbp), %rsi
movq -0x3d8(%rbp), %rdx
movl -0x418(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0x418(%rbp), %ecx
movq -0x3d8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rdi
movq -0x380(%rbp), %rax
movq -0x3f8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0x3d8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x3d8(%rbp)
cmpl $0x2, -0x364(%rbp)
jne 0x15c52
movq -0x390(%rbp), %rax
cmpq -0x3a0(%rbp), %rax
jne 0x15c52
movq -0x3f0(%rbp), %rax
addq -0x3f8(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq -0x380(%rbp), %rax
movq -0x3a8(%rbp), %rcx
movq -0x3f8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x428(%rbp)
movq -0x428(%rbp), %rax
cmpq -0x3d0(%rbp), %rax
jbe 0x15bb1
movq -0x3d0(%rbp), %rax
movq %rax, -0x428(%rbp)
movq -0x380(%rbp), %rdi
addq $0x4, %rdi
movq -0x3f8(%rbp), %rsi
addq $0x4, %rsi
movq -0x428(%rbp), %rdx
callq 0x28510
movl %eax, -0x420(%rbp)
movl -0x420(%rbp), %ecx
addl $0x4, %ecx
movq -0x380(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rax
cmpq -0x428(%rbp), %rax
jne 0x15c50
movq -0x380(%rbp), %rdi
movq -0x348(%rbp), %rsi
movq -0x3d0(%rbp), %rdx
callq 0x28510
movl %eax, -0x42c(%rbp)
movl -0x42c(%rbp), %eax
addl -0x420(%rbp), %eax
movl %eax, -0x420(%rbp)
movl -0x42c(%rbp), %ecx
movq -0x380(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
jmp 0x15c96
movq -0x380(%rbp), %rdi
addq $0x4, %rdi
movq -0x3f8(%rbp), %rsi
addq $0x4, %rsi
movq -0x3d0(%rbp), %rdx
callq 0x28510
movl %eax, -0x420(%rbp)
movl -0x420(%rbp), %ecx
addl $0x4, %ecx
movq -0x380(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
cmpl $0x0, -0x35c(%rbp)
je 0x15cd7
movq -0x3d8(%rbp), %rax
addq $0x6, %rax
movl -0x420(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x3e0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x15cc8
jmp 0x15cd7
movl $0x0, -0x334(%rbp)
jmp 0x160da
cmpl $0xf, -0x420(%rbp)
jb 0x15da7
movq -0x400(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x420(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x420(%rbp)
cmpl $0x1fe, -0x420(%rbp)    # imm = 0x1FE
jb 0x15d51
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movl -0x420(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0x420(%rbp)
jmp 0x15d02
cmpl $0xff, -0x420(%rbp)
jb 0x15d86
movl -0x420(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x420(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movl -0x420(%rbp), %eax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
jmp 0x15dbe
movl -0x420(%rbp), %eax
movzbl %al, %edx
movq -0x400(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x380(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x380(%rbp), %rax
cmpq -0x3c8(%rbp), %rax
jbe 0x15de1
jmp 0x15f55
movq -0x380(%rbp), %rdi
addq $-0x2, %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x17d10
movq -0x380(%rbp), %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x286b0
movq %rax, -0x3f8(%rbp)
cmpl $0x2, -0x364(%rbp)
jne 0x15e7e
movq -0x3f8(%rbp), %rax
cmpq -0x348(%rbp), %rax
jae 0x15e63
movq -0x3b0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x3a0(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x15e7c
movq $0x0, -0x3f0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x15e7e
movq -0x380(%rbp), %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x368(%rbp)
jne 0x15eb9
movq -0x3f8(%rbp), %rax
cmpq -0x398(%rbp), %rax
jae 0x15ebb
jmp 0x15f2d
jmp 0x15ebb
movq -0x3f8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x380(%rbp), %rax
jb 0x15f2d
movq -0x3f8(%rbp), %rdi
addq -0x3f0(%rbp), %rdi
callq 0x28420
movl %eax, -0x544(%rbp)
movq -0x380(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x544(%rbp), %eax
cmpl %ecx, %eax
jne 0x15f2d
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movq %rax, -0x400(%rbp)
movq -0x400(%rbp), %rax
movb $0x0, (%rax)
jmp 0x15b09
movq -0x380(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x380(%rbp)
movl -0x360(%rbp), %esi
callq 0x282d0
movl %eax, -0x3e4(%rbp)
jmp 0x15737
movq -0x3c0(%rbp), %rax
movq -0x3b8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x438(%rbp)
cmpl $0x0, -0x35c(%rbp)
je 0x15fdb
movq -0x3d8(%rbp), %rax
movq -0x350(%rbp), %rcx
subq %rcx, %rax
addq -0x438(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x550(%rbp)
movq -0x438(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x550(%rbp), %rax
addq %rcx, %rax
movl -0x358(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x15fdb
movl $0x0, -0x334(%rbp)
jmp 0x160da
cmpq $0xf, -0x438(%rbp)
jb 0x16070
movq -0x438(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x440(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x440(%rbp)
jb 0x1604e
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movq -0x440(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x440(%rbp)
jmp 0x16013
movq -0x440(%rbp), %rax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
jmp 0x16094
movq -0x438(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
movq -0x3d8(%rbp), %rdi
movq -0x3b8(%rbp), %rsi
movq -0x438(%rbp), %rdx
callq 0x2250
movq -0x438(%rbp), %rax
addq -0x3d8(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rax
movq -0x350(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x334(%rbp)
movl -0x334(%rbp), %eax
movl %eax, -0x444(%rbp)
movl -0x444(%rbp), %eax
addq $0x550, %rsp            # imm = 0x550
popq %rbp
retq
nopw %cs:(%rax,%rax)