Function at 0x14015f1f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rdi, qword [rcx + 0x70]
mov r11, qword [rsp + 0x110]
mov r12d, dword [rcx + 0x18]
mov ebp, dword [rcx + 0x110]
mov qword [rsp + 0x30], rdi
mov rsi, r9
mov rbx, rdx
mov edi, dword [rcx + 0x108]
mov rax, rsi
mov r9d, dword [rcx + 0x100]
mov edx, dword [rcx + 0x28]
mov qword [rsp + 0x100], r8
mov dword [rsp + 0x44], edi
mov rdi, qword [rcx + 0x80]
mov dword [rsp + 0x68], r9d
mov qword [rsp + 0x48], rdi
mov edi, dword [rcx + 0x104]
mov dword [rsp + 0x58], edi
mov rdi, qword [rcx + 8]
mov ecx, r12d
sub rax, rdi
mov qword [rsp + 0x28], rdi
lea r8d, [rax + r11]
call fcn.14017ebc0
mov r9d, dword [rsp + 0x68]
mov ecx, r12d
mov dword [rsp + 0x5c], eax
mov eax, eax
add rax, rdi
mov qword [rsp + 0x60], rax
lea rax, [rsi + r11]
xor r11d, r11d
mov qword [rsp + 0x20], rax
sub rax, 8
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x100]
mov eax, dword [rax]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 4]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x60]
cmp rsi, rax
mov rax, qword [rsp + 0x28]
sete r11b
add r11, rsi
mov rdi, r11
sub rdi, rax
mov r8d, edi
call fcn.14017ebc0
sub edi, eax
cmp ebp, 6
je 0x14015afdd
cmp ebp, 7
je 0x14015b76b
cmp ebp, 5
mov eax, dword [rsp + 0x3c]
mov ebp, 0
je 0x14015a843
cmp edi, eax
jb 0x14015a014
xor r12d, r12d
mov ebp, eax
mov dword [rsp + 0x3c], r12d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x14015a1c2
xor edi, edi
mov r15d, eax
mov dword [rsp + 0x40], edi
jmp 0x14015a1c2
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.14017ed40
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.14017ed40
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x14015a1bf
test ebp, ebp
je 0x14015a1bf
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.14017b350
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.14017ed40
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14015a355
cmp qword [rsp + 0x20], rsi
jb 0x14015a372
cmp r14, rsi
jb 0x14015a80d
movups xmm2, xmmword [rsi]
movups xmmword [rcx], xmm2
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14015a454
inc rdi
cmp rdi, 0xffff
ja 0x14015a820
mov word [rax + 6], di
add rax, 8
add rsi, r12
xchg ebp, r15d
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x14015a0b9
mov r11, rsi
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jb 0x14015b948
cmp dword [rsp + 0x44], 0x20
jbe 0x14015a203
mov r8d, 0x342
lea rdx, [0x1402b4540]
lea rcx, [0x1402b46bd]
jmp 0x14015a31c
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.14017f290
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14015a1ea
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.14017ed40
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x14015a4b9
test r15d, r15d
je 0x14015a4b9
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.14017b350
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jb 0x14015a322
mov r8d, 0x29d
lea rdx, [0x1402b4540]
lea rcx, [0x1402b46c9]
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
jbe 0x14015a344
mov r8d, 0x29f
lea rdx, [0x1402b4540]
lea rcx, [0x1402b4720]
jmp 0x14015a31c
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jae 0x14015a36b
mov r8d, 0x2a0
lea rdx, [0x1402b4540]
lea rcx, [0x1402b4740]
jmp 0x14015a31c
cmp qword [rsp + 0x20], r13
jae 0x14015a388
mov r8d, 0x2a1
lea rdx, [0x1402b4540]
lea rcx, [0x1402b478e]
jmp 0x14015a31c
cmp r9, r13
jb 0x14015a405
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x14015a410
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
ja 0x14015a3c8
mov r8d, 0xe9
lea rdx, [0x1402b457b]
lea rcx, [0x1402b45a7]
jmp 0x14015a31c
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x14015a410
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm2, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rax, rdx
jb 0x14015a3e5
jmp 0x14015a410
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x14015a440
cmp dword [rbx + 0x48], 0
je 0x14015a42b
mov r8d, 0x2b2
jmp 0x14015a485
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
ja 0x14015a46d
mov r8d, 0x2bc
lea rdx, [0x1402b4540]
lea rcx, [0x1402b47dc]
jmp 0x14015a31c
inc rsi
cmp rsi, 0xffff
jbe 0x14015a4ac
cmp dword [rbx + 0x48], 0
je 0x14015a498
mov r8d, 0x2bf
lea rdx, [0x1402b4540]
lea rcx, [0x1402b47af]
jmp 0x14015a31c
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x14015a7f1
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.14017f290
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x14015a552
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x14015a552
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015a66b
cmp qword [rsp + 0x60], r9
jae 0x14015a66b
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015a66b
dec r13
dec r9
inc r14
jmp 0x14015a525
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x14015a588
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x14015a588
cmp dword [rsp + 0x5c], r13d
jb 0x14015a5c9
jmp 0x14015a61e
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x14015a5ab
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x14015b948
mov rdi, rax
jmp 0x14015a249
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x14015a61e
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015a66b
cmp qword [rsp + 0x60], r9
jae 0x14015a66b
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015a66b
dec r13
dec r9
inc r14
jmp 0x14015a5fd
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.14017b350
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015a66b
cmp qword [rsp + 0x60], r11
jae 0x14015a66b
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x14015a66b
dec r13
dec r11
inc r14
jmp 0x14015a64a
cmp qword [rsp + 0x78], 3
ja 0x14015a688
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
jne 0x14015a6a8
mov r8d, 0x10f
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x1402b481f]
jmp 0x14015a31c
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14015a355
cmp qword [rsp + 0x20], r13
jb 0x14015a372
cmp r9, r13
jb 0x14015a76b
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x14015a776
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14015a3af
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x14015a776
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm0, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm1
cmp rax, rdx
jb 0x14015a74b
jmp 0x14015a776
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x14015a7a2
cmp dword [rbx + 0x48], 0
jne 0x14015a423
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14015a454
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x14015a7e1
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x14015a031
mov r12, rsi
jmp 0x14015a1c8
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.140183db0
jmp 0x14015a178
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x14015a1a2
cmp edi, eax
jb 0x14015a851
xor r10d, r10d
mov ebp, eax
mov dword [rsp + 0x3c], r10d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x14015aa01
xor r9d, r9d
mov r15d, eax
mov dword [rsp + 0x40], r9d
jmp 0x14015aa01
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.14017ee80
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.14017ee80
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x14015afd5
test ebp, ebp
je 0x14015afd5
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.14017b350
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.14017ee80
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14015a355
cmp qword [rsp + 0x20], rsi
jb 0x14015a372
cmp r14, rsi
jb 0x14015af97
movups xmm5, xmmword [rsi]
movups xmmword [rcx], xmm5
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14015a454
inc rdi
cmp rdi, 0xffff
ja 0x14015afaa
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x14015afcd
mov r11, rsi
xchg r15d, ebp
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jb 0x14015b948
cmp dword [rsp + 0x44], 0x20
ja 0x14015a1ea
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.14017f290
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14015a1ea
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.14017ee80
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x14015ac58
test r15d, r15d
je 0x14015ac58
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.14017b350
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x14015a355
cmp qword [rsp + 0x20], r13
jb 0x14015a372
cmp r9, r13
jb 0x14015abd2
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x14015abdd
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14015a3af
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x14015abdd
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm5, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jb 0x14015abb2
jmp 0x14015abdd
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x14015ac09
cmp dword [rbx + 0x48], 0
jne 0x14015a423
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
jbe 0x14015a454
inc rsi
cmp rsi, 0xffff
jbe 0x14015ac4b
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x14015af7b
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.14017f290
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x14015acf1
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x14015acf1
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015ae0a
cmp qword [rsp + 0x60], r9
jae 0x14015ae0a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015ae0a
dec r13
dec r9
inc r14
jmp 0x14015acc4
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x14015ad27
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x14015ad27
cmp dword [rsp + 0x5c], r13d
jb 0x14015ad68
jmp 0x14015adbd
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x14015ad4a
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x14015b948
mov rdi, rax
jmp 0x14015aa73
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x14015adbd
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015ae0a
cmp qword [rsp + 0x60], r9
jae 0x14015ae0a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015ae0a
dec r13
dec r9
inc r14
jmp 0x14015ad9c
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.14017b350
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015ae0a
cmp qword [rsp + 0x60], r11
jae 0x14015ae0a
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x14015ae0a
dec r13
dec r11
inc r14
jmp 0x14015ade9
cmp qword [rsp + 0x78], 3
ja 0x14015ae27
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
je 0x14015a68f
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14015a355
cmp qword [rsp + 0x20], r13
jb 0x14015a372
cmp r9, r13
jb 0x14015aef5
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x14015af00
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14015a3af
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x14015af00
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm3, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm3
movups xmm4, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm4
cmp rax, rdx
jb 0x14015aed5
jmp 0x14015af00
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x14015af2c
cmp dword [rbx + 0x48], 0
jne 0x14015a423
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14015a454
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x14015af6b
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x14015a870
mov r12, rsi
jmp 0x14015aa07
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.140183db0
jmp 0x14015a9b7
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x14015a9e1
xchg ebp, r15d
jmp 0x14015a8f8
xchg r15d, ebp
jmp 0x14015a9fb
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x14015aff1
xor r8d, r8d
mov ebp, eax
mov dword [rsp + 0x3c], r8d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x14015b19f
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x40], ecx
jmp 0x14015b19f
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.14017f010
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.14017f010
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x14015b19c
test ebp, ebp
je 0x14015b19c
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.14017b350
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.14017f010
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14015a355
cmp qword [rsp + 0x20], rsi
jb 0x14015a372
cmp r14, rsi
jb 0x14015b735
movups xmm2, xmmword [rsi]
movups xmmword [rcx], xmm2
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14015a454
inc rdi
cmp rdi, 0xffff
ja 0x14015b748
mov word [rax + 6], di
add rax, 8
add rsi, r12
xchg ebp, r15d
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x14015b096
mov r11, rsi
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jb 0x14015b948
cmp dword [rsp + 0x44], 0x20
ja 0x14015a1ea
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.14017f290
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14015a1ea
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.14017f010
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x14015b3f6
test r15d, r15d
je 0x14015b3f6
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.14017b350
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x14015a355
cmp qword [rsp + 0x20], r13
jb 0x14015a372
cmp r9, r13
jb 0x14015b370
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x14015b37b
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14015a3af
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x14015b37b
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm2, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm2
movups xmm3, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm3
cmp rax, rdx
jb 0x14015b350
jmp 0x14015b37b
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x14015b3a7
cmp dword [rbx + 0x48], 0
jne 0x14015a423
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
jbe 0x14015a454
inc rsi
cmp rsi, 0xffff
jbe 0x14015b3e9
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x14015b719
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.14017f290
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x14015b48f
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x14015b48f
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015b5a8
cmp qword [rsp + 0x60], r9
jae 0x14015b5a8
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015b5a8
dec r13
dec r9
inc r14
jmp 0x14015b462
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x14015b4c5
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x14015b4c5
cmp dword [rsp + 0x5c], r13d
jb 0x14015b506
jmp 0x14015b55b
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x14015b4e8
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x14015b948
mov rdi, rax
jmp 0x14015b211
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x14015b55b
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015b5a8
cmp qword [rsp + 0x60], r9
jae 0x14015b5a8
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015b5a8
dec r13
dec r9
inc r14
jmp 0x14015b53a
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.14017b350
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015b5a8
cmp qword [rsp + 0x60], r11
jae 0x14015b5a8
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x14015b5a8
dec r13
dec r11
inc r14
jmp 0x14015b587
cmp qword [rsp + 0x78], 3
ja 0x14015b5c5
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
je 0x14015a68f
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14015a355
cmp qword [rsp + 0x20], r13
jb 0x14015a372
cmp r9, r13
jb 0x14015b693
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x14015b69e
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14015a3af
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x14015b69e
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm0, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm1
cmp rax, rdx
jb 0x14015b673
jmp 0x14015b69e
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x14015b6ca
cmp dword [rbx + 0x48], 0
jne 0x14015a423
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14015a454
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x14015b709
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x14015b00e
mov r12, rsi
jmp 0x14015b1a5
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.140183db0
jmp 0x14015b155
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x14015b17f
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x14015b77d
xor edx, edx
mov ebp, eax
mov dword [rsp + 0x3c], edx
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x14015b92b
mov r15d, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x14015b92b
mov edi, dword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
mov edx, dword [rsp + 0x44]
lea r12d, [rdi + 2]
mov rdi, r12
add r12, rax
mov rcx, r12
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 2]
mov rax, qword [rsp + 0x28]
mov r13, rcx
sub r13, rax
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.14017f1a0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], edi
lea rcx, [rsi - 1]
mov rax, qword [rsp + 0x28]
mov rdi, rcx
sub rdi, rax
call fcn.14017f1a0
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x20]
lea r14, [rax - 0x20]
mov eax, ebp
mov rdx, rsi
mov edi, dword [rsi]
sub rdx, rax
cmp dword [rdx], edi
jne 0x14015bf64
test ebp, ebp
je 0x14015bf64
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.14017b350
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov rdi, rax
lea r12, [rax + 4]
mov rax, qword [rsp + 0x28]
sub r13, rax
call fcn.14017f1a0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.14017f290
mov rcx, qword [rsp + 0x30]
mov dword [rcx + rax*4], r13d
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x14015a355
cmp qword [rsp + 0x20], rsi
jb 0x14015a372
cmp r14, rsi
jb 0x14015bf26
movups xmm5, xmmword [rsi]
movups xmmword [rcx], xmm5
mov rax, qword [rbx + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r12, 2
jbe 0x14015a454
inc rdi
cmp rdi, 0xffff
ja 0x14015bf39
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x14015bf5c
mov r11, rsi
xchg r15d, ebp
mov r12, rsi
mov rsi, r11
lea rax, [rsi + 0x100]
lea rdi, [rsi + 1]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x50], rdi
jae 0x14015b961
cmp dword [rsp + 0x40], 0
je 0x14015bcab
test r15d, r15d
jne 0x14015bcb6
jmp 0x14015bcab
cmp dword [rsp + 0x44], 0x20
ja 0x14015a1ea
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.14017f290
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
mov eax, 1
sub rax, r14
mov qword [rsp + 0x88], rax
cmp dword [rsp + 0x58], 0x20
mov qword [rsp + 0x90], r9
ja 0x14015a1ea
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.14017f1a0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x90]
lea rax, [rcx + rax*4]
mov rcx, rsi
sub rcx, rdx
mov r11d, dword [rax]
mov qword [rsp + 0x80], rcx
mov ecx, dword [rsp + 0x80]
mov edx, dword [rsp + 0x80]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov dword [rax + rcx*4], edx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsi + 1]
cmp dword [rsi + rax], ecx
jne 0x14015bb97
test r15d, r15d
je 0x14015bb97
mov rax, rsi
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 5]
lea r13, [rsi + 1]
sub rax, r14
mov rdi, r13
lea rdx, [rax + 5]
sub rdi, r12
call fcn.14017b350
mov rsi, rax
lea r14, [rax + 4]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x14015a355
cmp qword [rsp + 0x20], r13
jb 0x14015a372
cmp r9, r13
jb 0x14015bb11
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x14015bb1c
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14015a3af
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x14015bb1c
lea rdx, [rax + rdi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm5, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm5
movups xmm0, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm0
cmp rax, rdx
jb 0x14015baf1
jmp 0x14015bb1c
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x14015bb48
cmp dword [rbx + 0x48], 0
jne 0x14015a423
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], di
mov dword [rax], 1
cmp r14, 2
jbe 0x14015a454
inc rsi
cmp rsi, 0xffff
jbe 0x14015bb8a
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov word [rax + 6], si
add rax, 8
jmp 0x14015bf0a
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.14017f290
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x14015bc30
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x14015bc30
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015bd99
cmp qword [rsp + 0x60], r9
jae 0x14015bd99
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015bd99
dec r13
dec r9
inc r14
jmp 0x14015bc03
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov r9d, dword [rax + rcx*4]
mov rax, qword [rsp + 0x28]
mov r13, r9
add r9, rax
cmp dword [rsp + 0x5c], r11d
jae 0x14015bc6a
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x14015bc6a
cmp dword [rsp + 0x5c], r13d
jb 0x14015bcf7
jmp 0x14015bd4c
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x14015bc8d
prefetcht0 byte [rdi + 0x40]
prefetcht0 byte [rdi + 0x80]
inc qword [rsp + 0x78]
add qword [rsp + 0x70], 0x100
mov rax, qword [rsp + 0x78]
mov rsi, rdi
add rax, rdi
cmp qword [rsp + 0x50], rax
jb 0x14015b948
mov rdi, rax
jmp 0x14015b9b2
test r15d, r15d
cmove r15d, dword [rsp + 0x40]
jmp 0x14015bcbe
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x3c], eax
test ebp, ebp
cmove ebp, dword [rsp + 0x3c]
mov rax, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x100]
mov dword [rsp + 0x3c], ebp
mov edi, dword [rsp + 0x3c]
sub rax, r12
mov dword [rbx], r15d
mov dword [rbx + 4], edi
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x14015bd4c
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.14017b350
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015bd99
cmp qword [rsp + 0x60], r9
jae 0x14015bd99
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x14015bd99
dec r13
dec r9
inc r14
jmp 0x14015bd2b
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.14017b350
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x14015bd99
cmp qword [rsp + 0x60], r11
jae 0x14015bd99
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x14015bd99
dec r13
dec r11
inc r14
jmp 0x14015bd78
cmp qword [rsp + 0x78], 3
ja 0x14015bdb6
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
sub rdi, rax
mov rax, qword [rsp + 0x30]
mov dword [rax + rsi*4], edi
cmp dword [rsp + 0x70], 0
je 0x14015a68f
mov eax, dword [rsp + 0x70]
mov rsi, r13
sub rsi, r12
lea edi, [rax + 3]
mov rax, qword [rsp + 0x20]
lea r9, [rax - 0x20]
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
sar rax, 3
cmp rax, qword [rbx + 0x38]
jae 0x14015a308
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x14015a32e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x14015a355
cmp qword [rsp + 0x20], r13
jb 0x14015a372
cmp r9, r13
jb 0x14015be84
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x14015be8f
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x14015a3af
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x14015be8f
lea rdx, [rax + rsi]
lea r10, [r12 + 0x20]
add rax, 0x20
movups xmm3, xmmword [r10]
add rax, 0x20
add r10, 0x20
movups xmmword [rax - 0x20], xmm3
movups xmm4, xmmword [r10 - 0x10]
movups xmmword [rax - 0x10], xmm4
cmp rax, rdx
jb 0x14015be64
jmp 0x14015be8f
mov r8, r13
mov rdx, r12
call fcn.140183db0
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x14015bebb
cmp dword [rbx + 0x48], 0
jne 0x14015a423
mov rax, qword [rbx + 8]
sub rax, qword [rbx]
mov dword [rbx + 0x48], 1
sar rax, 3
mov dword [rbx + 0x4c], eax
mov rax, qword [rbx + 8]
mov word [rax + 4], si
mov dword [rax], edi
cmp r14, 2
jbe 0x14015a454
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x14015befa
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
mov ebp, r15d
mov r15d, dword [rsp + 0x70]
mov word [rax + 6], cx
add rax, 8
mov qword [rbx + 8], rax
lea rsi, [r13 + r14]
cmp qword [rsp + 0x50], rsi
jae 0x14015b79a
mov r12, rsi
jmp 0x14015b931
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.140183db0
jmp 0x14015b8e1
cmp dword [rbx + 0x48], 0
jne 0x14015a47f
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x14015b90b
xchg ebp, r15d
jmp 0x14015b822
xchg r15d, ebp
jmp 0x14015b925
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov edi, dword [rsp + 0x128]
mov r10d, dword [rcx + 0x1c]
mov r11d, dword [rcx + 0x28]
mov dword [rsp + 0x4c], edi
mov rdi, qword [rcx + 0x70]
mov rbx, r9
mov rax, rcx
mov r9, qword [rsp + 0x120]
mov qword [rsp + 0x78], r8
mov r8, rbx
mov rsi, rdx
mov qword [rsp + 0x68], rdi
mov edi, dword [rcx + 0x108]
mov edx, 1
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x98], edi
mov rdi, qword [rcx + 0x80]
mov qword [rsp + 0x80], rdi
mov edi, dword [rcx + 0x104]
mov dword [rsp + 0x40], edi
lea rdi, [rbx + r9]
mov qword [rsp + 0x30], rdi
sub rdi, 8
mov qword [rsp + 0x88], rdi
mov rdi, qword [rcx + 8]
mov ecx, dword [rcx + 0x100]
sub r8, rdi
mov qword [rsp + 0x38], rdi
add r8d, r9d
shl edx, cl
mov ecx, r8d
sub ecx, r10d
cmp edx, ecx
jae 0x14015f2a6
sub r8d, edx
mov dword [rsp + 0x48], r8d
mov edx, dword [rax + 0x18]
test r11d, r11d
cmove r10d, dword [rsp + 0x48]
cmp edx, r10d
mov edi, r10d
mov r8d, r10d
mov dword [rsp + 0x48], r10d
cmovae edi, edx
mov ecx, edi
mov dword [rsp + 0x44], edi
mov rdi, qword [rsp + 0x38]
add rdi, rcx
mov qword [rsp + 0x50], rdi
mov rdi, qword [rax + 0x10]
mov qword [rsp + 0x60], rdi
add rdi, r8
mov qword [rsp + 0x90], rdi
mov rdi, qword [rsp + 0x60]
add rdi, rcx
mov qword [rsp + 0x70], rdi
mov rdi, qword [rsp + 0x78]
mov ebp, dword [rdi]
mov r15d, dword [rdi + 4]
mov rdi, rbx
cmp r10d, edx
jae 0x14015f32b
mov eax, dword [rsp + 0x44]
dec eax
mov dword [rsp + 0x9c], eax
mov eax, 1
sub eax, r10d
mov dword [rsp + 0xa8], eax
jmp 0x14015f46f
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x120], r9
mov rdx, rsi
mov r9, rbx
mov rcx, rax
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140159ef0
cmp dword [rsp + 0x40], 0x20
ja 0x14015f485
cmp dword [rsp + 0x4c], 6
mov edx, dword [rsp + 0x40]
mov rcx, rbx
je 0x14015f4a8
cmp dword [rsp + 0x4c], 7
je 0x14015f4b2
cmp dword [rsp + 0x4c], 5
je 0x14015f49e
call fcn.14017ed40
mov rcx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x60]
lea r13, [rcx + rax*4]
mov eax, dword [rsp + 0x44]
mov r14d, dword [r13]
cmp r14d, eax
cmovae r12, qword [rsp + 0x38]
cmp dword [rsp + 0x98], 0x20
ja 0x14015f485
mov edx, dword [rsp + 0x98]
mov rcx, rbx
call fcn.14017f290
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x38]
lea r8, [rcx + rax*4]
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x60]
mov r10d, dword [r8]
cmp r10d, eax
mov rax, rbx
cmovae rcx, qword [rsp + 0x38]
sub rax, rdx
mov qword [rsp + 0x58], rax
mov r11d, dword [rsp + 0x58]
mov eax, 1
mov edx, dword [rsp + 0x58]
sub eax, ebp
mov r9d, dword [rsp + 0x58]
mov dword [r8], r11d
mov dword [r13], r11d
mov r11d, dword [rsp + 0xa8]
add eax, edx
mov edx, dword [rsp + 0x44]
lea r8d, [r11 + r9]
cmp eax, edx
mov rdx, qword [rsp + 0x60]
cmovae rdx, qword [rsp + 0x38]
cmp r8d, ebp
jae 0x14015f4bc
cmp dword [rsp + 0x48], r10d
jb 0x14015f702
cmp dword [rsp + 0x48], r14d
jb 0x14015f868
mov rax, rbx
mov r12d, ebp
mov ebp, r15d
sub rax, rdi
sar rax, 8
lea rbx, [rbx + rax + 1]
mov r15d, ebp
mov ebp, r12d
mov rax, qword [rsp + 0x88]
cmp rbx, rax
jb 0x14015f359
jmp 0x14015fdd8
mov r8d, 0x342
lea rdx, [0x1402b4540]
lea rcx, [0x1402b46bd]
jmp 0x14015f54f
call fcn.14017ee80
jmp 0x14015f391
call fcn.14017f010
jmp 0x14015f391
call fcn.14017f1a0
jmp 0x14015f391
mov r8d, dword [rsp + 0x9c]
sub r8d, eax
cmp r8d, 2
jbe 0x14015f43e
mov r8d, eax
add rdx, r8
mov r11d, dword [rdx]
cmp dword [rbx + 1], r11d
jne 0x14015f43e
mov ecx, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x30]
cmp eax, ecx
mov rax, qword [rsp + 0x50]
cmovae r9, qword [rsp + 0x30]
lea rcx, [rbx + 5]
add rdx, 4
inc rbx
mov qword [rsp + 0x20], rax
mov r13, rbx
sub r13, rdi
call fcn.14017b7a0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
mov r12, rax
lea rax, [rax + 4]
lea r9, [rcx - 0x20]
sar rdx, 3
cmp rdx, qword [rsi + 0x38]
jb 0x14015f555
mov r8d, 0x29d
lea rdx, [0x1402b4540]
lea rcx, [0x1402b46c9]
call qword [sym.imp.msvcrt.dll__assert]
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
jbe 0x14015f578
mov r8d, 0x29f
lea rdx, [0x1402b4540]
lea rcx, [0x1402b4720]
jmp 0x14015f54f
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jae 0x14015f59f
mov r8d, 0x2a0
lea rdx, [0x1402b4540]
lea rcx, [0x1402b4740]
jmp 0x14015f54f
cmp qword [rsp + 0x30], rbx
jae 0x14015f5bc
mov r8d, 0x2a1
lea rdx, [0x1402b4540]
lea rcx, [0x1402b478e]
jmp 0x14015f54f
cmp r9, rbx
jb 0x14015f636
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
cmp r13, 0x10
jbe 0x14015f651
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
ja 0x14015f5fe
mov r8d, 0xe9
lea rdx, [0x1402b457b]
lea rcx, [0x1402b45a7]
jmp 0x14015f54f
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp r13, 0x20
jle 0x14015f651
lea rcx, [rdx + r13]
add rdi, 0x20
add rdx, 0x20
movups xmm2, xmmword [rdi]
add rdx, 0x20
add rdi, 0x20
movups xmmword [rdx - 0x20], xmm2
movups xmm3, xmmword [rdi - 0x10]
movups xmmword [rdx - 0x10], xmm3
cmp rdx, rcx
jb 0x14015f618
jmp 0x14015f651
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.140183db0
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x14015f681
cmp dword [rsi + 0x48], 0
je 0x14015f66c
mov r8d, 0x2b2
jmp 0x14015f6c7
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rdx, 3
mov dword [rsi + 0x4c], edx
mov rdx, qword [rsi + 8]
mov word [rdx + 4], r13w
mov dword [rdx], 1
cmp rax, 2
ja 0x14015f6af
mov r8d, 0x2bc
lea rdx, [0x1402b4540]
lea rcx, [0x1402b47dc]
jmp 0x14015f54f
inc r12
cmp r12, 0xffff
jbe 0x14015f6ee
cmp dword [rsi + 0x48], 0
je 0x14015f6da
mov r8d, 0x2bf
lea rdx, [0x1402b4540]
lea rcx, [0x1402b47af]
jmp 0x14015f54f
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r12w
mov r12d, ebp
add rdx, 8
mov ebp, r15d
jmp 0x14015fb2b
mov eax, r10d
lea r13, [rcx + rax]
mov rax, qword [r13]
cmp qword [rbx], rax
jne 0x14015f449
mov eax, dword [rsp + 0x44]
cmp r10d, eax
jae 0x14015f72e
mov r9, qword [rsp + 0x70]
mov r14, qword [rsp + 0x90]
jmp 0x14015f738
mov r9, qword [rsp + 0x30]
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
lea rdx, [r13 + 8]
lea rcx, [rbx + 8]
mov dword [rsp + 0xa0], r10d
mov qword [rsp + 0x20], rax
call fcn.14017b7a0
mov r12d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0xa0]
add rax, 8
sub r12d, r10d
cmp rdi, rbx
jae 0x14015f78e
cmp r14, r13
jae 0x14015f78e
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x14015f78e
dec rbx
dec r13
inc rax
jmp 0x14015f770
test r12d, r12d
jne 0x14015f79e
mov r8d, 0x295
jmp 0x14015f9cc
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsi + 8]
mov r13, rbx
lea r14d, [r12 + 3]
sub rdx, qword [rsi]
sub r13, rdi
lea r9, [rcx - 0x20]
sar rdx, 3
cmp rdx, qword [rsi + 0x38]
jae 0x14015f53b
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x14015f562
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x14015f589
cmp qword [rsp + 0x30], rbx
jb 0x14015f5a6
cmp r9, rbx
jb 0x14015fa9a
movups xmm4, xmmword [rdi]
movups xmmword [rcx], xmm4
cmp r13, 0x10
jbe 0x14015fab5
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x14015f5e5
movups xmm5, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp r13, 0x20
jle 0x14015fab5
lea rcx, [rdx + r13]
add rdi, 0x20
add rdx, 0x20
movups xmm0, xmmword [rdi]
add rdx, 0x20
add rdi, 0x20
movups xmmword [rdx - 0x20], xmm0
movups xmm1, xmmword [rdi - 0x10]
movups xmmword [rdx - 0x10], xmm1
cmp rdx, rcx
jb 0x14015f847
jmp 0x14015fab5
mov eax, r14d
lea r13, [r12 + rax]
mov eax, dword [r13]
cmp dword [rbx], eax
jne 0x14015f454
lea rax, [rbx + 1]
mov edx, dword [rsp + 0x98]
mov rcx, rax
mov qword [rsp + 0xa0], rax
call fcn.14017f290
mov rcx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x60]
lea rax, [rcx + rax*4]
mov ecx, dword [rsp + 0x44]
mov r11d, dword [rax]
cmp r11d, ecx
mov ecx, dword [rsp + 0x58]
cmovae r10, qword [rsp + 0x38]
lea r12d, [rcx + 1]
mov dword [rax], r12d
cmp dword [rsp + 0x48], r11d
jae 0x14015f959
mov eax, r11d
lea r15, [r10 + rax]
mov rax, qword [r15]
cmp qword [rbx + 1], rax
jne 0x14015f959
mov eax, dword [rsp + 0x44]
cmp r11d, eax
jae 0x14015f8f2
mov r9, qword [rsp + 0x70]
mov r13, qword [rsp + 0x90]
jmp 0x14015f8fc
mov r9, qword [rsp + 0x30]
mov r13, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
lea rcx, [rbx + 9]
lea rdx, [r15 + 8]
mov dword [rsp + 0xac], r11d
mov qword [rsp + 0x20], rax
call fcn.14017b7a0
mov r11d, dword [rsp + 0xac]
mov rbx, qword [rsp + 0xa0]
add rax, 8
sub r12d, r11d
cmp rdi, rbx
jae 0x14015f9c1
cmp r13, r15
jae 0x14015f9c1
mov cl, byte [r15 - 1]
cmp byte [rbx - 1], cl
jne 0x14015f9c1
dec rbx
dec r15
inc rax
jmp 0x14015f937
mov eax, dword [rsp + 0x44]
cmp r14d, eax
jae 0x14015f971
mov r9, qword [rsp + 0x70]
mov r15, qword [rsp + 0x90]
jmp 0x14015f97b
mov r9, qword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x30]
lea rdx, [r13 + 4]
lea rcx, [rbx + 4]
mov qword [rsp + 0x20], rax
call fcn.14017b7a0
mov r12d, dword [rsp + 0x58]
add rax, 4
sub r12d, r14d
cmp rdi, rbx
jae 0x14015f9c1
cmp r15, r13
jae 0x14015f9c1
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x14015f9c1
dec rbx
dec r13
inc rax
jmp 0x14015f9a3
test r12d, r12d
jne 0x14015f9df
mov r8d, 0x2ae
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x1402b481f]
jmp 0x14015f54f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsi + 8]
mov r13, rbx
lea r14d, [r12 + 3]
sub rdx, qword [rsi]
sub r13, rdi
lea r9, [rcx - 0x20]
sar rdx, 3
cmp rdx, qword [rsi + 0x38]
jae 0x14015f53b
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x14015f562
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x14015f589
cmp qword [rsp + 0x30], rbx
jb 0x14015f5a6
cmp r9, rbx
jb 0x14015fa9a
movups xmm2, xmmword [rdi]
movups xmmword [rcx], xmm2
cmp r13, 0x10
jbe 0x14015fab5
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x14015f5e5
movups xmm3, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm3
cmp r13, 0x20
jle 0x14015fab5
lea rcx, [rdx + r13]
add rdi, 0x20
add rdx, 0x20
movups xmm4, xmmword [rdi]
add rdx, 0x20
add rdi, 0x20
movups xmmword [rdx - 0x20], xmm4
movups xmm5, xmmword [rdi - 0x10]
movups xmmword [rdx - 0x10], xmm5
cmp rdx, rcx
jb 0x14015fa7c
jmp 0x14015fab5
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.140183db0
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x14015fae1
cmp dword [rsi + 0x48], 0
jne 0x14015f664
mov rdx, qword [rsi + 8]
sub rdx, qword [rsi]
mov dword [rsi + 0x48], 1
sar rdx, 3
mov dword [rsi + 0x4c], edx
mov rdx, qword [rsi + 8]
mov word [rdx + 4], r13w
mov dword [rdx], r14d
cmp rax, 2
jbe 0x14015f696
lea r8, [rax - 3]
cmp r8, 0xffff
jbe 0x14015fb22
cmp dword [rsi + 0x48], 0
jne 0x14015f6c1
mov rcx, rdx
sub rcx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rcx, 3
mov dword [rsi + 0x4c], ecx
mov word [rdx + 6], r8w
add rdx, 8
add rbx, rax
mov qword [rsi + 8], rdx
mov rdi, rbx
cmp qword [rsp + 0x88], rbx
jb 0x14015f469
mov edi, dword [rsp + 0x58]
mov rax, qword [rsp + 0x38]
mov edx, dword [rsp + 0x98]
lea r13d, [rdi + 2]
mov rdi, r13
add r13, rax
mov rcx, r13
call fcn.14017f290
mov rcx, qword [rsp + 0x68]
mov edx, dword [rsp + 0x98]
mov dword [rcx + rax*4], edi
lea rcx, [rbx - 2]
mov rax, qword [rsp + 0x38]
mov r14, rcx
sub r14, rax
call fcn.14017f290
mov rcx, qword [rsp + 0x68]
cmp dword [rsp + 0x4c], 6
mov edx, dword [rsp + 0x40]
mov dword [rcx + rax*4], r14d
mov rcx, r13
je 0x14015fbbb
cmp dword [rsp + 0x4c], 7
je 0x14015fbc2
cmp dword [rsp + 0x4c], 5
je 0x14015fbb4
call fcn.14017ed40
jmp 0x14015fbc7
call fcn.14017ee80
jmp 0x14015fbc7
call fcn.14017f010
jmp 0x14015fbc7
call fcn.14017f1a0
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x40]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x38]
lea rcx, [rbx - 1]
mov rdi, rcx
sub rdi, rax
cmp dword [rsp + 0x4c], 6
je 0x14015fc08
cmp dword [rsp + 0x4c], 7
je 0x14015fc0f
cmp dword [rsp + 0x4c], 5
je 0x14015fc01
call fcn.14017ed40
jmp 0x14015fc14
call fcn.14017ee80
jmp 0x14015fc14
call fcn.14017f010
jmp 0x14015fc14
call fcn.14017f1a0
mov rcx, qword [rsp + 0x80]
mov dword [rcx + rax*4], edi
mov rax, qword [rsp + 0x30]
lea r14, [rax - 0x20]
mov rax, qword [rsp + 0x38]
mov rdi, rbx
mov rdx, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x44]
sub rdi, rax
mov eax, edi
sub eax, ebp
mov ecx, eax
add rdx, rcx
cmp eax, r10d
jae 0x14015fc53
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov ecx, dword [rsp + 0x9c]
add ecx, ebp
sub ecx, edi
cmp ecx, 2
jbe 0x14015fdd0
mov r11d, dword [rsp + 0x48]
mov ecx, edi
sub ecx, r11d
cmp ecx, ebp
jb 0x14015fdd0
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x14015fdd0
mov ecx, dword [rsp + 0x44]
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x30]
cmp eax, ecx
mov rax, qword [rsp + 0x50]
cmovae r9, qword [rsp + 0x30]
lea rcx, [rbx + 4]
add rdx, 4
mov qword [rsp + 0x20], rax
call fcn.14017b7a0
mov r15, rax
lea r13, [rax + 4]
mov rax, qword [rsi + 8]
sub rax, qword [rsi]
sar rax, 3
cmp rax, qword [rsi + 0x38]
jae 0x14015f53b
mov rax, qword [rsi + 0x40]
cmp rax, 0x20000
ja 0x14015f562
mov rcx, qword [rsi + 0x18]
add rax, qword [rsi + 0x10]
cmp rax, rcx
jb 0x14015f589
cmp qword [rsp + 0x30], rbx
jb 0x14015f5a6
cmp r14, rbx
jb 0x14015fd05
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
jmp 0x14015fd13
mov r9, r14
mov r8, rbx
mov rdx, rbx
call fcn.140183db0
mov rax, qword [rsi + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r13, 2
jbe 0x14015f696
inc r15
cmp r15, 0xffff
jbe 0x14015fd57
cmp dword [rsi + 0x48], 0
jne 0x14015f6c1
mov rdx, rax
sub rdx, qword [rsi]
mov dword [rsi + 0x48], 2
sar rdx, 3
mov dword [rsi + 0x4c], edx
mov word [rax + 6], r15w
add rax, 8
mov edx, dword [rsp + 0x40]
mov rcx, rbx
cmp dword [rsp + 0x4c], 6
mov qword [rsi + 8], rax
je 0x14015fd8e
cmp dword [rsp + 0x4c], 7
je 0x14015fd95
cmp dword [rsp + 0x4c], 5
je 0x14015fd87
call fcn.14017ed40
jmp 0x14015fd9a
call fcn.14017ee80
jmp 0x14015fd9a
call fcn.14017f010
jmp 0x14015fd9a
call fcn.14017f1a0
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x98]
xchg r12d, ebp
mov dword [rcx + rax*4], edi
mov rcx, rbx
add rbx, r13
call fcn.14017f290
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rax*4], edi
cmp qword [rsp + 0x88], rbx
jae 0x14015fc28
mov rdi, rbx
jmp 0x14015f469
mov rax, qword [rsp + 0x78]
mov dword [rax], ebp
mov dword [rax + 4], r15d
mov rax, qword [rsp + 0x30]
sub rax, rdi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret