Function at 0x1401bd670
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.1401dd040
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.1401dd040
sub edi, eax
cmp ebp, 6
je 0x1401b945d
cmp ebp, 7
je 0x1401b9beb
cmp ebp, 5
mov eax, dword [rsp + 0x3c]
mov ebp, 0
je 0x1401b8cc3
cmp edi, eax
jb 0x1401b8494
xor r12d, r12d
mov ebp, eax
mov dword [rsp + 0x3c], r12d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1401b8642
xor edi, edi
mov r15d, eax
mov dword [rsp + 0x40], edi
jmp 0x1401b8642
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.1401dd710
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.1401dd710
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1401dd1c0
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.1401dd1c0
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 0x1401b863f
test ebp, ebp
je 0x1401b863f
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1401d97d0
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.1401dd1c0
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1401dd710
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1401b87d5
cmp qword [rsp + 0x20], rsi
jb 0x1401b87f2
cmp r14, rsi
jb 0x1401b8c8d
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 0x1401b88d4
inc rdi
cmp rdi, 0xffff
ja 0x1401b8ca0
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 0x1401b8539
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 0x1401b9dc8
cmp dword [rsp + 0x44], 0x20
jbe 0x1401b8683
mov r8d, 0x342
lea rdx, [0x14035efe0]
lea rcx, [0x14035f15d]
jmp 0x1401b879c
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1401dd710
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 0x1401b866a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1401dd1c0
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 0x1401b8939
test r15d, r15d
je 0x1401b8939
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.1401d97d0
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 0x1401b87a2
mov r8d, 0x29d
lea rdx, [0x14035efe0]
lea rcx, [0x14035f169]
call qword [sym.imp.msvcrt.dll__assert]
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
jbe 0x1401b87c4
mov r8d, 0x29f
lea rdx, [0x14035efe0]
lea rcx, [0x14035f1c0]
jmp 0x1401b879c
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jae 0x1401b87eb
mov r8d, 0x2a0
lea rdx, [0x14035efe0]
lea rcx, [0x14035f1e0]
jmp 0x1401b879c
cmp qword [rsp + 0x20], r13
jae 0x1401b8808
mov r8d, 0x2a1
lea rdx, [0x14035efe0]
lea rcx, [0x14035f22e]
jmp 0x1401b879c
cmp r9, r13
jb 0x1401b8885
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x1401b8890
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
ja 0x1401b8848
mov r8d, 0xe9
lea rdx, [0x14035f01b]
lea rcx, [0x14035f047]
jmp 0x1401b879c
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x1401b8890
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 0x1401b8865
jmp 0x1401b8890
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1401b88c0
cmp dword [rbx + 0x48], 0
je 0x1401b88ab
mov r8d, 0x2b2
jmp 0x1401b8905
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 0x1401b88ed
mov r8d, 0x2bc
lea rdx, [0x14035efe0]
lea rcx, [0x14035f27c]
jmp 0x1401b879c
inc rsi
cmp rsi, 0xffff
jbe 0x1401b892c
cmp dword [rbx + 0x48], 0
je 0x1401b8918
mov r8d, 0x2bf
lea rdx, [0x14035efe0]
lea rcx, [0x14035f24f]
jmp 0x1401b879c
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 0x1401b8c71
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1401dd710
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1401b89d2
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1401b89d2
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b8aeb
cmp qword [rsp + 0x60], r9
jae 0x1401b8aeb
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401b8aeb
dec r13
dec r9
inc r14
jmp 0x1401b89a5
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 0x1401b8a08
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1401b8a08
cmp dword [rsp + 0x5c], r13d
jb 0x1401b8a49
jmp 0x1401b8a9e
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1401b8a2b
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 0x1401b9dc8
mov rdi, rax
jmp 0x1401b86c9
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x1401b8a9e
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b8aeb
cmp qword [rsp + 0x60], r9
jae 0x1401b8aeb
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401b8aeb
dec r13
dec r9
inc r14
jmp 0x1401b8a7d
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1401d97d0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b8aeb
cmp qword [rsp + 0x60], r11
jae 0x1401b8aeb
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1401b8aeb
dec r13
dec r11
inc r14
jmp 0x1401b8aca
cmp qword [rsp + 0x78], 3
ja 0x1401b8b08
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 0x1401b8b28
mov r8d, 0x10f
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x14035f2bf]
jmp 0x1401b879c
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1401b87d5
cmp qword [rsp + 0x20], r13
jb 0x1401b87f2
cmp r9, r13
jb 0x1401b8beb
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x1401b8bf6
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1401b882f
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x1401b8bf6
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 0x1401b8bcb
jmp 0x1401b8bf6
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1401b8c22
cmp dword [rbx + 0x48], 0
jne 0x1401b88a3
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 0x1401b88d4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1401b8c61
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
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 0x1401b84b1
mov r12, rsi
jmp 0x1401b8648
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401e2230
jmp 0x1401b85f8
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1401b8622
cmp edi, eax
jb 0x1401b8cd1
xor r10d, r10d
mov ebp, eax
mov dword [rsp + 0x3c], r10d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1401b8e81
xor r9d, r9d
mov r15d, eax
mov dword [rsp + 0x40], r9d
jmp 0x1401b8e81
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.1401dd710
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.1401dd710
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1401dd300
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.1401dd300
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 0x1401b9455
test ebp, ebp
je 0x1401b9455
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1401d97d0
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.1401dd300
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1401dd710
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1401b87d5
cmp qword [rsp + 0x20], rsi
jb 0x1401b87f2
cmp r14, rsi
jb 0x1401b9417
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 0x1401b88d4
inc rdi
cmp rdi, 0xffff
ja 0x1401b942a
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x1401b944d
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 0x1401b9dc8
cmp dword [rsp + 0x44], 0x20
ja 0x1401b866a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1401dd710
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 0x1401b866a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1401dd300
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 0x1401b90d8
test r15d, r15d
je 0x1401b90d8
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.1401d97d0
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x1401b87d5
cmp qword [rsp + 0x20], r13
jb 0x1401b87f2
cmp r9, r13
jb 0x1401b9052
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x1401b905d
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1401b882f
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x1401b905d
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 0x1401b9032
jmp 0x1401b905d
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1401b9089
cmp dword [rbx + 0x48], 0
jne 0x1401b88a3
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 0x1401b88d4
inc rsi
cmp rsi, 0xffff
jbe 0x1401b90cb
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
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 0x1401b93fb
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1401dd710
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1401b9171
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1401b9171
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b928a
cmp qword [rsp + 0x60], r9
jae 0x1401b928a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401b928a
dec r13
dec r9
inc r14
jmp 0x1401b9144
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 0x1401b91a7
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1401b91a7
cmp dword [rsp + 0x5c], r13d
jb 0x1401b91e8
jmp 0x1401b923d
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1401b91ca
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 0x1401b9dc8
mov rdi, rax
jmp 0x1401b8ef3
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x1401b923d
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b928a
cmp qword [rsp + 0x60], r9
jae 0x1401b928a
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401b928a
dec r13
dec r9
inc r14
jmp 0x1401b921c
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1401d97d0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b928a
cmp qword [rsp + 0x60], r11
jae 0x1401b928a
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1401b928a
dec r13
dec r11
inc r14
jmp 0x1401b9269
cmp qword [rsp + 0x78], 3
ja 0x1401b92a7
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 0x1401b8b0f
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1401b87d5
cmp qword [rsp + 0x20], r13
jb 0x1401b87f2
cmp r9, r13
jb 0x1401b9375
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x1401b9380
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1401b882f
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x1401b9380
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 0x1401b9355
jmp 0x1401b9380
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1401b93ac
cmp dword [rbx + 0x48], 0
jne 0x1401b88a3
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 0x1401b88d4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1401b93eb
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
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 0x1401b8cf0
mov r12, rsi
jmp 0x1401b8e87
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401e2230
jmp 0x1401b8e37
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1401b8e61
xchg ebp, r15d
jmp 0x1401b8d78
xchg r15d, ebp
jmp 0x1401b8e7b
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x1401b9471
xor r8d, r8d
mov ebp, eax
mov dword [rsp + 0x3c], r8d
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1401b961f
xor ecx, ecx
mov r15d, eax
mov dword [rsp + 0x40], ecx
jmp 0x1401b961f
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.1401dd710
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.1401dd710
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1401dd490
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.1401dd490
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 0x1401b961c
test ebp, ebp
je 0x1401b961c
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1401d97d0
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.1401dd490
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1401dd710
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1401b87d5
cmp qword [rsp + 0x20], rsi
jb 0x1401b87f2
cmp r14, rsi
jb 0x1401b9bb5
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 0x1401b88d4
inc rdi
cmp rdi, 0xffff
ja 0x1401b9bc8
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 0x1401b9516
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 0x1401b9dc8
cmp dword [rsp + 0x44], 0x20
ja 0x1401b866a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1401dd710
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 0x1401b866a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1401dd490
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 0x1401b9876
test r15d, r15d
je 0x1401b9876
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.1401d97d0
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x1401b87d5
cmp qword [rsp + 0x20], r13
jb 0x1401b87f2
cmp r9, r13
jb 0x1401b97f0
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
cmp rdi, 0x10
jbe 0x1401b97fb
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1401b882f
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp rdi, 0x20
jle 0x1401b97fb
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 0x1401b97d0
jmp 0x1401b97fb
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1401b9827
cmp dword [rbx + 0x48], 0
jne 0x1401b88a3
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 0x1401b88d4
inc rsi
cmp rsi, 0xffff
jbe 0x1401b9869
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
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 0x1401b9b99
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1401dd710
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1401b990f
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1401b990f
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b9a28
cmp qword [rsp + 0x60], r9
jae 0x1401b9a28
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401b9a28
dec r13
dec r9
inc r14
jmp 0x1401b98e2
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 0x1401b9945
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1401b9945
cmp dword [rsp + 0x5c], r13d
jb 0x1401b9986
jmp 0x1401b99db
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1401b9968
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 0x1401b9dc8
mov rdi, rax
jmp 0x1401b9691
mov rax, qword [rdi]
cmp qword [r9], rax
jne 0x1401b99db
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b9a28
cmp qword [rsp + 0x60], r9
jae 0x1401b9a28
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401b9a28
dec r13
dec r9
inc r14
jmp 0x1401b99ba
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1401d97d0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401b9a28
cmp qword [rsp + 0x60], r11
jae 0x1401b9a28
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1401b9a28
dec r13
dec r11
inc r14
jmp 0x1401b9a07
cmp qword [rsp + 0x78], 3
ja 0x1401b9a45
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 0x1401b8b0f
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1401b87d5
cmp qword [rsp + 0x20], r13
jb 0x1401b87f2
cmp r9, r13
jb 0x1401b9b13
movups xmm4, xmmword [r12]
movups xmmword [rcx], xmm4
cmp rsi, 0x10
jbe 0x1401b9b1e
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1401b882f
movups xmm5, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm5
cmp rsi, 0x20
jle 0x1401b9b1e
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 0x1401b9af3
jmp 0x1401b9b1e
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1401b9b4a
cmp dword [rbx + 0x48], 0
jne 0x1401b88a3
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 0x1401b88d4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1401b9b89
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
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 0x1401b948e
mov r12, rsi
jmp 0x1401b9625
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401e2230
jmp 0x1401b95d5
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1401b95ff
mov eax, dword [rsp + 0x3c]
xor ebp, ebp
cmp edi, eax
jb 0x1401b9bfd
xor edx, edx
mov ebp, eax
mov dword [rsp + 0x3c], edx
mov eax, dword [rsp + 0x40]
xor r15d, r15d
cmp edi, eax
jb 0x1401b9dab
mov r15d, eax
xor eax, eax
mov dword [rsp + 0x40], eax
jmp 0x1401b9dab
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.1401dd710
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.1401dd710
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
mov dword [rcx + rax*4], r13d
mov rcx, r12
call fcn.1401dd620
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.1401dd620
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 0x1401ba3e4
test ebp, ebp
je 0x1401ba3e4
mov edx, 4
mov r8, qword [rsp + 0x20]
lea rcx, [rsi + 4]
mov r13, rsi
sub rdx, rax
add rdx, rsi
call fcn.1401d97d0
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.1401dd620
mov rcx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov dword [rcx + rax*4], r13d
mov rcx, rsi
call fcn.1401dd710
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
cmp rax, rcx
jb 0x1401b87d5
cmp qword [rsp + 0x20], rsi
jb 0x1401b87f2
cmp r14, rsi
jb 0x1401ba3a6
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 0x1401b88d4
inc rdi
cmp rdi, 0xffff
ja 0x1401ba3b9
mov word [rax + 6], di
add rax, 8
add rsi, r12
mov qword [rbx + 8], rax
cmp qword [rsp + 0x50], rsi
jae 0x1401ba3dc
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 0x1401b9de1
cmp dword [rsp + 0x40], 0
je 0x1401ba12b
test r15d, r15d
jne 0x1401ba136
jmp 0x1401ba12b
cmp dword [rsp + 0x44], 0x20
ja 0x1401b866a
mov edx, dword [rsp + 0x44]
mov rcx, rsi
mov r14d, r15d
call fcn.1401dd710
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 0x1401b866a
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.1401dd620
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 0x1401ba017
test r15d, r15d
je 0x1401ba017
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.1401d97d0
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rdi]
cmp rax, rdx
jb 0x1401b87d5
cmp qword [rsp + 0x20], r13
jb 0x1401b87f2
cmp r9, r13
jb 0x1401b9f91
movups xmm3, xmmword [r12]
movups xmmword [rcx], xmm3
cmp rdi, 0x10
jbe 0x1401b9f9c
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1401b882f
movups xmm4, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm4
cmp rdi, 0x20
jle 0x1401b9f9c
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 0x1401b9f71
jmp 0x1401b9f9c
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rdi
cmp rdi, 0xffff
jbe 0x1401b9fc8
cmp dword [rbx + 0x48], 0
jne 0x1401b88a3
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 0x1401b88d4
inc rsi
cmp rsi, 0xffff
jbe 0x1401ba00a
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
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 0x1401ba38a
mov edx, dword [rsp + 0x44]
mov rcx, rdi
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0x98], r9
call fcn.1401dd710
cmp dword [rsp + 0x5c], r13d
mov r11d, dword [rsp + 0x90]
mov qword [rsp + 0x68], rax
jae 0x1401ba0b0
mov r9, qword [rsp + 0x98]
mov rax, qword [rsi]
cmp qword [r9], rax
jne 0x1401ba0b0
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rsi + 8]
mov r13, rsi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401ba219
cmp qword [rsp + 0x60], r9
jae 0x1401ba219
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401ba219
dec r13
dec r9
inc r14
jmp 0x1401ba083
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 0x1401ba0ea
add r11, rax
mov eax, dword [rsi]
cmp dword [r11], eax
jne 0x1401ba0ea
cmp dword [rsp + 0x5c], r13d
jb 0x1401ba177
jmp 0x1401ba1cc
mov rax, qword [rsp + 0x70]
cmp rdi, rax
jb 0x1401ba10d
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 0x1401b9dc8
mov rdi, rax
jmp 0x1401b9e32
test r15d, r15d
cmove r15d, dword [rsp + 0x40]
jmp 0x1401ba13e
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 0x1401ba1cc
mov r8, qword [rsp + 0x20]
lea rdx, [r9 + 8]
lea rcx, [rdi + 8]
mov r13, rdi
mov qword [rsp + 0x70], r9
call fcn.1401d97d0
mov r9, qword [rsp + 0x70]
lea r14, [rax + 8]
mov eax, edi
sub eax, r9d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401ba219
cmp qword [rsp + 0x60], r9
jae 0x1401ba219
mov al, byte [r9 - 1]
cmp byte [r13 - 1], al
jne 0x1401ba219
dec r13
dec r9
inc r14
jmp 0x1401ba1ab
mov r8, qword [rsp + 0x20]
lea rdx, [r11 + 4]
lea rcx, [rsi + 4]
mov r13, rsi
mov qword [rsp + 0x70], r11
call fcn.1401d97d0
mov r11, qword [rsp + 0x70]
lea r14, [rax + 4]
mov eax, esi
sub eax, r11d
mov dword [rsp + 0x70], eax
cmp r12, r13
jae 0x1401ba219
cmp qword [rsp + 0x60], r11
jae 0x1401ba219
mov al, byte [r11 - 1]
cmp byte [r13 - 1], al
jne 0x1401ba219
dec r13
dec r11
inc r14
jmp 0x1401ba1f8
cmp qword [rsp + 0x78], 3
ja 0x1401ba236
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 0x1401b8b0f
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 0x1401b8788
mov rax, qword [rbx + 0x40]
cmp rax, 0x20000
ja 0x1401b87ae
mov rcx, qword [rbx + 0x18]
add rax, qword [rbx + 0x10]
lea rdx, [rcx + rsi]
cmp rax, rdx
jb 0x1401b87d5
cmp qword [rsp + 0x20], r13
jb 0x1401b87f2
cmp r9, r13
jb 0x1401ba304
movups xmm1, xmmword [r12]
movups xmmword [rcx], xmm1
cmp rsi, 0x10
jbe 0x1401ba30f
mov rax, qword [rbx + 0x18]
mov rdx, rax
sub rdx, r12
add rdx, 0xf
cmp rdx, 0x1e
jbe 0x1401b882f
movups xmm2, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm2
cmp rsi, 0x20
jle 0x1401ba30f
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 0x1401ba2e4
jmp 0x1401ba30f
mov r8, r13
mov rdx, r12
call fcn.1401e2230
add qword [rbx + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1401ba33b
cmp dword [rbx + 0x48], 0
jne 0x1401b88a3
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 0x1401b88d4
lea rcx, [r14 - 3]
cmp rcx, 0xffff
jbe 0x1401ba37a
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
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 0x1401b9c1a
mov r12, rsi
jmp 0x1401b9db1
mov r9, r14
mov r8, rsi
mov rdx, rsi
call fcn.1401e2230
jmp 0x1401b9d61
cmp dword [rbx + 0x48], 0
jne 0x1401b88ff
mov rdx, rax
sub rdx, qword [rbx]
mov dword [rbx + 0x48], 2
sar rdx, 3
mov dword [rbx + 0x4c], edx
jmp 0x1401b9d8b
xchg ebp, r15d
jmp 0x1401b9ca2
xchg r15d, ebp
jmp 0x1401b9da5
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 0x1401bd726
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 0x1401bd7ab
mov eax, dword [rsp + 0x44]
dec eax
mov dword [rsp + 0x9c], eax
mov eax, 1
sub eax, r10d
mov dword [rsp + 0xa8], eax
jmp 0x1401bd8ef
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 0x1401b8370
cmp dword [rsp + 0x40], 0x20
ja 0x1401bd905
cmp dword [rsp + 0x4c], 6
mov edx, dword [rsp + 0x40]
mov rcx, rbx
je 0x1401bd928
cmp dword [rsp + 0x4c], 7
je 0x1401bd932
cmp dword [rsp + 0x4c], 5
je 0x1401bd91e
call fcn.1401dd1c0
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 0x1401bd905
mov edx, dword [rsp + 0x98]
mov rcx, rbx
call fcn.1401dd710
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 0x1401bd93c
cmp dword [rsp + 0x48], r10d
jb 0x1401bdb82
cmp dword [rsp + 0x48], r14d
jb 0x1401bdce8
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 0x1401bd7d9
jmp 0x1401be258
mov r8d, 0x342
lea rdx, [0x14035efe0]
lea rcx, [0x14035f15d]
jmp 0x1401bd9cf
call fcn.1401dd300
jmp 0x1401bd811
call fcn.1401dd490
jmp 0x1401bd811
call fcn.1401dd620
jmp 0x1401bd811
mov r8d, dword [rsp + 0x9c]
sub r8d, eax
cmp r8d, 2
jbe 0x1401bd8be
mov r8d, eax
add rdx, r8
mov r11d, dword [rdx]
cmp dword [rbx + 1], r11d
jne 0x1401bd8be
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.1401d9c20
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 0x1401bd9d5
mov r8d, 0x29d
lea rdx, [0x14035efe0]
lea rcx, [0x14035f169]
call qword [sym.imp.msvcrt.dll__assert]
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
jbe 0x1401bd9f8
mov r8d, 0x29f
lea rdx, [0x14035efe0]
lea rcx, [0x14035f1c0]
jmp 0x1401bd9cf
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jae 0x1401bda1f
mov r8d, 0x2a0
lea rdx, [0x14035efe0]
lea rcx, [0x14035f1e0]
jmp 0x1401bd9cf
cmp qword [rsp + 0x30], rbx
jae 0x1401bda3c
mov r8d, 0x2a1
lea rdx, [0x14035efe0]
lea rcx, [0x14035f22e]
jmp 0x1401bd9cf
cmp r9, rbx
jb 0x1401bdab6
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
cmp r13, 0x10
jbe 0x1401bdad1
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
ja 0x1401bda7e
mov r8d, 0xe9
lea rdx, [0x14035f01b]
lea rcx, [0x14035f047]
jmp 0x1401bd9cf
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp r13, 0x20
jle 0x1401bdad1
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 0x1401bda98
jmp 0x1401bdad1
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.1401e2230
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x1401bdb01
cmp dword [rsi + 0x48], 0
je 0x1401bdaec
mov r8d, 0x2b2
jmp 0x1401bdb47
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 0x1401bdb2f
mov r8d, 0x2bc
lea rdx, [0x14035efe0]
lea rcx, [0x14035f27c]
jmp 0x1401bd9cf
inc r12
cmp r12, 0xffff
jbe 0x1401bdb6e
cmp dword [rsi + 0x48], 0
je 0x1401bdb5a
mov r8d, 0x2bf
lea rdx, [0x14035efe0]
lea rcx, [0x14035f24f]
jmp 0x1401bd9cf
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 0x1401bdfab
mov eax, r10d
lea r13, [rcx + rax]
mov rax, qword [r13]
cmp qword [rbx], rax
jne 0x1401bd8c9
mov eax, dword [rsp + 0x44]
cmp r10d, eax
jae 0x1401bdbae
mov r9, qword [rsp + 0x70]
mov r14, qword [rsp + 0x90]
jmp 0x1401bdbb8
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.1401d9c20
mov r12d, dword [rsp + 0x58]
mov r10d, dword [rsp + 0xa0]
add rax, 8
sub r12d, r10d
cmp rdi, rbx
jae 0x1401bdc0e
cmp r14, r13
jae 0x1401bdc0e
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x1401bdc0e
dec rbx
dec r13
inc rax
jmp 0x1401bdbf0
test r12d, r12d
jne 0x1401bdc1e
mov r8d, 0x295
jmp 0x1401bde4c
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 0x1401bd9bb
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x1401bd9e2
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x1401bda09
cmp qword [rsp + 0x30], rbx
jb 0x1401bda26
cmp r9, rbx
jb 0x1401bdf1a
movups xmm4, xmmword [rdi]
movups xmmword [rcx], xmm4
cmp r13, 0x10
jbe 0x1401bdf35
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x1401bda65
movups xmm5, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm5
cmp r13, 0x20
jle 0x1401bdf35
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 0x1401bdcc7
jmp 0x1401bdf35
mov eax, r14d
lea r13, [r12 + rax]
mov eax, dword [r13]
cmp dword [rbx], eax
jne 0x1401bd8d4
lea rax, [rbx + 1]
mov edx, dword [rsp + 0x98]
mov rcx, rax
mov qword [rsp + 0xa0], rax
call fcn.1401dd710
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 0x1401bddd9
mov eax, r11d
lea r15, [r10 + rax]
mov rax, qword [r15]
cmp qword [rbx + 1], rax
jne 0x1401bddd9
mov eax, dword [rsp + 0x44]
cmp r11d, eax
jae 0x1401bdd72
mov r9, qword [rsp + 0x70]
mov r13, qword [rsp + 0x90]
jmp 0x1401bdd7c
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.1401d9c20
mov r11d, dword [rsp + 0xac]
mov rbx, qword [rsp + 0xa0]
add rax, 8
sub r12d, r11d
cmp rdi, rbx
jae 0x1401bde41
cmp r13, r15
jae 0x1401bde41
mov cl, byte [r15 - 1]
cmp byte [rbx - 1], cl
jne 0x1401bde41
dec rbx
dec r15
inc rax
jmp 0x1401bddb7
mov eax, dword [rsp + 0x44]
cmp r14d, eax
jae 0x1401bddf1
mov r9, qword [rsp + 0x70]
mov r15, qword [rsp + 0x90]
jmp 0x1401bddfb
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.1401d9c20
mov r12d, dword [rsp + 0x58]
add rax, 4
sub r12d, r14d
cmp rdi, rbx
jae 0x1401bde41
cmp r15, r13
jae 0x1401bde41
mov cl, byte [r13 - 1]
cmp byte [rbx - 1], cl
jne 0x1401bde41
dec rbx
dec r13
inc rax
jmp 0x1401bde23
test r12d, r12d
jne 0x1401bde5f
mov r8d, 0x2ae
lea rdx, str.zstd_lib_compress_zstd_double_fast.c
lea rcx, [0x14035f2bf]
jmp 0x1401bd9cf
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 0x1401bd9bb
mov rdx, qword [rsi + 0x40]
cmp rdx, 0x20000
ja 0x1401bd9e2
mov rcx, qword [rsi + 0x18]
add rdx, qword [rsi + 0x10]
lea r8, [rcx + r13]
cmp rdx, r8
jb 0x1401bda09
cmp qword [rsp + 0x30], rbx
jb 0x1401bda26
cmp r9, rbx
jb 0x1401bdf1a
movups xmm2, xmmword [rdi]
movups xmmword [rcx], xmm2
cmp r13, 0x10
jbe 0x1401bdf35
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rdi
add rcx, 0xf
cmp rcx, 0x1e
jbe 0x1401bda65
movups xmm3, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm3
cmp r13, 0x20
jle 0x1401bdf35
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 0x1401bdefc
jmp 0x1401bdf35
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0xa0], rax
call fcn.1401e2230
mov rax, qword [rsp + 0xa0]
add qword [rsi + 0x18], r13
cmp r13, 0xffff
jbe 0x1401bdf61
cmp dword [rsi + 0x48], 0
jne 0x1401bdae4
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 0x1401bdb16
lea r8, [rax - 3]
cmp r8, 0xffff
jbe 0x1401bdfa2
cmp dword [rsi + 0x48], 0
jne 0x1401bdb41
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 0x1401bd8e9
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.1401dd710
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.1401dd710
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 0x1401be03b
cmp dword [rsp + 0x4c], 7
je 0x1401be042
cmp dword [rsp + 0x4c], 5
je 0x1401be034
call fcn.1401dd1c0
jmp 0x1401be047
call fcn.1401dd300
jmp 0x1401be047
call fcn.1401dd490
jmp 0x1401be047
call fcn.1401dd620
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 0x1401be088
cmp dword [rsp + 0x4c], 7
je 0x1401be08f
cmp dword [rsp + 0x4c], 5
je 0x1401be081
call fcn.1401dd1c0
jmp 0x1401be094
call fcn.1401dd300
jmp 0x1401be094
call fcn.1401dd490
jmp 0x1401be094
call fcn.1401dd620
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 0x1401be0d3
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov ecx, dword [rsp + 0x9c]
add ecx, ebp
sub ecx, edi
cmp ecx, 2
jbe 0x1401be250
mov r11d, dword [rsp + 0x48]
mov ecx, edi
sub ecx, r11d
cmp ecx, ebp
jb 0x1401be250
mov ecx, dword [rdx]
cmp dword [rbx], ecx
jne 0x1401be250
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.1401d9c20
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 0x1401bd9bb
mov rax, qword [rsi + 0x40]
cmp rax, 0x20000
ja 0x1401bd9e2
mov rcx, qword [rsi + 0x18]
add rax, qword [rsi + 0x10]
cmp rax, rcx
jb 0x1401bda09
cmp qword [rsp + 0x30], rbx
jb 0x1401bda26
cmp r14, rbx
jb 0x1401be185
movups xmm0, xmmword [rbx]
movups xmmword [rcx], xmm0
jmp 0x1401be193
mov r9, r14
mov r8, rbx
mov rdx, rbx
call fcn.1401e2230
mov rax, qword [rsi + 8]
mov word [rax + 4], 0
mov dword [rax], 1
cmp r13, 2
jbe 0x1401bdb16
inc r15
cmp r15, 0xffff
jbe 0x1401be1d7
cmp dword [rsi + 0x48], 0
jne 0x1401bdb41
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 0x1401be20e
cmp dword [rsp + 0x4c], 7
je 0x1401be215
cmp dword [rsp + 0x4c], 5
je 0x1401be207
call fcn.1401dd1c0
jmp 0x1401be21a
call fcn.1401dd300
jmp 0x1401be21a
call fcn.1401dd490
jmp 0x1401be21a
call fcn.1401dd620
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.1401dd710
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rax*4], edi
cmp qword [rsp + 0x88], rbx
jae 0x1401be0a8
mov rdi, rbx
jmp 0x1401bd8e9
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