// File: /workspace/github_c_makefile_star2_O0/Aethlas[P]fflz4/./lib/lz4/lz4.c
// Function: LZ4_decompress_safe_partial
LZ4_FORCE_O2_GCC_PPC64LE
int LZ4_decompress_safe_partial(const char* src, char* dst, int compressedSize, int targetOutputSize, int dstCapacity)
{
    dstCapacity = MIN(targetOutputSize, dstCapacity);
    return LZ4_decompress_generic(src, dst, compressedSize, dstCapacity,
                                  endOnInputSize, partial_decode,
                                  noDict, (BYTE*)dst, NULL, 0);
}

// Assembly:
subq $0x238, %rsp            # imm = 0x238
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movl %edx, 0x44(%rsp)
movl %ecx, 0x40(%rsp)
movl %r8d, 0x3c(%rsp)
movl 0x40(%rsp), %eax
cmpl 0x3c(%rsp), %eax
jge 0x37e82
movl 0x40(%rsp), %eax
movl %eax, 0x38(%rsp)
jmp 0x37e8a
movl 0x3c(%rsp), %eax
movl %eax, 0x38(%rsp)
movl 0x38(%rsp), %eax
movl %eax, 0x3c(%rsp)
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movl 0x44(%rsp), %edx
movl 0x3c(%rsp), %ecx
movq 0x48(%rsp), %rax
movq %rdi, 0x168(%rsp)
movq %rsi, 0x160(%rsp)
movl %edx, 0x15c(%rsp)
movl %ecx, 0x158(%rsp)
movl $0x1, 0x154(%rsp)
movl $0x1, 0x150(%rsp)
movl $0x0, 0x14c(%rsp)
movq %rax, 0x140(%rsp)
movq $0x0, 0x138(%rsp)
movq $0x0, 0x130(%rsp)
cmpq $0x0, 0x168(%rsp)
jne 0x37f23
movl $0xffffffff, 0x174(%rsp) # imm = 0xFFFFFFFF
jmp 0x39ac3
movq 0x168(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x128(%rsp), %rax
movslq 0x15c(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x120(%rsp)
movq 0x160(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x118(%rsp), %rax
movslq 0x158(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x110(%rsp)
cmpq $0x0, 0x138(%rsp)
jne 0x37f8d
xorl %eax, %eax
movq %rax, 0x30(%rsp)
jmp 0x37fa2
movq 0x138(%rsp), %rax
addq 0x130(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x100(%rsp)
cmpl $0x1, 0x154(%rsp)
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xfc(%rsp)
xorl %eax, %eax
cmpl $0x0, 0xfc(%rsp)
movb %al, 0x2f(%rsp)
je 0x37fe9
cmpq $0x10000, 0x130(%rsp) # imm = 0x10000
setb %al
movb %al, 0x2f(%rsp)
movb 0x2f(%rsp), %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0xf8(%rsp)
movq 0x120(%rsp), %rax
movl 0x154(%rsp), %esi
movl $0x8, %ecx
movl $0xe, %edx
cmpl $0x0, %esi
cmovnel %edx, %ecx
movslq %ecx, %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
addq $-0x2, %rax
movq %rax, 0xf0(%rsp)
movq 0x110(%rsp), %rax
movl 0x154(%rsp), %esi
movl $0x8, %ecx
movl $0xe, %edx
cmpl $0x0, %esi
cmovnel %edx, %ecx
movslq %ecx, %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
addq $-0x12, %rax
movq %rax, 0xe8(%rsp)
cmpl $0x0, 0x154(%rsp)
je 0x380dc
cmpl $0x0, 0x158(%rsp)
sete %al
testb $0x1, %al
jne 0x38080
jmp 0x380dc
cmpl $0x0, 0x150(%rsp)
je 0x3809a
movl $0x0, 0x174(%rsp)
jmp 0x39ac3
xorl %eax, %eax
cmpl $0x1, 0x15c(%rsp)
movb %al, 0x2e(%rsp)
jne 0x380bf
movq 0x128(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x0, %eax
sete %al
movb %al, 0x2e(%rsp)
movb 0x2e(%rsp), %dl
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
testb $0x1, %dl
cmovnel %ecx, %eax
movl %eax, 0x174(%rsp)
jmp 0x39ac3
cmpl $0x0, 0x154(%rsp)
jne 0x3811e
cmpl $0x0, 0x158(%rsp)
sete %al
testb $0x1, %al
jne 0x380f7
jmp 0x3811e
movq 0x128(%rsp), %rax
movzbl (%rax), %edx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ecx
cmpl $0x0, %edx
cmovel %ecx, %eax
movl %eax, 0x174(%rsp)
jmp 0x39ac3
cmpl $0x0, 0x154(%rsp)
je 0x38149
cmpl $0x0, 0x15c(%rsp)
sete %al
testb $0x1, %al
jne 0x38139
jmp 0x38149
movl $0xffffffff, 0x174(%rsp) # imm = 0xFFFFFFFF
jmp 0x39ac3
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
subq %rcx, %rax
cmpq $0x40, %rax
jge 0x38167
jmp 0x38ba3
jmp 0x38169
cmpl $0x0, 0x154(%rsp)
je 0x38175
jmp 0x38175
movq 0x128(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rsp)
movzbl (%rax), %eax
movl %eax, 0xd4(%rsp)
movl 0xd4(%rsp), %eax
shrl $0x4, %eax
movl %eax, %eax
movq %rax, 0xc8(%rsp)
cmpq $0xf, 0xc8(%rsp)
jne 0x3847b
movl $0x0, 0xc4(%rsp)
movq 0x120(%rsp), %rdx
addq $-0xf, %rdx
movl 0x154(%rsp), %ecx
movl 0x154(%rsp), %eax
leaq 0x128(%rsp), %rsi
movq %rsi, 0x198(%rsp)
movq %rdx, 0x190(%rsp)
movl %ecx, 0x18c(%rsp)
movl %eax, 0x188(%rsp)
leaq 0xc4(%rsp), %rax
movq %rax, 0x180(%rsp)
movl $0x0, 0x17c(%rsp)
cmpl $0x0, 0x188(%rsp)
je 0x38266
movq 0x198(%rsp), %rax
movq (%rax), %rax
cmpq 0x190(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x38245
jmp 0x38266
movq 0x180(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x17c(%rsp), %eax
movl %eax, 0x1a4(%rsp)
jmp 0x38307
jmp 0x38268
movq 0x198(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x178(%rsp)
movq 0x198(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x178(%rsp), %eax
addl 0x17c(%rsp), %eax
movl %eax, 0x17c(%rsp)
cmpl $0x0, 0x18c(%rsp)
je 0x382e8
movq 0x198(%rsp), %rax
movq (%rax), %rax
cmpq 0x190(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x382ca
jmp 0x382e8
movq 0x180(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x17c(%rsp), %eax
movl %eax, 0x1a4(%rsp)
jmp 0x38307
cmpl $0xff, 0x178(%rsp)
je 0x38268
movl 0x17c(%rsp), %eax
movl %eax, 0x1a4(%rsp)
movl 0x1a4(%rsp), %eax
addq 0xc8(%rsp), %rax
movq %rax, 0xc8(%rsp)
cmpl $-0x1, 0xc4(%rsp)
jne 0x3832d
jmp 0x39aa1
cmpl $0x0, 0xfc(%rsp)
je 0x38360
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x118(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x3835b
jmp 0x38360
jmp 0x39aa1
cmpl $0x0, 0xfc(%rsp)
je 0x38393
movq 0x128(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x128(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x3838e
jmp 0x38393
jmp 0x39aa1
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0x154(%rsp)
je 0x38413
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x20, %rcx
cmpq %rcx, %rax
ja 0x383ef
movq 0x128(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x120(%rsp), %rcx
addq $-0x20, %rcx
cmpq %rcx, %rax
jbe 0x383f4
jmp 0x38fc7
movq 0x118(%rsp), %rdi
movq 0x128(%rsp), %rsi
movq 0x108(%rsp), %rdx
callq 0x470f0
jmp 0x3844e
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
jbe 0x38431
jmp 0x38fc7
movq 0x118(%rsp), %rdi
movq 0x128(%rsp), %rsi
movq 0x108(%rsp), %rdx
callq 0x46de0
movq 0xc8(%rsp), %rax
addq 0x128(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x108(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x3853e
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0x154(%rsp)
je 0x384db
movq 0x128(%rsp), %rax
movq 0x120(%rsp), %rcx
addq $-0x11, %rcx
cmpq %rcx, %rax
jbe 0x384bb
jmp 0x38fc7
movq 0x118(%rsp), %rax
movq 0x128(%rsp), %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
jmp 0x38516
movq 0x118(%rsp), %rax
movq 0x128(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
cmpq $0x8, 0xc8(%rsp)
jbe 0x38514
movq 0x118(%rsp), %rax
movq 0x128(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
jmp 0x38516
movq 0xc8(%rsp), %rax
addq 0x128(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x108(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x128(%rsp), %rdi
callq 0x47180
movzwl %ax, %eax
movq %rax, 0xd8(%rsp)
movq 0x128(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x128(%rsp)
movq 0x118(%rsp), %rax
xorl %ecx, %ecx
subq 0xd8(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
movl 0xd4(%rsp), %eax
andl $0xf, %eax
movl %eax, %eax
movq %rax, 0xc8(%rsp)
cmpq $0xf, 0xc8(%rsp)
jne 0x387c1
movl $0x0, 0xc0(%rsp)
cmpl $0x0, 0xf8(%rsp)
je 0x385e5
movq 0xe0(%rsp), %rax
addq 0x130(%rsp), %rax
cmpq 0x140(%rsp), %rax
setb %al
testb $0x1, %al
jne 0x385e0
jmp 0x385e5
jmp 0x39aa1
movq 0x120(%rsp), %rcx
addq $-0x5, %rcx
addq $0x1, %rcx
movl 0x154(%rsp), %eax
leaq 0x128(%rsp), %rdx
movq %rdx, 0x1c8(%rsp)
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
movl $0x0, 0x1b8(%rsp)
leaq 0xc0(%rsp), %rax
movq %rax, 0x1b0(%rsp)
movl $0x0, 0x1ac(%rsp)
cmpl $0x0, 0x1b8(%rsp)
je 0x38688
movq 0x1c8(%rsp), %rax
movq (%rax), %rax
cmpq 0x1c0(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x38667
jmp 0x38688
movq 0x1b0(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x1ac(%rsp), %eax
movl %eax, 0x1d4(%rsp)
jmp 0x38729
jmp 0x3868a
movq 0x1c8(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x1a8(%rsp)
movq 0x1c8(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x1a8(%rsp), %eax
addl 0x1ac(%rsp), %eax
movl %eax, 0x1ac(%rsp)
cmpl $0x0, 0x1bc(%rsp)
je 0x3870a
movq 0x1c8(%rsp), %rax
movq (%rax), %rax
cmpq 0x1c0(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x386ec
jmp 0x3870a
movq 0x1b0(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x1ac(%rsp), %eax
movl %eax, 0x1d4(%rsp)
jmp 0x38729
cmpl $0xff, 0x1a8(%rsp)
je 0x3868a
movl 0x1ac(%rsp), %eax
movl %eax, 0x1d4(%rsp)
movl 0x1d4(%rsp), %eax
addq 0xc8(%rsp), %rax
movq %rax, 0xc8(%rsp)
cmpl $0x0, 0xc0(%rsp)
je 0x3874f
jmp 0x39aa1
cmpl $0x0, 0xfc(%rsp)
je 0x38782
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x118(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x3877d
jmp 0x38782
jmp 0x39aa1
movq 0xc8(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xc8(%rsp)
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x40, %rcx
cmpq %rcx, %rax
jb 0x387bc
jmp 0x3940e
jmp 0x38889
movq 0xc8(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xc8(%rsp)
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x40, %rcx
cmpq %rcx, %rax
jb 0x387fb
jmp 0x3940e
cmpl $0x1, 0x14c(%rsp)
je 0x38817
movq 0xe0(%rsp), %rax
cmpq 0x140(%rsp), %rax
jb 0x38887
cmpq $0x8, 0xd8(%rsp)
jb 0x38885
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movw 0x10(%rcx), %cx
movw %cx, 0x10(%rax)
movq 0xc8(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x38169
jmp 0x38887
jmp 0x38889
cmpl $0x0, 0xf8(%rsp)
je 0x388b9
movq 0xe0(%rsp), %rax
addq 0x130(%rsp), %rax
cmpq 0x140(%rsp), %rax
setb %al
testb $0x1, %al
jne 0x388b4
jmp 0x388b9
jmp 0x39aa1
cmpl $0x2, 0x14c(%rsp)
jne 0x38b20
movq 0xe0(%rsp), %rax
cmpq 0x140(%rsp), %rax
jae 0x38b20
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x5, %rcx
cmpq %rcx, %rax
seta %al
testb $0x1, %al
jne 0x38905
jmp 0x3896a
cmpl $0x0, 0x150(%rsp)
je 0x38965
movq 0xc8(%rsp), %rax
movq 0x110(%rsp), %rcx
movq 0x118(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x3893e
movq 0xc8(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x38956
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0xc8(%rsp)
jmp 0x3896a
jmp 0x39aa1
movq 0xc8(%rsp), %rax
movq 0x140(%rsp), %rcx
movq 0xe0(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
ja 0x389df
movq 0x118(%rsp), %rdi
movq 0x100(%rsp), %rsi
movq 0x140(%rsp), %rcx
movq 0xe0(%rsp), %rax
subq %rax, %rcx
xorl %eax, %eax
subq %rcx, %rax
addq %rax, %rsi
movq 0xc8(%rsp), %rdx
callq 0x11a0
movq 0xc8(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x38b1b
movq 0x140(%rsp), %rax
movq 0xe0(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0xb8(%rsp)
movq 0xc8(%rsp), %rax
subq 0xb8(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0x118(%rsp), %rdi
movq 0x100(%rsp), %rsi
xorl %eax, %eax
subq 0xb8(%rsp), %rax
addq %rax, %rsi
movq 0xb8(%rsp), %rdx
callq 0x1140
movq 0xb8(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0xb0(%rsp), %rax
movq 0x118(%rsp), %rcx
movq 0x140(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jbe 0x38ae4
movq 0x118(%rsp), %rax
addq 0xb0(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x140(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x118(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jae 0x38ae2
movq 0xa0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xa0(%rsp)
movb (%rax), %cl
movq 0x118(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x118(%rsp)
movb %cl, (%rax)
jmp 0x38a9c
jmp 0x38b19
movq 0x118(%rsp), %rdi
movq 0x140(%rsp), %rsi
movq 0xb0(%rsp), %rdx
callq 0x1140
movq 0xb0(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x38b1b
jmp 0x38169
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpq $0x10, 0xd8(%rsp)
setb %al
testb $0x1, %al
jne 0x38b4a
jmp 0x38b71
movq 0x118(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movq 0x108(%rsp), %rdx
movq 0xd8(%rsp), %rcx
callq 0x471e0
jmp 0x38b8e
movq 0x118(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movq 0x108(%rsp), %rdx
callq 0x470f0
movq 0x108(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x38169
movq 0x128(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x128(%rsp)
movzbl (%rax), %eax
movl %eax, 0xd4(%rsp)
movl 0xd4(%rsp), %eax
shrl $0x4, %eax
movl %eax, %eax
movq %rax, 0xc8(%rsp)
cmpl $0x0, 0x154(%rsp)
je 0x38bf2
cmpq $0xf, 0xc8(%rsp)
jne 0x38c01
jmp 0x38dc4
cmpq $0x8, 0xc8(%rsp)
ja 0x38dc4
cmpl $0x0, 0x154(%rsp)
je 0x38c29
movq 0x128(%rsp), %rax
cmpq 0xf0(%rsp), %rax
setb %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, 0x1c(%rsp)
jmp 0x38c34
movl $0x1, %eax
movl %eax, 0x1c(%rsp)
jmp 0x38c34
movl 0x1c(%rsp), %eax
movq 0x118(%rsp), %rcx
cmpq 0xe8(%rsp), %rcx
setbe %cl
andb $0x1, %cl
movzbl %cl, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
setne %al
testb $0x1, %al
jne 0x38c62
jmp 0x38dc4
movq 0x118(%rsp), %rdi
movq 0x128(%rsp), %rsi
movl 0x154(%rsp), %edx
movl $0x8, %eax
movl $0x10, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movslq %eax, %rdx
callq 0x1140
movq 0xc8(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0xc8(%rsp), %rax
addq 0x128(%rsp), %rax
movq %rax, 0x128(%rsp)
movl 0xd4(%rsp), %eax
andl $0xf, %eax
movl %eax, %eax
movq %rax, 0xc8(%rsp)
movq 0x128(%rsp), %rdi
callq 0x47180
movzwl %ax, %eax
movq %rax, 0xd8(%rsp)
movq 0x128(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x128(%rsp)
movq 0x118(%rsp), %rax
xorl %ecx, %ecx
subq 0xd8(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
cmpq $0xf, 0xc8(%rsp)
je 0x38dbf
cmpq $0x8, 0xd8(%rsp)
jb 0x38dbf
cmpl $0x1, 0x14c(%rsp)
je 0x38d58
movq 0xe0(%rsp), %rax
cmpq 0x140(%rsp), %rax
jb 0x38dbf
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movw 0x10(%rcx), %cx
movw %cx, 0x10(%rax)
movq 0xc8(%rsp), %rax
addq $0x4, %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x38ba3
jmp 0x39241
cmpq $0xf, 0xc8(%rsp)
jne 0x38faf
movl $0x0, 0x9c(%rsp)
movq 0x120(%rsp), %rdx
addq $-0xf, %rdx
movl 0x154(%rsp), %ecx
movl 0x154(%rsp), %eax
leaq 0x128(%rsp), %rsi
movq %rsi, 0x1f8(%rsp)
movq %rdx, 0x1f0(%rsp)
movl %ecx, 0x1ec(%rsp)
movl %eax, 0x1e8(%rsp)
leaq 0x9c(%rsp), %rax
movq %rax, 0x1e0(%rsp)
movl $0x0, 0x1dc(%rsp)
cmpl $0x0, 0x1e8(%rsp)
je 0x38e80
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
cmpq 0x1f0(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x38e5f
jmp 0x38e80
movq 0x1e0(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x1dc(%rsp), %eax
movl %eax, 0x204(%rsp)
jmp 0x38f21
jmp 0x38e82
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x1d8(%rsp)
movq 0x1f8(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x1d8(%rsp), %eax
addl 0x1dc(%rsp), %eax
movl %eax, 0x1dc(%rsp)
cmpl $0x0, 0x1ec(%rsp)
je 0x38f02
movq 0x1f8(%rsp), %rax
movq (%rax), %rax
cmpq 0x1f0(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x38ee4
jmp 0x38f02
movq 0x1e0(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x1dc(%rsp), %eax
movl %eax, 0x204(%rsp)
jmp 0x38f21
cmpl $0xff, 0x1d8(%rsp)
je 0x38e82
movl 0x1dc(%rsp), %eax
movl %eax, 0x204(%rsp)
movl 0x204(%rsp), %eax
addq 0xc8(%rsp), %rax
movq %rax, 0xc8(%rsp)
cmpl $-0x1, 0x9c(%rsp)
jne 0x38f47
jmp 0x39aa1
cmpl $0x0, 0xfc(%rsp)
je 0x38f7a
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x118(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x38f75
jmp 0x38f7a
jmp 0x39aa1
cmpl $0x0, 0xfc(%rsp)
je 0x38fad
movq 0x128(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x128(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x38fa8
jmp 0x38fad
jmp 0x39aa1
jmp 0x38faf
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0x154(%rsp)
je 0x3900b
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0xc, %rcx
cmpq %rcx, %rax
ja 0x39036
movq 0x128(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x120(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
ja 0x39036
cmpl $0x0, 0x154(%rsp)
jne 0x3919f
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
jbe 0x3919f
cmpl $0x0, 0x150(%rsp)
je 0x390bf
movq 0x128(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x120(%rsp), %rcx
addq $-0x8, %rcx
cmpq %rcx, %rax
jbe 0x39080
movq 0x128(%rsp), %rax
addq 0xc8(%rsp), %rax
cmpq 0x120(%rsp), %rax
je 0x39080
jmp 0x39aa1
movq 0x108(%rsp), %rax
cmpq 0x110(%rsp), %rax
jbe 0x390bd
movq 0x110(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0xc8(%rsp)
jmp 0x3911d
cmpl $0x0, 0x154(%rsp)
jne 0x390e0
movq 0x108(%rsp), %rax
cmpq 0x110(%rsp), %rax
je 0x390e0
jmp 0x39aa1
cmpl $0x0, 0x154(%rsp)
je 0x3911b
movq 0x128(%rsp), %rax
addq 0xc8(%rsp), %rax
cmpq 0x120(%rsp), %rax
jne 0x39116
movq 0x108(%rsp), %rax
cmpq 0x110(%rsp), %rax
jbe 0x3911b
jmp 0x39aa1
jmp 0x3911d
movq 0x118(%rsp), %rdi
movq 0x128(%rsp), %rsi
movq 0xc8(%rsp), %rdx
callq 0x11a0
movq 0xc8(%rsp), %rax
addq 0x128(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0xc8(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
cmpl $0x0, 0x150(%rsp)
je 0x39198
movq 0x108(%rsp), %rax
cmpq 0x110(%rsp), %rax
je 0x39198
movq 0x128(%rsp), %rax
cmpq 0x120(%rsp), %rax
jne 0x3919d
jmp 0x39a5f
jmp 0x391e4
movq 0x118(%rsp), %rdi
movq 0x128(%rsp), %rsi
movq 0x108(%rsp), %rdx
callq 0x46de0
movq 0xc8(%rsp), %rax
addq 0x128(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x108(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x128(%rsp), %rdi
callq 0x47180
movzwl %ax, %eax
movq %rax, 0xd8(%rsp)
movq 0x128(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x128(%rsp)
movq 0x118(%rsp), %rax
xorl %ecx, %ecx
subq 0xd8(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
movl 0xd4(%rsp), %eax
andl $0xf, %eax
movl %eax, %eax
movq %rax, 0xc8(%rsp)
cmpq $0xf, 0xc8(%rsp)
jne 0x393fa
movl $0x0, 0x98(%rsp)
movq 0x120(%rsp), %rcx
addq $-0x5, %rcx
addq $0x1, %rcx
movl 0x154(%rsp), %eax
leaq 0x128(%rsp), %rdx
movq %rdx, 0x228(%rsp)
movq %rcx, 0x220(%rsp)
movl %eax, 0x21c(%rsp)
movl $0x0, 0x218(%rsp)
leaq 0x98(%rsp), %rax
movq %rax, 0x210(%rsp)
movl $0x0, 0x20c(%rsp)
cmpl $0x0, 0x218(%rsp)
je 0x392fe
movq 0x228(%rsp), %rax
movq (%rax), %rax
cmpq 0x220(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x392dd
jmp 0x392fe
movq 0x210(%rsp), %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl 0x20c(%rsp), %eax
movl %eax, 0x234(%rsp)
jmp 0x3939f
jmp 0x39300
movq 0x228(%rsp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
movl %eax, 0x208(%rsp)
movq 0x228(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl 0x208(%rsp), %eax
addl 0x20c(%rsp), %eax
movl %eax, 0x20c(%rsp)
cmpl $0x0, 0x21c(%rsp)
je 0x39380
movq 0x228(%rsp), %rax
movq (%rax), %rax
cmpq 0x220(%rsp), %rax
setae %al
testb $0x1, %al
jne 0x39362
jmp 0x39380
movq 0x210(%rsp), %rax
movl $0xfffffffe, (%rax)     # imm = 0xFFFFFFFE
movl 0x20c(%rsp), %eax
movl %eax, 0x234(%rsp)
jmp 0x3939f
cmpl $0xff, 0x208(%rsp)
je 0x39300
movl 0x20c(%rsp), %eax
movl %eax, 0x234(%rsp)
movl 0x234(%rsp), %eax
addq 0xc8(%rsp), %rax
movq %rax, 0xc8(%rsp)
cmpl $0x0, 0x98(%rsp)
je 0x393c5
jmp 0x39aa1
cmpl $0x0, 0xfc(%rsp)
je 0x393f8
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x118(%rsp), %rcx
cmpq %rcx, %rax
setb %al
testb $0x1, %al
jne 0x393f3
jmp 0x393f8
jmp 0x39aa1
jmp 0x393fa
movq 0xc8(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xc8(%rsp)
cmpl $0x0, 0xf8(%rsp)
je 0x3943e
movq 0xe0(%rsp), %rax
addq 0x130(%rsp), %rax
cmpq 0x140(%rsp), %rax
setb %al
testb $0x1, %al
jne 0x39439
jmp 0x3943e
jmp 0x39aa1
cmpl $0x2, 0x14c(%rsp)
jne 0x3969c
movq 0xe0(%rsp), %rax
cmpq 0x140(%rsp), %rax
jae 0x3969c
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x5, %rcx
cmpq %rcx, %rax
seta %al
testb $0x1, %al
jne 0x3948a
jmp 0x394ef
cmpl $0x0, 0x150(%rsp)
je 0x394ea
movq 0xc8(%rsp), %rax
movq 0x110(%rsp), %rcx
movq 0x118(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x394c3
movq 0xc8(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x394db
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xc8(%rsp)
jmp 0x394ef
jmp 0x39aa1
movq 0xc8(%rsp), %rax
movq 0x140(%rsp), %rcx
movq 0xe0(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
ja 0x39564
movq 0x118(%rsp), %rdi
movq 0x100(%rsp), %rsi
movq 0x140(%rsp), %rcx
movq 0xe0(%rsp), %rax
subq %rax, %rcx
xorl %eax, %eax
subq %rcx, %rax
addq %rax, %rsi
movq 0xc8(%rsp), %rdx
callq 0x11a0
movq 0xc8(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x39697
movq 0x140(%rsp), %rax
movq 0xe0(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x90(%rsp)
movq 0xc8(%rsp), %rax
subq 0x90(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0x118(%rsp), %rdi
movq 0x100(%rsp), %rsi
xorl %eax, %eax
subq 0x90(%rsp), %rax
addq %rax, %rsi
movq 0x90(%rsp), %rdx
callq 0x1140
movq 0x90(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x88(%rsp), %rax
movq 0x118(%rsp), %rcx
movq 0x140(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jbe 0x39660
movq 0x118(%rsp), %rax
addq 0x88(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x140(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x118(%rsp), %rax
cmpq 0x80(%rsp), %rax
jae 0x3965e
movq 0x78(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0x78(%rsp)
movb (%rax), %cl
movq 0x118(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x118(%rsp)
movb %cl, (%rax)
jmp 0x3961e
jmp 0x39695
movq 0x118(%rsp), %rdi
movq 0x140(%rsp), %rsi
movq 0x88(%rsp), %rdx
callq 0x1140
movq 0x88(%rsp), %rax
addq 0x118(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x39697
jmp 0x38ba3
movq 0x118(%rsp), %rax
addq 0xc8(%rsp), %rax
movq %rax, 0x108(%rsp)
cmpl $0x0, 0x150(%rsp)
je 0x397ed
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0xc, %rcx
cmpq %rcx, %rax
jbe 0x397ed
movq 0xc8(%rsp), %rax
movq 0x110(%rsp), %rcx
movq 0x118(%rsp), %rdx
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x3970e
movq 0xc8(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x39726
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0xe0(%rsp), %rax
addq 0x70(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x118(%rsp), %rax
addq 0x70(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x68(%rsp), %rax
cmpq 0x118(%rsp), %rax
jbe 0x397aa
jmp 0x39765
movq 0x118(%rsp), %rax
cmpq 0x60(%rsp), %rax
jae 0x397a8
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movb (%rax), %cl
movq 0x118(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x118(%rsp)
movb %cl, (%rax)
jmp 0x39765
jmp 0x397c4
movq 0x118(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movq 0x70(%rsp), %rdx
callq 0x1140
movq 0x60(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x118(%rsp), %rax
cmpq 0x110(%rsp), %rax
jne 0x397e8
jmp 0x39a5f
jmp 0x38ba3
cmpq $0x8, 0xd8(%rsp)
setb %al
testb $0x1, %al
jne 0x39802
jmp 0x398d2
movq 0x118(%rsp), %rdi
xorl %esi, %esi
callq 0x46f40
movq 0xe0(%rsp), %rax
movb (%rax), %cl
movq 0x118(%rsp), %rax
movb %cl, (%rax)
movq 0xe0(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x118(%rsp), %rax
movb %cl, 0x1(%rax)
movq 0xe0(%rsp), %rax
movb 0x2(%rax), %cl
movq 0x118(%rsp), %rax
movb %cl, 0x2(%rax)
movq 0xe0(%rsp), %rax
movb 0x3(%rax), %cl
movq 0x118(%rsp), %rax
movb %cl, 0x3(%rax)
movq 0xd8(%rsp), %rcx
leaq 0x13c0a(%rip), %rax     # 0x4d480
movl (%rax,%rcx,4), %ecx
movq 0xe0(%rsp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movl (%rcx), %ecx
movl %ecx, 0x4(%rax)
movq 0xd8(%rsp), %rcx
leaq 0x13bee(%rip), %rax     # 0x4d4a0
movl (%rax,%rcx,4), %ecx
movq 0xe0(%rsp), %rax
movslq %ecx, %rdx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
jmp 0x398fc
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x118(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x118(%rsp)
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0xc, %rcx
cmpq %rcx, %rax
seta %al
testb $0x1, %al
jne 0x39933
jmp 0x39a02
movq 0x110(%rsp), %rax
addq $-0x7, %rax
movq %rax, 0x58(%rsp)
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
addq $-0x5, %rcx
cmpq %rcx, %rax
jbe 0x39962
jmp 0x39aa1
movq 0x118(%rsp), %rax
cmpq 0x58(%rsp), %rax
jae 0x399b8
movq 0x118(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movq 0x58(%rsp), %rdx
callq 0x46de0
movq 0x58(%rsp), %rax
movq 0x118(%rsp), %rcx
subq %rcx, %rax
addq 0xe0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x399ba
movq 0x118(%rsp), %rax
cmpq 0x108(%rsp), %rax
jae 0x39a00
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movb (%rax), %cl
movq 0x118(%rsp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x118(%rsp)
movb %cl, (%rax)
jmp 0x399ba
jmp 0x39a4a
movq 0x118(%rsp), %rax
movq 0xe0(%rsp), %rcx
movq (%rcx), %rcx
movq %rcx, (%rax)
cmpq $0x10, 0xc8(%rsp)
jbe 0x39a48
movq 0x118(%rsp), %rdi
addq $0x8, %rdi
movq 0xe0(%rsp), %rsi
addq $0x8, %rsi
movq 0x108(%rsp), %rdx
callq 0x46de0
jmp 0x39a4a
movq 0x108(%rsp), %rax
movq %rax, 0x118(%rsp)
jmp 0x38ba3
cmpl $0x0, 0x154(%rsp)
je 0x39a85
movq 0x118(%rsp), %rax
movq 0x160(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x174(%rsp)
jmp 0x39ac3
movq 0x128(%rsp), %rax
movq 0x168(%rsp), %rcx
subq %rcx, %rax
movl %eax, 0x174(%rsp)
jmp 0x39ac3
movq 0x128(%rsp), %rcx
movq 0x168(%rsp), %rax
subq %rax, %rcx
xorl %eax, %eax
subq %rcx, %rax
subl $0x1, %eax
movl %eax, 0x174(%rsp)
movl 0x174(%rsp), %eax
addq $0x238, %rsp            # imm = 0x238
retq
nopw %cs:(%rax,%rax)