// File: /workspace/github_c_makefile_star2_O0/kieselsteini[P]PiXL-old/lz4.c
// Function: LZ4_compress_fast_force
int LZ4_compress_fast_force(const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
{
    LZ4_stream_t ctx;
    LZ4_resetStream(&ctx);

    if (inputSize < LZ4_64Klimit)
        return LZ4_compress_generic(&ctx.internal_donotuse, source, dest, inputSize, maxOutputSize, limitedOutput, byU16,                        noDict, noDictIssue, acceleration);
    else
        return LZ4_compress_generic(&ctx.internal_donotuse, source, dest, inputSize, maxOutputSize, limitedOutput, sizeof(void*)==8 ? byU32 : byPtr, noDict, noDictIssue, acceleration);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x44d0, %rsp           # imm = 0x44D0
movq %rdi, -0x440(%rbp)
movq %rsi, -0x448(%rbp)
movl %edx, -0x44c(%rbp)
movl %ecx, -0x450(%rbp)
movl %r8d, -0x454(%rbp)
leaq -0x4478(%rbp), %rdi
callq 0x3b060
cmpl $0x1000b, -0x44c(%rbp)  # imm = 0x1000B
jge 0x3c176
movq -0x440(%rbp), %rdi
movq -0x448(%rbp), %rsi
movl -0x44c(%rbp), %edx
movl -0x450(%rbp), %ecx
movl -0x454(%rbp), %eax
leaq -0x4478(%rbp), %r8
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 -0x238(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rax
movq -0x230(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x280(%rbp)
movq -0x230(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x288(%rbp)
movq -0x288(%rbp), %rax
movq -0x230(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x290(%rbp)
movq -0x290(%rbp), %rax
movq -0x238(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x298(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movq -0x268(%rbp), %rax
movslq -0x244(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x2a8(%rbp)
movq -0x2a8(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x2b0(%rbp)
movq -0x2a8(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x2b8(%rbp)
movq -0x240(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rax
movslq -0x248(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x2c8(%rbp)
cmpl $0x7e000000, -0x244(%rbp) # imm = 0x7E000000
jbe 0x3b2f7
movl $0x0, -0x228(%rbp)
jmp 0x3c165
movl -0x254(%rbp), %eax
movl %eax, -0x447c(%rbp)
testl %eax, %eax
je 0x3b323
jmp 0x3b309
movl -0x447c(%rbp), %eax
subl $0x1, %eax
je 0x3b343
jmp 0x3b316
movl -0x447c(%rbp), %eax
subl $0x2, %eax
je 0x3b38f
jmp 0x3b325
jmp 0x3b325
movq -0x238(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x278(%rbp)
jmp 0x3b3c2
movq -0x238(%rbp), %rax
movq -0x230(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
movq -0x238(%rbp), %rax
movq -0x230(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x278(%rbp)
jmp 0x3b3c2
movq -0x238(%rbp), %rax
movq -0x230(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x278(%rbp)
cmpl $0x2, -0x250(%rbp)
jne 0x3b3e6
cmpl $0x1000b, -0x244(%rbp)  # imm = 0x1000B
jl 0x3b3e6
movl $0x0, -0x228(%rbp)
jmp 0x3c165
cmpl $0xd, -0x244(%rbp)
jge 0x3b3f4
jmp 0x3bfe0
movq -0x268(%rbp), %rsi
movq -0x230(%rbp), %rdx
movl -0x250(%rbp), %ecx
movq -0x270(%rbp), %rax
movq %rsi, -0x1b8(%rbp)
movq %rdx, -0x1c0(%rbp)
movl %ecx, -0x1c4(%rbp)
movq %rax, -0x1d0(%rbp)
movq -0x1b8(%rbp), %rcx
movl -0x1c4(%rbp), %eax
movq %rcx, -0x100(%rbp)
movl %eax, -0x104(%rbp)
cmpl $0x2, -0x104(%rbp)
je 0x3b46f
movq -0x100(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x104(%rbp), %esi
callq 0x4f390
movl %eax, -0xf8(%rbp)
jmp 0x3b48e
movq -0x100(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x104(%rbp), %esi
callq 0x4f440
movl %eax, -0xf8(%rbp)
movl -0xf8(%rbp), %eax
movl %eax, -0x1d4(%rbp)
movq -0x1b8(%rbp), %rdi
movl -0x1d4(%rbp), %esi
movq -0x1c0(%rbp), %rdx
movl -0x1c4(%rbp), %ecx
movq -0x1d0(%rbp), %r8
callq 0x4f060
movq -0x268(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rcx
movl -0x250(%rbp), %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
cmpl $0x2, -0xb4(%rbp)
je 0x3b517
movq -0xb0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xb4(%rbp), %esi
callq 0x4f390
movl %eax, -0xa8(%rbp)
jmp 0x3b536
movq -0xb0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xb4(%rbp), %esi
callq 0x4f440
movl %eax, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
movl %eax, -0x2cc(%rbp)
movq $0x0, -0x2d8(%rbp)
movq -0x268(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movl $0x1, -0x2f4(%rbp)
movl -0x25c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x2f8(%rbp)
movl -0x2cc(%rbp), %eax
movl %eax, -0x2fc(%rbp)
movq -0x2f0(%rbp), %rax
movq %rax, -0x268(%rbp)
movl -0x2f4(%rbp), %ecx
movq -0x2f0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x2f0(%rbp)
movl -0x2f8(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x2f8(%rbp)
shrl $0x6, %eax
movl %eax, -0x2f4(%rbp)
movq -0x2f0(%rbp), %rax
cmpq -0x2b0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3b5d8
jmp 0x3b5dd
jmp 0x3bfe0
movl -0x2fc(%rbp), %edi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x270(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x2e0(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x3b655
movq -0x2e0(%rbp), %rax
cmpq -0x238(%rbp), %rax
jae 0x3b63a
movq -0x298(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x288(%rbp), %rax
movq %rax, -0x278(%rbp)
jmp 0x3b653
movq $0x0, -0x2d8(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x278(%rbp)
jmp 0x3b655
movq -0x2f0(%rbp), %rcx
movl -0x250(%rbp), %eax
movq %rcx, -0xc0(%rbp)
movl %eax, -0xc4(%rbp)
cmpl $0x2, -0xc4(%rbp)
je 0x3b69a
movq -0xc0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xc4(%rbp), %esi
callq 0x4f390
movl %eax, -0xb8(%rbp)
jmp 0x3b6b9
movq -0xc0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xc4(%rbp), %esi
callq 0x4f440
movl %eax, -0xb8(%rbp)
movl -0xb8(%rbp), %eax
movl %eax, -0x2cc(%rbp)
movq -0x268(%rbp), %rdi
movl -0x2fc(%rbp), %esi
movq -0x230(%rbp), %rdx
movl -0x250(%rbp), %ecx
movq -0x270(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x258(%rbp)
jne 0x3b70e
movq -0x2e0(%rbp), %rcx
movb $0x1, %al
cmpq -0x280(%rbp), %rcx
movb %al, -0x447d(%rbp)
jb 0x3b772
jmp 0x3b710
jmp 0x3b710
cmpl $0x2, -0x250(%rbp)
jne 0x3b71b
jmp 0x3b73a
movq -0x2e0(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x268(%rbp), %rcx
movb %al, -0x447d(%rbp)
jb 0x3b772
movq -0x2e0(%rbp), %rdi
addq -0x2d8(%rbp), %rdi
callq 0x4f100
movl %eax, -0x4484(%rbp)
movq -0x268(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x4484(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x447d(%rbp)
movb -0x447d(%rbp), %al
testb $0x1, %al
jne 0x3b574
jmp 0x3b782
movq -0x268(%rbp), %rax
cmpq -0x2a0(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x2e0(%rbp), %rax
addq -0x2d8(%rbp), %rax
cmpq -0x278(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %eax
andl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x4485(%rbp)
je 0x3b7f0
movq -0x268(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x2e0(%rbp), %rcx
movq -0x2d8(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x4485(%rbp)
movb -0x4485(%rbp), %al
testb $0x1, %al
jne 0x3b7fc
jmp 0x3b825
movq -0x268(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x268(%rbp)
movq -0x2e0(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x2e0(%rbp)
jmp 0x3b782
movq -0x268(%rbp), %rax
movq -0x2a0(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x300(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c0(%rbp)
movq %rax, -0x2e8(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x3b8b8
movq -0x2c0(%rbp), %rax
movl -0x300(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x4490(%rbp)
movl -0x300(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x4490(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x2c8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3b8a9
jmp 0x3b8b8
movl $0x0, -0x228(%rbp)
jmp 0x3c165
cmpl $0xf, -0x300(%rbp)
jb 0x3b932
movl -0x300(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x304(%rbp)
movq -0x2e8(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x304(%rbp)
jl 0x3b911
movq -0x2c0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c0(%rbp)
movb $-0x1, (%rax)
movl -0x304(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x304(%rbp)
jmp 0x3b8da
movl -0x304(%rbp), %eax
movb %al, %cl
movq -0x2c0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c0(%rbp)
movb %cl, (%rax)
jmp 0x3b946
movl -0x300(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x2e8(%rbp), %rax
movb %cl, (%rax)
movq -0x2c0(%rbp), %rdi
movq -0x2a0(%rbp), %rsi
movq -0x2c0(%rbp), %rdx
movl -0x300(%rbp), %eax
addq %rax, %rdx
callq 0x4f110
movl -0x300(%rbp), %ecx
movq -0x2c0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rdi
movq -0x268(%rbp), %rax
movq -0x2e0(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x4f180
movq -0x2c0(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x2c0(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x3bacb
movq -0x278(%rbp), %rax
cmpq -0x288(%rbp), %rax
jne 0x3bacb
movq -0x2d8(%rbp), %rax
addq -0x2e0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x268(%rbp), %rax
movq -0x290(%rbp), %rcx
movq -0x2e0(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x310(%rbp)
movq -0x310(%rbp), %rax
cmpq -0x2b8(%rbp), %rax
jbe 0x3ba2a
movq -0x2b8(%rbp), %rax
movq %rax, -0x310(%rbp)
movq -0x268(%rbp), %rdi
addq $0x4, %rdi
movq -0x2e0(%rbp), %rsi
addq $0x4, %rsi
movq -0x310(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x308(%rbp)
movl -0x308(%rbp), %ecx
addl $0x4, %ecx
movq -0x268(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rax
cmpq -0x310(%rbp), %rax
jne 0x3bac9
movq -0x268(%rbp), %rdi
movq -0x238(%rbp), %rsi
movq -0x2b8(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x314(%rbp)
movl -0x314(%rbp), %eax
addl -0x308(%rbp), %eax
movl %eax, -0x308(%rbp)
movl -0x314(%rbp), %ecx
movq -0x268(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x268(%rbp)
jmp 0x3bb0f
movq -0x268(%rbp), %rdi
addq $0x4, %rdi
movq -0x2e0(%rbp), %rsi
addq $0x4, %rsi
movq -0x2b8(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x308(%rbp)
movl -0x308(%rbp), %ecx
addl $0x4, %ecx
movq -0x268(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x268(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x3bb50
movq -0x2c0(%rbp), %rax
addq $0x6, %rax
movl -0x308(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x2c8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3bb41
jmp 0x3bb50
movl $0x0, -0x228(%rbp)
jmp 0x3c165
cmpl $0xf, -0x308(%rbp)
jb 0x3bc1c
movq -0x2e8(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x308(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x308(%rbp)
movq -0x2c0(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
cmpl $0x3fc, -0x308(%rbp)    # imm = 0x3FC
jb 0x3bbce
movq -0x2c0(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
movl -0x308(%rbp), %eax
subl $0x3fc, %eax            # imm = 0x3FC
movl %eax, -0x308(%rbp)
jmp 0x3bb8c
movl -0x308(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x2c0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x2c0(%rbp)
movl -0x308(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movb %dl, %cl
movq -0x2c0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c0(%rbp)
movb %cl, (%rax)
jmp 0x3bc33
movl -0x308(%rbp), %eax
movzbl %al, %edx
movq -0x2e8(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x268(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movq -0x268(%rbp), %rax
cmpq -0x2b0(%rbp), %rax
jbe 0x3bc56
jmp 0x3bfe0
movq -0x268(%rbp), %rsi
addq $-0x2, %rsi
movq -0x230(%rbp), %rdx
movl -0x250(%rbp), %ecx
movq -0x270(%rbp), %rax
movq %rsi, -0x1e0(%rbp)
movq %rdx, -0x1e8(%rbp)
movl %ecx, -0x1ec(%rbp)
movq %rax, -0x1f8(%rbp)
movq -0x1e0(%rbp), %rcx
movl -0x1ec(%rbp), %eax
movq %rcx, -0xf0(%rbp)
movl %eax, -0xf4(%rbp)
cmpl $0x2, -0xf4(%rbp)
je 0x3bcd5
movq -0xf0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xf4(%rbp), %esi
callq 0x4f390
movl %eax, -0xe8(%rbp)
jmp 0x3bcf4
movq -0xf0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xf4(%rbp), %esi
callq 0x4f440
movl %eax, -0xe8(%rbp)
movl -0xe8(%rbp), %eax
movl %eax, -0x1fc(%rbp)
movq -0x1e0(%rbp), %rdi
movl -0x1fc(%rbp), %esi
movq -0x1e8(%rbp), %rdx
movl -0x1ec(%rbp), %ecx
movq -0x1f8(%rbp), %r8
callq 0x4f060
movq -0x268(%rbp), %rsi
movq -0x230(%rbp), %rdx
movl -0x250(%rbp), %ecx
movq -0x270(%rbp), %rax
movq %rsi, -0x58(%rbp)
movq %rdx, -0x60(%rbp)
movl %ecx, -0x64(%rbp)
movq %rax, -0x70(%rbp)
movq -0x58(%rbp), %rcx
movl -0x64(%rbp), %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
cmpl $0x2, -0x4c(%rbp)
je 0x3bd7d
movq -0x48(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x4c(%rbp), %esi
callq 0x4f390
movl %eax, -0x40(%rbp)
jmp 0x3bd93
movq -0x48(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x4c(%rbp), %esi
callq 0x4f440
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x74(%rbp)
movl -0x74(%rbp), %edi
movq -0x60(%rbp), %rsi
movl -0x64(%rbp), %edx
movq -0x70(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x2e0(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x3be05
movq -0x2e0(%rbp), %rax
cmpq -0x238(%rbp), %rax
jae 0x3bdea
movq -0x298(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x288(%rbp), %rax
movq %rax, -0x278(%rbp)
jmp 0x3be03
movq $0x0, -0x2d8(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x278(%rbp)
jmp 0x3be05
movq -0x268(%rbp), %rsi
movq -0x230(%rbp), %rdx
movl -0x250(%rbp), %ecx
movq -0x270(%rbp), %rax
movq %rsi, -0x208(%rbp)
movq %rdx, -0x210(%rbp)
movl %ecx, -0x214(%rbp)
movq %rax, -0x220(%rbp)
movq -0x208(%rbp), %rcx
movl -0x214(%rbp), %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
cmpl $0x2, -0xe4(%rbp)
je 0x3be80
movq -0xe0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xe4(%rbp), %esi
callq 0x4f390
movl %eax, -0xd8(%rbp)
jmp 0x3be9f
movq -0xe0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xe4(%rbp), %esi
callq 0x4f440
movl %eax, -0xd8(%rbp)
movl -0xd8(%rbp), %eax
movl %eax, -0x224(%rbp)
movq -0x208(%rbp), %rdi
movl -0x224(%rbp), %esi
movq -0x210(%rbp), %rdx
movl -0x214(%rbp), %ecx
movq -0x220(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x258(%rbp)
jne 0x3beec
movq -0x2e0(%rbp), %rax
cmpq -0x280(%rbp), %rax
jae 0x3beee
jmp 0x3bf60
jmp 0x3beee
movq -0x2e0(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x268(%rbp), %rax
jb 0x3bf60
movq -0x2e0(%rbp), %rdi
addq -0x2d8(%rbp), %rdi
callq 0x4f100
movl %eax, -0x4494(%rbp)
movq -0x268(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x4494(%rbp), %eax
cmpl %ecx, %eax
jne 0x3bf60
movq -0x2c0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c0(%rbp)
movq %rax, -0x2e8(%rbp)
movq -0x2e8(%rbp), %rax
movb $0x0, (%rax)
jmp 0x3b982
movq -0x268(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x268(%rbp)
movl -0x250(%rbp), %eax
movq %rcx, -0xd0(%rbp)
movl %eax, -0xd4(%rbp)
cmpl $0x2, -0xd4(%rbp)
je 0x3bfb0
movq -0xd0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xd4(%rbp), %esi
callq 0x4f390
movl %eax, -0xc8(%rbp)
jmp 0x3bfcf
movq -0xd0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xd4(%rbp), %esi
callq 0x4f440
movl %eax, -0xc8(%rbp)
movl -0xc8(%rbp), %eax
movl %eax, -0x2cc(%rbp)
jmp 0x3b542
movq -0x2a8(%rbp), %rax
movq -0x2a0(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x320(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x3c066
movq -0x2c0(%rbp), %rax
movq -0x240(%rbp), %rcx
subq %rcx, %rax
addq -0x320(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x44a0(%rbp)
movq -0x320(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x44a0(%rbp), %rax
addq %rcx, %rax
movl -0x248(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x3c066
movl $0x0, -0x228(%rbp)
jmp 0x3c165
cmpq $0xf, -0x320(%rbp)
jb 0x3c0fb
movq -0x320(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x328(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c0(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x328(%rbp)
jb 0x3c0d9
movq -0x2c0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c0(%rbp)
movb $-0x1, (%rax)
movq -0x328(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x328(%rbp)
jmp 0x3c09e
movq -0x328(%rbp), %rax
movb %al, %cl
movq -0x2c0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c0(%rbp)
movb %cl, (%rax)
jmp 0x3c11f
movq -0x320(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x2c0(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c0(%rbp)
movb %cl, (%rax)
movq -0x2c0(%rbp), %rdi
movq -0x2a0(%rbp), %rsi
movq -0x320(%rbp), %rdx
callq 0x6410
movq -0x320(%rbp), %rax
addq -0x2c0(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq -0x2c0(%rbp), %rax
movq -0x240(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x228(%rbp)
movl -0x228(%rbp), %eax
movl %eax, -0x434(%rbp)
jmp 0x3d15d
movq -0x440(%rbp), %rdi
movq -0x448(%rbp), %rsi
movl -0x44c(%rbp), %edx
movl -0x450(%rbp), %ecx
movl -0x454(%rbp), %eax
leaq -0x4478(%rbp), %r8
movq %r8, -0x338(%rbp)
movq %rdi, -0x340(%rbp)
movq %rsi, -0x348(%rbp)
movl %edx, -0x34c(%rbp)
movl %ecx, -0x350(%rbp)
movl $0x1, -0x354(%rbp)
movl $0x1, -0x358(%rbp)
movl $0x0, -0x35c(%rbp)
movl $0x0, -0x360(%rbp)
movl %eax, -0x364(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rax
movq -0x338(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x388(%rbp)
movq -0x338(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x390(%rbp)
movq -0x390(%rbp), %rax
movq -0x338(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x398(%rbp)
movq -0x398(%rbp), %rax
movq -0x340(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x3a0(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x370(%rbp), %rax
movslq -0x34c(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x3b0(%rbp)
movq -0x3b0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x3b8(%rbp)
movq -0x3b0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x3c0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c8(%rbp), %rax
movslq -0x350(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x3d0(%rbp)
cmpl $0x7e000000, -0x34c(%rbp) # imm = 0x7E000000
jbe 0x3c2f5
movl $0x0, -0x32c(%rbp)
jmp 0x3d151
movl -0x35c(%rbp), %eax
movl %eax, -0x44a4(%rbp)
testl %eax, %eax
je 0x3c321
jmp 0x3c307
movl -0x44a4(%rbp), %eax
subl $0x1, %eax
je 0x3c341
jmp 0x3c314
movl -0x44a4(%rbp), %eax
subl $0x2, %eax
je 0x3c38d
jmp 0x3c323
jmp 0x3c323
movq -0x340(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x380(%rbp)
jmp 0x3c3c0
movq -0x340(%rbp), %rax
movq -0x338(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x378(%rbp)
movq -0x340(%rbp), %rax
movq -0x338(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
jmp 0x3c3c0
movq -0x340(%rbp), %rax
movq -0x338(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x378(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x380(%rbp)
cmpl $0x2, -0x358(%rbp)
jne 0x3c3e4
cmpl $0x1000b, -0x34c(%rbp)  # imm = 0x1000B
jl 0x3c3e4
movl $0x0, -0x32c(%rbp)
jmp 0x3d151
cmpl $0xd, -0x34c(%rbp)
jge 0x3c3f2
jmp 0x3cfcc
movq -0x370(%rbp), %rsi
movq -0x338(%rbp), %rdx
movl -0x358(%rbp), %ecx
movq -0x378(%rbp), %rax
movq %rsi, -0x140(%rbp)
movq %rdx, -0x148(%rbp)
movl %ecx, -0x14c(%rbp)
movq %rax, -0x158(%rbp)
movq -0x140(%rbp), %rcx
movl -0x14c(%rbp), %eax
movq %rcx, -0x130(%rbp)
movl %eax, -0x134(%rbp)
cmpl $0x2, -0x134(%rbp)
je 0x3c46d
movq -0x130(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x134(%rbp), %esi
callq 0x4f390
movl %eax, -0x128(%rbp)
jmp 0x3c48c
movq -0x130(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x134(%rbp), %esi
callq 0x4f440
movl %eax, -0x128(%rbp)
movl -0x128(%rbp), %eax
movl %eax, -0x15c(%rbp)
movq -0x140(%rbp), %rdi
movl -0x15c(%rbp), %esi
movq -0x148(%rbp), %rdx
movl -0x14c(%rbp), %ecx
movq -0x158(%rbp), %r8
callq 0x4f060
movq -0x370(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rcx
movl -0x358(%rbp), %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
cmpl $0x2, -0x84(%rbp)
je 0x3c50c
movq -0x80(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x84(%rbp), %esi
callq 0x4f390
movl %eax, -0x78(%rbp)
jmp 0x3c525
movq -0x80(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x84(%rbp), %esi
callq 0x4f440
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %eax
movl %eax, -0x3d4(%rbp)
movq $0x0, -0x3e0(%rbp)
movq -0x370(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movl $0x1, -0x3fc(%rbp)
movl -0x364(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x400(%rbp)
movl -0x3d4(%rbp), %eax
movl %eax, -0x404(%rbp)
movq -0x3f8(%rbp), %rax
movq %rax, -0x370(%rbp)
movl -0x3fc(%rbp), %ecx
movq -0x3f8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x3f8(%rbp)
movl -0x400(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x400(%rbp)
shrl $0x6, %eax
movl %eax, -0x3fc(%rbp)
movq -0x3f8(%rbp), %rax
cmpq -0x3b8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3c5c4
jmp 0x3c5c9
jmp 0x3cfcc
movl -0x404(%rbp), %edi
movq -0x338(%rbp), %rsi
movl -0x358(%rbp), %edx
movq -0x378(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x3e8(%rbp)
cmpl $0x2, -0x35c(%rbp)
jne 0x3c641
movq -0x3e8(%rbp), %rax
cmpq -0x340(%rbp), %rax
jae 0x3c626
movq -0x3a0(%rbp), %rax
movq %rax, -0x3e0(%rbp)
movq -0x390(%rbp), %rax
movq %rax, -0x380(%rbp)
jmp 0x3c63f
movq $0x0, -0x3e0(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x380(%rbp)
jmp 0x3c641
movq -0x3f8(%rbp), %rcx
movl -0x358(%rbp), %eax
movq %rcx, -0x90(%rbp)
movl %eax, -0x94(%rbp)
cmpl $0x2, -0x94(%rbp)
je 0x3c686
movq -0x90(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x94(%rbp), %esi
callq 0x4f390
movl %eax, -0x88(%rbp)
jmp 0x3c6a5
movq -0x90(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x94(%rbp), %esi
callq 0x4f440
movl %eax, -0x88(%rbp)
movl -0x88(%rbp), %eax
movl %eax, -0x3d4(%rbp)
movq -0x370(%rbp), %rdi
movl -0x404(%rbp), %esi
movq -0x338(%rbp), %rdx
movl -0x358(%rbp), %ecx
movq -0x378(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x360(%rbp)
jne 0x3c6fa
movq -0x3e8(%rbp), %rcx
movb $0x1, %al
cmpq -0x388(%rbp), %rcx
movb %al, -0x44a5(%rbp)
jb 0x3c75e
jmp 0x3c6fc
jmp 0x3c6fc
cmpl $0x2, -0x358(%rbp)
jne 0x3c707
jmp 0x3c726
movq -0x3e8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x370(%rbp), %rcx
movb %al, -0x44a5(%rbp)
jb 0x3c75e
movq -0x3e8(%rbp), %rdi
addq -0x3e0(%rbp), %rdi
callq 0x4f100
movl %eax, -0x44ac(%rbp)
movq -0x370(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x44ac(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x44a5(%rbp)
movb -0x44a5(%rbp), %al
testb $0x1, %al
jne 0x3c560
jmp 0x3c76e
movq -0x370(%rbp), %rax
cmpq -0x3a8(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x3e8(%rbp), %rax
addq -0x3e0(%rbp), %rax
cmpq -0x380(%rbp), %rax
seta %al
andb $0x1, %al
movzbl %al, %eax
andl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x44ad(%rbp)
je 0x3c7dc
movq -0x370(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x3e8(%rbp), %rcx
movq -0x3e0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x44ad(%rbp)
movb -0x44ad(%rbp), %al
testb $0x1, %al
jne 0x3c7e8
jmp 0x3c811
movq -0x370(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x370(%rbp)
movq -0x3e8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x3e8(%rbp)
jmp 0x3c76e
movq -0x370(%rbp), %rax
movq -0x3a8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x408(%rbp)
movq -0x3c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3c8(%rbp)
movq %rax, -0x3f0(%rbp)
cmpl $0x0, -0x354(%rbp)
je 0x3c8a4
movq -0x3c8(%rbp), %rax
movl -0x408(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x44b8(%rbp)
movl -0x408(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x44b8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x3d0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3c895
jmp 0x3c8a4
movl $0x0, -0x32c(%rbp)
jmp 0x3d151
cmpl $0xf, -0x408(%rbp)
jb 0x3c91e
movl -0x408(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x40c(%rbp)
movq -0x3f0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x40c(%rbp)
jl 0x3c8fd
movq -0x3c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3c8(%rbp)
movb $-0x1, (%rax)
movl -0x40c(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x40c(%rbp)
jmp 0x3c8c6
movl -0x40c(%rbp), %eax
movb %al, %cl
movq -0x3c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3c8(%rbp)
movb %cl, (%rax)
jmp 0x3c932
movl -0x408(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x3f0(%rbp), %rax
movb %cl, (%rax)
movq -0x3c8(%rbp), %rdi
movq -0x3a8(%rbp), %rsi
movq -0x3c8(%rbp), %rdx
movl -0x408(%rbp), %eax
addq %rax, %rdx
callq 0x4f110
movl -0x408(%rbp), %ecx
movq -0x3c8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c8(%rbp), %rdi
movq -0x370(%rbp), %rax
movq -0x3e8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x4f180
movq -0x3c8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x3c8(%rbp)
cmpl $0x2, -0x35c(%rbp)
jne 0x3cab7
movq -0x380(%rbp), %rax
cmpq -0x390(%rbp), %rax
jne 0x3cab7
movq -0x3e0(%rbp), %rax
addq -0x3e8(%rbp), %rax
movq %rax, -0x3e8(%rbp)
movq -0x370(%rbp), %rax
movq -0x398(%rbp), %rcx
movq -0x3e8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x418(%rbp)
movq -0x418(%rbp), %rax
cmpq -0x3c0(%rbp), %rax
jbe 0x3ca16
movq -0x3c0(%rbp), %rax
movq %rax, -0x418(%rbp)
movq -0x370(%rbp), %rdi
addq $0x4, %rdi
movq -0x3e8(%rbp), %rsi
addq $0x4, %rsi
movq -0x418(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x410(%rbp)
movl -0x410(%rbp), %ecx
addl $0x4, %ecx
movq -0x370(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rax
cmpq -0x418(%rbp), %rax
jne 0x3cab5
movq -0x370(%rbp), %rdi
movq -0x340(%rbp), %rsi
movq -0x3c0(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x41c(%rbp)
movl -0x41c(%rbp), %eax
addl -0x410(%rbp), %eax
movl %eax, -0x410(%rbp)
movl -0x41c(%rbp), %ecx
movq -0x370(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x370(%rbp)
jmp 0x3cafb
movq -0x370(%rbp), %rdi
addq $0x4, %rdi
movq -0x3e8(%rbp), %rsi
addq $0x4, %rsi
movq -0x3c0(%rbp), %rdx
callq 0x4f1e0
movl %eax, -0x410(%rbp)
movl -0x410(%rbp), %ecx
addl $0x4, %ecx
movq -0x370(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x370(%rbp)
cmpl $0x0, -0x354(%rbp)
je 0x3cb3c
movq -0x3c8(%rbp), %rax
addq $0x6, %rax
movl -0x410(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x3d0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x3cb2d
jmp 0x3cb3c
movl $0x0, -0x32c(%rbp)
jmp 0x3d151
cmpl $0xf, -0x410(%rbp)
jb 0x3cc08
movq -0x3f0(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x410(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x410(%rbp)
movq -0x3c8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
cmpl $0x3fc, -0x410(%rbp)    # imm = 0x3FC
jb 0x3cbba
movq -0x3c8(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f370
movl -0x410(%rbp), %eax
subl $0x3fc, %eax            # imm = 0x3FC
movl %eax, -0x410(%rbp)
jmp 0x3cb78
movl -0x410(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x3c8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x3c8(%rbp)
movl -0x410(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movb %dl, %cl
movq -0x3c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3c8(%rbp)
movb %cl, (%rax)
jmp 0x3cc1f
movl -0x410(%rbp), %eax
movzbl %al, %edx
movq -0x3f0(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x370(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x370(%rbp), %rax
cmpq -0x3b8(%rbp), %rax
jbe 0x3cc42
jmp 0x3cfcc
movq -0x370(%rbp), %rsi
addq $-0x2, %rsi
movq -0x338(%rbp), %rdx
movl -0x358(%rbp), %ecx
movq -0x378(%rbp), %rax
movq %rsi, -0x168(%rbp)
movq %rdx, -0x170(%rbp)
movl %ecx, -0x174(%rbp)
movq %rax, -0x180(%rbp)
movq -0x168(%rbp), %rcx
movl -0x174(%rbp), %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
cmpl $0x2, -0x124(%rbp)
je 0x3ccc1
movq -0x120(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x124(%rbp), %esi
callq 0x4f390
movl %eax, -0x118(%rbp)
jmp 0x3cce0
movq -0x120(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x124(%rbp), %esi
callq 0x4f440
movl %eax, -0x118(%rbp)
movl -0x118(%rbp), %eax
movl %eax, -0x184(%rbp)
movq -0x168(%rbp), %rdi
movl -0x184(%rbp), %esi
movq -0x170(%rbp), %rdx
movl -0x174(%rbp), %ecx
movq -0x180(%rbp), %r8
callq 0x4f060
movq -0x370(%rbp), %rsi
movq -0x338(%rbp), %rdx
movl -0x358(%rbp), %ecx
movq -0x378(%rbp), %rax
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movl %ecx, -0x2c(%rbp)
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rcx
movl -0x2c(%rbp), %eax
movq %rcx, -0x10(%rbp)
movl %eax, -0x14(%rbp)
cmpl $0x2, -0x14(%rbp)
je 0x3cd69
movq -0x10(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x4f390
movl %eax, -0x4(%rbp)
jmp 0x3cd7f
movq -0x10(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x14(%rbp), %esi
callq 0x4f440
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %edi
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %edx
movq -0x38(%rbp), %rcx
callq 0x4efe0
movq %rax, -0x3e8(%rbp)
cmpl $0x2, -0x35c(%rbp)
jne 0x3cdf1
movq -0x3e8(%rbp), %rax
cmpq -0x340(%rbp), %rax
jae 0x3cdd6
movq -0x3a0(%rbp), %rax
movq %rax, -0x3e0(%rbp)
movq -0x390(%rbp), %rax
movq %rax, -0x380(%rbp)
jmp 0x3cdef
movq $0x0, -0x3e0(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x380(%rbp)
jmp 0x3cdf1
movq -0x370(%rbp), %rsi
movq -0x338(%rbp), %rdx
movl -0x358(%rbp), %ecx
movq -0x378(%rbp), %rax
movq %rsi, -0x190(%rbp)
movq %rdx, -0x198(%rbp)
movl %ecx, -0x19c(%rbp)
movq %rax, -0x1a8(%rbp)
movq -0x190(%rbp), %rcx
movl -0x19c(%rbp), %eax
movq %rcx, -0x110(%rbp)
movl %eax, -0x114(%rbp)
cmpl $0x2, -0x114(%rbp)
je 0x3ce6c
movq -0x110(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0x114(%rbp), %esi
callq 0x4f390
movl %eax, -0x108(%rbp)
jmp 0x3ce8b
movq -0x110(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0x114(%rbp), %esi
callq 0x4f440
movl %eax, -0x108(%rbp)
movl -0x108(%rbp), %eax
movl %eax, -0x1ac(%rbp)
movq -0x190(%rbp), %rdi
movl -0x1ac(%rbp), %esi
movq -0x198(%rbp), %rdx
movl -0x19c(%rbp), %ecx
movq -0x1a8(%rbp), %r8
callq 0x4f060
cmpl $0x1, -0x360(%rbp)
jne 0x3ced8
movq -0x3e8(%rbp), %rax
cmpq -0x388(%rbp), %rax
jae 0x3ceda
jmp 0x3cf4c
jmp 0x3ceda
movq -0x3e8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x370(%rbp), %rax
jb 0x3cf4c
movq -0x3e8(%rbp), %rdi
addq -0x3e0(%rbp), %rdi
callq 0x4f100
movl %eax, -0x44bc(%rbp)
movq -0x370(%rbp), %rdi
callq 0x4f100
movl %eax, %ecx
movl -0x44bc(%rbp), %eax
cmpl %ecx, %eax
jne 0x3cf4c
movq -0x3c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3c8(%rbp)
movq %rax, -0x3f0(%rbp)
movq -0x3f0(%rbp), %rax
movb $0x0, (%rax)
jmp 0x3c96e
movq -0x370(%rbp), %rcx
addq $0x1, %rcx
movq %rcx, -0x370(%rbp)
movl -0x358(%rbp), %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
cmpl $0x2, -0xa4(%rbp)
je 0x3cf9c
movq -0xa0(%rbp), %rdi
callq 0x4f420
movq %rax, %rdi
movl -0xa4(%rbp), %esi
callq 0x4f390
movl %eax, -0x98(%rbp)
jmp 0x3cfbb
movq -0xa0(%rbp), %rdi
callq 0x4f100
movl %eax, %edi
movl -0xa4(%rbp), %esi
callq 0x4f440
movl %eax, -0x98(%rbp)
movl -0x98(%rbp), %eax
movl %eax, -0x3d4(%rbp)
jmp 0x3c52e
movq -0x3b0(%rbp), %rax
movq -0x3a8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x428(%rbp)
cmpl $0x0, -0x354(%rbp)
je 0x3d052
movq -0x3c8(%rbp), %rax
movq -0x348(%rbp), %rcx
subq %rcx, %rax
addq -0x428(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x44c8(%rbp)
movq -0x428(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x44c8(%rbp), %rax
addq %rcx, %rax
movl -0x350(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x3d052
movl $0x0, -0x32c(%rbp)
jmp 0x3d151
cmpq $0xf, -0x428(%rbp)
jb 0x3d0e7
movq -0x428(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x430(%rbp)
movq -0x3c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3c8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x430(%rbp)
jb 0x3d0c5
movq -0x3c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3c8(%rbp)
movb $-0x1, (%rax)
movq -0x430(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x430(%rbp)
jmp 0x3d08a
movq -0x430(%rbp), %rax
movb %al, %cl
movq -0x3c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3c8(%rbp)
movb %cl, (%rax)
jmp 0x3d10b
movq -0x428(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x3c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3c8(%rbp)
movb %cl, (%rax)
movq -0x3c8(%rbp), %rdi
movq -0x3a8(%rbp), %rsi
movq -0x428(%rbp), %rdx
callq 0x6410
movq -0x428(%rbp), %rax
addq -0x3c8(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c8(%rbp), %rax
movq -0x348(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x32c(%rbp)
movl -0x32c(%rbp), %eax
movl %eax, -0x434(%rbp)
movl -0x434(%rbp), %eax
addq $0x44d0, %rsp           # imm = 0x44D0
popq %rbp
retq
nopl (%rax)