Function at 0x1402cf850
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.1402ef220
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.1402ef220
sub edi, eax
cmp ebp, 6
je 0x1402cb63d
cmp ebp, 7
je 0x1402cbdcb
cmp ebp, 5
mov eax, dword [rsp + 0x3c]
mov ebp, 0
je 0x1402caea3
cmp edi, eax
jb 0x1402ca674
xor r12d, r12d
mov ebp, eax
mov dword [rsp + 0x3c], r12d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1402ca822
xor edi, edi
mov r15d, eax
mov dword [rsp + 0x40], edi
jmp 0x1402ca822
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.1402ef8f0
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.1402ef8f0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1402ef3a0
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.1402ef3a0
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 0x1402ca81f
test ebp, ebp
je 0x1402ca81f
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1402eb9b0
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.1402ef3a0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1402ef8f0
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], rsi
jb 0x1402ca9d2
cmp r14, rsi
jb 0x1402cae6d
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 0x1402caab4
inc rdi
cmp rdi, 0xffff
ja 0x1402cae80
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 0x1402ca719
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 0x1402cbfa8
cmp dword [rsp + 0x44], 0x20
jbe 0x1402ca863
mov r8d, 0x342
lea rdx, [0x1404f3600]
lea rcx, [0x1404f377d]
jmp 0x1402ca97c
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1402ef8f0
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 0x1402ca84a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1402ef3a0
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 0x1402cab19
test r15d, r15d
je 0x1402cab19
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.1402eb9b0
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 0x1402ca982
mov r8d, 0x29d
lea rdx, [0x1404f3600]
lea rcx, [0x1404f3789]
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
jbe 0x1402ca9a4
mov r8d, 0x29f
lea rdx, [0x1404f3600]
lea rcx, [0x1404f37e0]
jmp 0x1402ca97c
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jae 0x1402ca9cb
mov r8d, 0x2a0
lea rdx, [0x1404f3600]
lea rcx, [0x1404f3800]
jmp 0x1402ca97c
cmp qword [rsp + 0x20], r13
jae 0x1402ca9e8
mov r8d, 0x2a1
lea rdx, [0x1404f3600]
lea rcx, [0x1404f384e]
jmp 0x1402ca97c
cmp r9, r13
jb 0x1402caa65
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x1402caa70
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
ja 0x1402caa28
mov r8d, 0xe9
lea rdx, [0x1404f363b]
lea rcx, [0x1404f3667]
jmp 0x1402ca97c
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x1402caa70
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 0x1402caa45
jmp 0x1402caa70
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1402caaa0
cmp dword [rbx + 0x48], 0
je 0x1402caa8b
mov r8d, 0x2b2
jmp 0x1402caae5
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 0x1402caacd
mov r8d, 0x2bc
lea rdx, [0x1404f3600]
lea rcx, [0x1404f389c]
jmp 0x1402ca97c
inc rsi
cmp rsi, 0xffff
jbe 0x1402cab0c
cmp dword [rbx + 0x48], 0
je 0x1402caaf8
mov r8d, 0x2bf
lea rdx, [0x1404f3600]
lea rcx, [0x1404f386f]
jmp 0x1402ca97c
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 0x1402cae51
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1402ef8f0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1402cabb2
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1402cabb2
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402caccb
cmp qword [rsp + 0x60], r9
jae 0x1402caccb
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402caccb
dec r13
dec r9
inc r14
jmp 0x1402cab85
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 0x1402cabe8
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1402cabe8
cmp dword [rsp + 0x5c], r13d
jb 0x1402cac29
jmp 0x1402cac7e
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1402cac0b
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 0x1402cbfa8
mov rdi, rax
jmp 0x1402ca8a9
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x1402cac7e
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402caccb
cmp qword [rsp + 0x60], r9
jae 0x1402caccb
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402caccb
dec r13
dec r9
inc r14
jmp 0x1402cac5d
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1402eb9b0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402caccb
cmp qword [rsp + 0x60], r11
jae 0x1402caccb
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1402caccb
dec r13
dec r11
inc r14
jmp 0x1402cacaa
cmp qword [rsp + 0x78], 3
ja 0x1402cace8
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 0x1402cad08
mov r8d, 0x10f
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x1404f38df]
jmp 0x1402ca97c
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], r13
jb 0x1402ca9d2
cmp r9, r13
jb 0x1402cadcb
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x1402cadd6
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1402caa0f
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x1402cadd6
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 0x1402cadab
jmp 0x1402cadd6
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1402cae02
cmp dword [rbx + 0x48], 0
jne 0x1402caa83
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 0x1402caab4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1402cae41
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
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 0x1402ca691
mov r12, rsi
jmp 0x1402ca828
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1402f4410
jmp 0x1402ca7d8
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1402ca802
cmp edi, eax
jb 0x1402caeb1
xor r10d, r10d
mov ebp, eax
mov dword [rsp + 0x3c], r10d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1402cb061
xor r9d, r9d
mov r15d, eax
mov dword [rsp + 0x40], r9d
jmp 0x1402cb061
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.1402ef8f0
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.1402ef8f0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1402ef4e0
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.1402ef4e0
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 0x1402cb635
test ebp, ebp
je 0x1402cb635
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1402eb9b0
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.1402ef4e0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1402ef8f0
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], rsi
jb 0x1402ca9d2
cmp r14, rsi
jb 0x1402cb5f7
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 0x1402caab4
inc rdi
cmp rdi, 0xffff
ja 0x1402cb60a
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x1402cb62d
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 0x1402cbfa8
cmp dword [rsp + 0x44], 0x20
ja 0x1402ca84a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1402ef8f0
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 0x1402ca84a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1402ef4e0
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 0x1402cb2b8
test r15d, r15d
je 0x1402cb2b8
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.1402eb9b0
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], r13
jb 0x1402ca9d2
cmp r9, r13
jb 0x1402cb232
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x1402cb23d
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1402caa0f
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x1402cb23d
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 0x1402cb212
jmp 0x1402cb23d
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1402cb269
cmp dword [rbx + 0x48], 0
jne 0x1402caa83
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 0x1402caab4
inc rsi
cmp rsi, 0xffff
jbe 0x1402cb2ab
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
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 0x1402cb5db
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1402ef8f0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1402cb351
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1402cb351
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cb46a
cmp qword [rsp + 0x60], r9
jae 0x1402cb46a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402cb46a
dec r13
dec r9
inc r14
jmp 0x1402cb324
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 0x1402cb387
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1402cb387
cmp dword [rsp + 0x5c], r13d
jb 0x1402cb3c8
jmp 0x1402cb41d
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1402cb3aa
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 0x1402cbfa8
mov rdi, rax
jmp 0x1402cb0d3
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x1402cb41d
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cb46a
cmp qword [rsp + 0x60], r9
jae 0x1402cb46a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402cb46a
dec r13
dec r9
inc r14
jmp 0x1402cb3fc
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1402eb9b0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cb46a
cmp qword [rsp + 0x60], r11
jae 0x1402cb46a
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1402cb46a
dec r13
dec r11
inc r14
jmp 0x1402cb449
cmp qword [rsp + 0x78], 3
ja 0x1402cb487
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 0x1402cacef
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], r13
jb 0x1402ca9d2
cmp r9, r13
jb 0x1402cb555
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x1402cb560
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1402caa0f
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x1402cb560
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 0x1402cb535
jmp 0x1402cb560
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1402cb58c
cmp dword [rbx + 0x48], 0
jne 0x1402caa83
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 0x1402caab4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1402cb5cb
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
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 0x1402caed0
mov r12, rsi
jmp 0x1402cb067
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1402f4410
jmp 0x1402cb017
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1402cb041
xchg ebp, r15d
jmp 0x1402caf58
xchg r15d, ebp
jmp 0x1402cb05b
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x1402cb651
xor r8d, r8d
mov ebp, eax
mov dword [rsp + 0x3c], r8d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1402cb7ff
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x40], ecx
jmp 0x1402cb7ff
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.1402ef8f0
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.1402ef8f0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1402ef670
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.1402ef670
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 0x1402cb7fc
test ebp, ebp
je 0x1402cb7fc
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1402eb9b0
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.1402ef670
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1402ef8f0
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], rsi
jb 0x1402ca9d2
cmp r14, rsi
jb 0x1402cbd95
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 0x1402caab4
inc rdi
cmp rdi, 0xffff
ja 0x1402cbda8
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 0x1402cb6f6
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 0x1402cbfa8
cmp dword [rsp + 0x44], 0x20
ja 0x1402ca84a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1402ef8f0
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 0x1402ca84a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1402ef670
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 0x1402cba56
test r15d, r15d
je 0x1402cba56
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.1402eb9b0
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], r13
jb 0x1402ca9d2
cmp r9, r13
jb 0x1402cb9d0
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x1402cb9db
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1402caa0f
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x1402cb9db
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 0x1402cb9b0
jmp 0x1402cb9db
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1402cba07
cmp dword [rbx + 0x48], 0
jne 0x1402caa83
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 0x1402caab4
inc rsi
cmp rsi, 0xffff
jbe 0x1402cba49
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
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 0x1402cbd79
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1402ef8f0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1402cbaef
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1402cbaef
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cbc08
cmp qword [rsp + 0x60], r9
jae 0x1402cbc08
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402cbc08
dec r13
dec r9
inc r14
jmp 0x1402cbac2
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 0x1402cbb25
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1402cbb25
cmp dword [rsp + 0x5c], r13d
jb 0x1402cbb66
jmp 0x1402cbbbb
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1402cbb48
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 0x1402cbfa8
mov rdi, rax
jmp 0x1402cb871
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x1402cbbbb
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cbc08
cmp qword [rsp + 0x60], r9
jae 0x1402cbc08
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402cbc08
dec r13
dec r9
inc r14
jmp 0x1402cbb9a
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1402eb9b0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cbc08
cmp qword [rsp + 0x60], r11
jae 0x1402cbc08
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1402cbc08
dec r13
dec r11
inc r14
jmp 0x1402cbbe7
cmp qword [rsp + 0x78], 3
ja 0x1402cbc25
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 0x1402cacef
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], r13
jb 0x1402ca9d2
cmp r9, r13
jb 0x1402cbcf3
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x1402cbcfe
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1402caa0f
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x1402cbcfe
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 0x1402cbcd3
jmp 0x1402cbcfe
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1402cbd2a
cmp dword [rbx + 0x48], 0
jne 0x1402caa83
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 0x1402caab4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1402cbd69
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
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 0x1402cb66e
mov r12, rsi
jmp 0x1402cb805
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1402f4410
jmp 0x1402cb7b5
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1402cb7df
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x1402cbddd
xor edx, edx
mov ebp, eax
mov dword [rsp + 0x3c], edx
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1402cbf8b
mov r15d, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x1402cbf8b
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.1402ef8f0
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.1402ef8f0
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1402ef800
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.1402ef800
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 0x1402cc5c4
test ebp, ebp
je 0x1402cc5c4
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1402eb9b0
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.1402ef800
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1402ef8f0
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], rsi
jb 0x1402ca9d2
cmp r14, rsi
jb 0x1402cc586
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 0x1402caab4
inc rdi
cmp rdi, 0xffff
ja 0x1402cc599
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x1402cc5bc
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 0x1402cbfc1
cmp dword [rsp + 0x40], 0
je 0x1402cc30b
test r15d, r15d
jne 0x1402cc316
jmp 0x1402cc30b
cmp dword [rsp + 0x44], 0x20
ja 0x1402ca84a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1402ef8f0
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 0x1402ca84a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1402ef800
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 0x1402cc1f7
test r15d, r15d
je 0x1402cc1f7
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.1402eb9b0
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], r13
jb 0x1402ca9d2
cmp r9, r13
jb 0x1402cc171
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x1402cc17c
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1402caa0f
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x1402cc17c
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 0x1402cc151
jmp 0x1402cc17c
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1402cc1a8
cmp dword [rbx + 0x48], 0
jne 0x1402caa83
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 0x1402caab4
inc rsi
cmp rsi, 0xffff
jbe 0x1402cc1ea
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
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 0x1402cc56a
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1402ef8f0
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1402cc290
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1402cc290
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cc3f9
cmp qword [rsp + 0x60], r9
jae 0x1402cc3f9
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402cc3f9
dec r13
dec r9
inc r14
jmp 0x1402cc263
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 0x1402cc2ca
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1402cc2ca
cmp dword [rsp + 0x5c], r13d
jb 0x1402cc357
jmp 0x1402cc3ac
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1402cc2ed
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 0x1402cbfa8
mov rdi, rax
jmp 0x1402cc012
test r15d, r15d
cmove r15d, dword [rsp + 0x40]
jmp 0x1402cc31e
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 0x1402cc3ac
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1402eb9b0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cc3f9
cmp qword [rsp + 0x60], r9
jae 0x1402cc3f9
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1402cc3f9
dec r13
dec r9
inc r14
jmp 0x1402cc38b
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1402eb9b0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1402cc3f9
cmp qword [rsp + 0x60], r11
jae 0x1402cc3f9
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1402cc3f9
dec r13
dec r11
inc r14
jmp 0x1402cc3d8
cmp qword [rsp + 0x78], 3
ja 0x1402cc416
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 0x1402cacef
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 0x1402ca968
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1402ca98e
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1402ca9b5
cmp qword [rsp + 0x20], r13
jb 0x1402ca9d2
cmp r9, r13
jb 0x1402cc4e4
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x1402cc4ef
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1402caa0f
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x1402cc4ef
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 0x1402cc4c4
jmp 0x1402cc4ef
mov r8, r13
mov rdx, r12
call fcn.1402f4410
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1402cc51b
cmp dword [rbx + 0x48], 0
jne 0x1402caa83
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 0x1402caab4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1402cc55a
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
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 0x1402cbdfa
mov r12, rsi
jmp 0x1402cbf91
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1402f4410
jmp 0x1402cbf41
cmp dword [rbx + 0x48], 0
jne 0x1402caadf
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1402cbf6b
xchg ebp, r15d
jmp 0x1402cbe82
xchg r15d, ebp
jmp 0x1402cbf85
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 0x1402cf906
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 0x1402cf98b
mov eax, dword [rsp + 0x44]
dec eax
mov dword [rsp + 0x9c], eax
mov eax, 1
sub eax, r10d
mov dword [rsp + 0xa8], eax
jmp 0x1402cfacf
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 0x1402ca550
cmp dword [rsp + 0x40], 0x20
ja 0x1402cfae5
cmp dword [rsp + 0x4c], 6
mov edx, dword [rsp + 0x40]
mov rcx, rbx
je 0x1402cfb08
cmp dword [rsp + 0x4c], 7
je 0x1402cfb12
cmp dword [rsp + 0x4c], 5
je 0x1402cfafe
call fcn.1402ef3a0
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 0x1402cfae5
mov edx, dword [rsp + 0x98]
mov rcx, rbx
call fcn.1402ef8f0
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 0x1402cfb1c
cmp dword [rsp + 0x48], r10d
jb 0x1402cfd62
cmp dword [rsp + 0x48], r14d
jb 0x1402cfec8
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 0x1402cf9b9
jmp 0x1402d0438
mov r8d, 0x342
lea rdx, [0x1404f3600]
lea rcx, [0x1404f377d]
jmp 0x1402cfbaf
call fcn.1402ef4e0
jmp 0x1402cf9f1
call fcn.1402ef670
jmp 0x1402cf9f1
call fcn.1402ef800
jmp 0x1402cf9f1
mov r8d, dword [rsp + 0x9c]
sub r8d, eax
cmp r8d, 2
jbe 0x1402cfa9e
mov r8d, eax
add rdx, r8
mov r11d, dword [rdx]
cmp dword [rbx + 1], r11d
jne 0x1402cfa9e
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.1402ebe00
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 0x1402cfbb5
mov r8d, 0x29d
lea rdx, [0x1404f3600]
lea rcx, [0x1404f3789]
call qword [sym.imp.msvcrt.dll__assert]
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
jbe 0x1402cfbd8
mov r8d, 0x29f
lea rdx, [0x1404f3600]
lea rcx, [0x1404f37e0]
jmp 0x1402cfbaf
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jae 0x1402cfbff
mov r8d, 0x2a0
lea rdx, [0x1404f3600]
lea rcx, [0x1404f3800]
jmp 0x1402cfbaf
cmp qword [rsp + 0x30], rbx
jae 0x1402cfc1c
mov r8d, 0x2a1
lea rdx, [0x1404f3600]
lea rcx, [0x1404f384e]
jmp 0x1402cfbaf
cmp r9, rbx
jb 0x1402cfc96
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
cmp r13, 0x10
jbe 0x1402cfcb1
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
ja 0x1402cfc5e
mov r8d, 0xe9
lea rdx, [0x1404f363b]
lea rcx, [0x1404f3667]
jmp 0x1402cfbaf
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp r13, 0x20
jle 0x1402cfcb1
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 0x1402cfc78
jmp 0x1402cfcb1
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.1402f4410
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x1402cfce1
cmp dword [rsi + 0x48], 0
je 0x1402cfccc
mov r8d, 0x2b2
jmp 0x1402cfd27
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 0x1402cfd0f
mov r8d, 0x2bc
lea rdx, [0x1404f3600]
lea rcx, [0x1404f389c]
jmp 0x1402cfbaf
inc r12
cmp r12, 0xffff
jbe 0x1402cfd4e
cmp dword [rsi + 0x48], 0
je 0x1402cfd3a
mov r8d, 0x2bf
lea rdx, [0x1404f3600]
lea rcx, [0x1404f386f]
jmp 0x1402cfbaf
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 0x1402d018b
mov eax, r10d
lea r13, [rcx + rax]
mov rax, qword [r13]
cmp qword [rbx], rax
jne 0x1402cfaa9
mov eax, dword [rsp + 0x44]
cmp r10d, eax
jae 0x1402cfd8e
mov r9, qword [rsp + 0x70]
mov r14, qword [rsp + 0x90]
jmp 0x1402cfd98
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.1402ebe00
mov r12d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0xa0]
add rax, 8
sub r12d, r10d
cmp rdi, rbx
jae 0x1402cfdee
cmp r14, r13
jae 0x1402cfdee
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x1402cfdee
dec rbx
dec r13
inc rax
jmp 0x1402cfdd0
test r12d, r12d
jne 0x1402cfdfe
mov r8d, 0x295
jmp 0x1402d002c
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 0x1402cfb9b
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x1402cfbc2
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x1402cfbe9
cmp qword [rsp + 0x30], rbx
jb 0x1402cfc06
cmp r9, rbx
jb 0x1402d00fa
movups xmm4, xmmword [rdi]
movups xmmword [rcx], xmm4
cmp r13, 0x10
jbe 0x1402d0115
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x1402cfc45
movups xmm5, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp r13, 0x20
jle 0x1402d0115
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 0x1402cfea7
jmp 0x1402d0115
mov eax, r14d
lea r13, [r12 + rax]
mov eax, dword [r13]
cmp dword [rbx], eax
jne 0x1402cfab4
lea rax, [rbx + 1]
mov edx, dword [rsp + 0x98]
mov rcx, rax
mov qword [rsp + 0xa0], rax
call fcn.1402ef8f0
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 0x1402cffb9
mov eax, r11d
lea r15, [r10 + rax]
mov rax, qword [r15]
cmp qword [rbx + 1], rax
jne 0x1402cffb9
mov eax, dword [rsp + 0x44]
cmp r11d, eax
jae 0x1402cff52
mov r9, qword [rsp + 0x70]
mov r13, qword [rsp + 0x90]
jmp 0x1402cff5c
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.1402ebe00
mov r11d, dword [rsp + 0xac]
mov rbx, qword [rsp + 0xa0]
add rax, 8
sub r12d, r11d
cmp rdi, rbx
jae 0x1402d0021
cmp r13, r15
jae 0x1402d0021
mov cl, byte [r15 - 1]
cmp byte [rbx - 1], cl
jne 0x1402d0021
dec rbx
dec r15
inc rax
jmp 0x1402cff97
mov eax, dword [rsp + 0x44]
cmp r14d, eax
jae 0x1402cffd1
mov r9, qword [rsp + 0x70]
mov r15, qword [rsp + 0x90]
jmp 0x1402cffdb
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.1402ebe00
mov r12d, dword [rsp + 0x58]
add rax, 4
sub r12d, r14d
cmp rdi, rbx
jae 0x1402d0021
cmp r15, r13
jae 0x1402d0021
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x1402d0021
dec rbx
dec r13
inc rax
jmp 0x1402d0003
test r12d, r12d
jne 0x1402d003f
mov r8d, 0x2ae
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x1404f38df]
jmp 0x1402cfbaf
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 0x1402cfb9b
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x1402cfbc2
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x1402cfbe9
cmp qword [rsp + 0x30], rbx
jb 0x1402cfc06
cmp r9, rbx
jb 0x1402d00fa
movups xmm2, xmmword [rdi]
movups xmmword [rcx], xmm2
cmp r13, 0x10
jbe 0x1402d0115
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x1402cfc45
movups xmm3, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm3
cmp r13, 0x20
jle 0x1402d0115
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 0x1402d00dc
jmp 0x1402d0115
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.1402f4410
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x1402d0141
cmp dword [rsi + 0x48], 0
jne 0x1402cfcc4
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 0x1402cfcf6
lea r8, [rax - 3]
cmp r8, 0xffff
jbe 0x1402d0182
cmp dword [rsi + 0x48], 0
jne 0x1402cfd21
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 0x1402cfac9
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.1402ef8f0
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.1402ef8f0
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 0x1402d021b
cmp dword [rsp + 0x4c], 7
je 0x1402d0222
cmp dword [rsp + 0x4c], 5
je 0x1402d0214
call fcn.1402ef3a0
jmp 0x1402d0227
call fcn.1402ef4e0
jmp 0x1402d0227
call fcn.1402ef670
jmp 0x1402d0227
call fcn.1402ef800
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 0x1402d0268
cmp dword [rsp + 0x4c], 7
je 0x1402d026f
cmp dword [rsp + 0x4c], 5
je 0x1402d0261
call fcn.1402ef3a0
jmp 0x1402d0274
call fcn.1402ef4e0
jmp 0x1402d0274
call fcn.1402ef670
jmp 0x1402d0274
call fcn.1402ef800
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 0x1402d02b3
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov ecx, dword [rsp + 0x9c]
add ecx, ebp
sub ecx, edi
cmp ecx, 2
jbe 0x1402d0430
mov r11d, dword [rsp + 0x48]
mov ecx, edi
sub ecx, r11d
cmp ecx, ebp
jb 0x1402d0430
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x1402d0430
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.1402ebe00
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 0x1402cfb9b
mov rax, qword [rsi + 0x40]
cmp rax, 0x20000
ja 0x1402cfbc2
mov rcx, qword [rsi + 0x18]
add rax, qword [rsi + 0x10]
cmp rax, rcx
jb 0x1402cfbe9
cmp qword [rsp + 0x30], rbx
jb 0x1402cfc06
cmp r14, rbx
jb 0x1402d0365
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
jmp 0x1402d0373
mov r9, r14
mov r8, rbx
mov rdx, rbx
call fcn.1402f4410
mov rax, qword [rsi + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r13, 2
jbe 0x1402cfcf6
inc r15
cmp r15, 0xffff
jbe 0x1402d03b7
cmp dword [rsi + 0x48], 0
jne 0x1402cfd21
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 0x1402d03ee
cmp dword [rsp + 0x4c], 7
je 0x1402d03f5
cmp dword [rsp + 0x4c], 5
je 0x1402d03e7
call fcn.1402ef3a0
jmp 0x1402d03fa
call fcn.1402ef4e0
jmp 0x1402d03fa
call fcn.1402ef670
jmp 0x1402d03fa
call fcn.1402ef800
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.1402ef8f0
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rax*4], edi
cmp qword [rsp + 0x88], rbx
jae 0x1402d0288
mov rdi, rbx
jmp 0x1402cfac9
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