// File: /workspace/github_c_makefile_star2_O0/bluecmd[P]fst-example/gtkwave/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, source, dest, inputSize, maxOutputSize, limitedOutput, byU16,                        noDict, noDictIssue, acceleration);
    else
        return LZ4_compress_generic(&ctx, source, dest, inputSize, maxOutputSize, limitedOutput, LZ4_64bits() ? byU32 : byPtr, noDict, noDictIssue, acceleration);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x42d0, %rsp           # imm = 0x42D0
movq %rdi, -0x230(%rbp)
movq %rsi, -0x238(%rbp)
movl %edx, -0x23c(%rbp)
movl %ecx, -0x240(%rbp)
movl %r8d, -0x244(%rbp)
leaq -0x4268(%rbp), %rdi
callq 0x16100
cmpl $0x1000b, -0x23c(%rbp)  # imm = 0x1000B
jge 0x16d08
movq -0x230(%rbp), %rdi
movq -0x238(%rbp), %rsi
movl -0x23c(%rbp), %edx
movl -0x240(%rbp), %ecx
movl -0x244(%rbp), %eax
leaq -0x4268(%rbp), %r8
movq %r8, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movl %edx, -0x24(%rbp)
movl %ecx, -0x28(%rbp)
movl $0x1, -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 0x16360
movl $0x0, -0x4(%rbp)
jmp 0x16cfa
movl -0x34(%rbp), %eax
movl %eax, -0x426c(%rbp)
testl %eax, %eax
je 0x16389
jmp 0x1636f
movl -0x426c(%rbp), %eax
subl $0x1, %eax
je 0x1639d
jmp 0x1637c
movl -0x426c(%rbp), %eax
subl $0x2, %eax
je 0x163d7
jmp 0x1638b
jmp 0x1638b
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x163fb
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 0x163fb
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 0x16416
cmpl $0x1000b, -0x24(%rbp)   # imm = 0x1000B
jl 0x16416
movl $0x0, -0x4(%rbp)
jmp 0x16cfa
cmpl $0xd, -0x24(%rbp)
jge 0x16421
jmp 0x16b87
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 0x164d5
jmp 0x164da
jmp 0x16b87
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 0x16534
movq -0xc8(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x1651f
movq -0x80(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x16532
movq $0x0, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x16534
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 0x16580
movq -0xc8(%rbp), %rcx
movb $0x1, %al
cmpq -0x68(%rbp), %rcx
movb %al, -0x426d(%rbp)
jb 0x165db
jmp 0x16582
jmp 0x16582
cmpl $0x2, -0x30(%rbp)
jne 0x1658a
jmp 0x165a6
movq -0xc8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x50(%rbp), %rcx
movb %al, -0x426d(%rbp)
jb 0x165db
movq -0xc8(%rbp), %rdi
addq -0xc0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4274(%rbp)
movq -0x50(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4274(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x426d(%rbp)
movb -0x426d(%rbp), %al
testb $0x1, %al
jne 0x16474
jmp 0x165eb
movq -0x50(%rbp), %rcx
xorl %eax, %eax
cmpq -0x88(%rbp), %rcx
movb %al, -0x4275(%rbp)
jbe 0x16645
movq -0xc8(%rbp), %rcx
addq -0xc0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x60(%rbp), %rcx
movb %al, -0x4275(%rbp)
jbe 0x16645
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, -0x4275(%rbp)
movb -0x4275(%rbp), %al
testb $0x1, %al
jne 0x16651
jmp 0x16674
movq -0x50(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x50(%rbp)
movq -0xc8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0xc8(%rbp)
jmp 0x165eb
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 0x166fe
movq -0xa8(%rbp), %rax
movl -0xe8(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x4280(%rbp)
movl -0xe8(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x4280(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0xb0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x166f2
jmp 0x166fe
movl $0x0, -0x4(%rbp)
jmp 0x16cfa
cmpl $0xf, -0xe8(%rbp)
jb 0x16778
movl -0xe8(%rbp), %eax
subl $0xf, %eax
movl %eax, -0xec(%rbp)
movq -0xd0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0xec(%rbp)
jl 0x16757
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 0x16720
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 0x1678c
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 0x168e7
movq -0x60(%rbp), %rax
cmpq -0x70(%rbp), %rax
jne 0x168e7
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 0x1685e
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 0x168e5
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 0x16922
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 0x1695d
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 0x16951
jmp 0x1695d
movl $0x0, -0x4(%rbp)
jmp 0x16cfa
cmpl $0xf, -0xf0(%rbp)
jb 0x16a2d
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 0x169d7
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 0x16988
cmpl $0xff, -0xf0(%rbp)
jb 0x16a0c
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 0x16a44
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 0x16a61
jmp 0x16b87
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 0x16ad1
movq -0xc8(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x16abc
movq -0x80(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x16acf
movq $0x0, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x16ad1
movq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x38(%rbp)
jne 0x16afa
movq -0xc8(%rbp), %rax
cmpq -0x68(%rbp), %rax
jae 0x16afc
jmp 0x16b68
jmp 0x16afc
movq -0xc8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x50(%rbp), %rax
jb 0x16b68
movq -0xc8(%rbp), %rdi
addq -0xc0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4284(%rbp)
movq -0x50(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4284(%rbp), %eax
cmpl %ecx, %eax
jne 0x16b68
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 0x167c8
movq -0x50(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x50(%rbp)
movl -0x30(%rbp), %esi
callq 0x282d0
movl %eax, -0xb4(%rbp)
jmp 0x16453
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x108(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x16c01
movq -0xa8(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
addq -0x108(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x4290(%rbp)
movq -0x108(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x4290(%rbp), %rax
addq %rcx, %rax
movl -0x28(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x16c01
movl $0x0, -0x4(%rbp)
jmp 0x16cfa
cmpq $0xf, -0x108(%rbp)
jb 0x16c96
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 0x16c74
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 0x16c39
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 0x16cba
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, -0x224(%rbp)
jmp 0x179dc
movq -0x230(%rbp), %rax
movq %rax, -0x42a8(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x42a0(%rbp)
movl -0x23c(%rbp), %eax
movl %eax, -0x4298(%rbp)
movl -0x240(%rbp), %eax
movl %eax, -0x4294(%rbp)
callq 0x16130
movq -0x42a8(%rbp), %r8
movq -0x42a0(%rbp), %rdi
movl -0x4298(%rbp), %esi
movl -0x4294(%rbp), %edx
movl %eax, %r9d
xorl %ecx, %ecx
movl $0x1, %eax
cmpl $0x0, %r9d
cmovnel %eax, %ecx
movl -0x244(%rbp), %eax
leaq -0x4268(%rbp), %r9
movq %r9, -0x120(%rbp)
movq %r8, -0x128(%rbp)
movq %rdi, -0x130(%rbp)
movl %esi, -0x134(%rbp)
movl %edx, -0x138(%rbp)
movl $0x1, -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 0x16ee6
movl $0x0, -0x114(%rbp)
jmp 0x179d0
movl -0x144(%rbp), %eax
movl %eax, -0x42ac(%rbp)
testl %eax, %eax
je 0x16f12
jmp 0x16ef8
movl -0x42ac(%rbp), %eax
subl $0x1, %eax
je 0x16f32
jmp 0x16f05
movl -0x42ac(%rbp), %eax
subl $0x2, %eax
je 0x16f7e
jmp 0x16f14
jmp 0x16f14
movq -0x128(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x16fb1
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 0x16fb1
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 0x16fd5
cmpl $0x1000b, -0x134(%rbp)  # imm = 0x1000B
jl 0x16fd5
movl $0x0, -0x114(%rbp)
jmp 0x179d0
cmpl $0xd, -0x134(%rbp)
jge 0x16fe3
jmp 0x1784b
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 0x170b8
jmp 0x170bd
jmp 0x1784b
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 0x17135
movq -0x1d8(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x1711a
movq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x17133
movq $0x0, -0x1d0(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x17135
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 0x17196
movq -0x1d8(%rbp), %rcx
movb $0x1, %al
cmpq -0x178(%rbp), %rcx
movb %al, -0x42ad(%rbp)
jb 0x171fa
jmp 0x17198
jmp 0x17198
cmpl $0x2, -0x140(%rbp)
jne 0x171a3
jmp 0x171c2
movq -0x1d8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x160(%rbp), %rcx
movb %al, -0x42ad(%rbp)
jb 0x171fa
movq -0x1d8(%rbp), %rdi
addq -0x1d0(%rbp), %rdi
callq 0x28420
movl %eax, -0x42b4(%rbp)
movq -0x160(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x42b4(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x42ad(%rbp)
movb -0x42ad(%rbp), %al
testb $0x1, %al
jne 0x17054
jmp 0x1720a
movq -0x160(%rbp), %rcx
xorl %eax, %eax
cmpq -0x198(%rbp), %rcx
movb %al, -0x42b5(%rbp)
jbe 0x1726d
movq -0x1d8(%rbp), %rcx
addq -0x1d0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x170(%rbp), %rcx
movb %al, -0x42b5(%rbp)
jbe 0x1726d
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, -0x42b5(%rbp)
movb -0x42b5(%rbp), %al
testb $0x1, %al
jne 0x17279
jmp 0x172a2
movq -0x160(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x160(%rbp)
movq -0x1d8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x1d8(%rbp)
jmp 0x1720a
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 0x17335
movq -0x1b8(%rbp), %rax
movl -0x1f8(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x42c0(%rbp)
movl -0x1f8(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x42c0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x1c0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x17326
jmp 0x17335
movl $0x0, -0x114(%rbp)
jmp 0x179d0
cmpl $0xf, -0x1f8(%rbp)
jb 0x173af
movl -0x1f8(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x1fc(%rbp)
movq -0x1e0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x1fc(%rbp)
jl 0x1738e
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 0x17357
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 0x173c3
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 0x17548
movq -0x170(%rbp), %rax
cmpq -0x180(%rbp), %rax
jne 0x17548
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 0x174a7
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 0x17546
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 0x1758c
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 0x175cd
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 0x175be
jmp 0x175cd
movl $0x0, -0x114(%rbp)
jmp 0x179d0
cmpl $0xf, -0x200(%rbp)
jb 0x1769d
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 0x17647
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 0x175f8
cmpl $0xff, -0x200(%rbp)
jb 0x1767c
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 0x176b4
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 0x176d7
jmp 0x1784b
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 0x17774
movq -0x1d8(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x17759
movq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x17772
movq $0x0, -0x1d0(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x17774
movq -0x160(%rbp), %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x148(%rbp)
jne 0x177af
movq -0x1d8(%rbp), %rax
cmpq -0x178(%rbp), %rax
jae 0x177b1
jmp 0x17823
jmp 0x177b1
movq -0x1d8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x160(%rbp), %rax
jb 0x17823
movq -0x1d8(%rbp), %rdi
addq -0x1d0(%rbp), %rdi
callq 0x28420
movl %eax, -0x42c4(%rbp)
movq -0x160(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x42c4(%rbp), %eax
cmpl %ecx, %eax
jne 0x17823
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 0x173ff
movq -0x160(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x160(%rbp)
movl -0x140(%rbp), %esi
callq 0x282d0
movl %eax, -0x1c4(%rbp)
jmp 0x1702d
movq -0x1a0(%rbp), %rax
movq -0x198(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x218(%rbp)
cmpl $0x0, -0x13c(%rbp)
je 0x178d1
movq -0x1b8(%rbp), %rax
movq -0x130(%rbp), %rcx
subq %rcx, %rax
addq -0x218(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x42d0(%rbp)
movq -0x218(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x42d0(%rbp), %rax
addq %rcx, %rax
movl -0x138(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x178d1
movl $0x0, -0x114(%rbp)
jmp 0x179d0
cmpq $0xf, -0x218(%rbp)
jb 0x17966
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 0x17944
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 0x17909
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 0x1798a
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, -0x224(%rbp)
movl -0x224(%rbp), %eax
addq $0x42d0, %rsp           # imm = 0x42D0
popq %rbp
retq
nopl (%rax,%rax)