Function at 0x1402a9aa0
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, 0x98
mov rbx, rcx
mov qword [rsp + 0xf0], r8
mov rsi, rdx
mov r8d, 0x578
cmp dword [rbx + 0x110], 5
mov qword [rsp + 0xf8], r9
lea rdx, str.zstd_lib_compress_zstd_lazy.c
lea rcx, str.MAX_4__MIN_6__ms__cParams.minMatch____6
jbe 0x1402a9ba2
mov rax, qword [rbx + 0x80]
mov ecx, dword [rbx + 0x104]
mov r15, rsi
mov rbp, qword [rbx + 8]
mov qword [rsp + 0x50], rax
mov eax, 1
mov edx, eax
sub r15, rbp
shl edx, cl
mov ecx, dword [rbx + 0x18]
mov r8d, r15d
mov dword [rsp + 0x3c], r15d
lea edi, [rdx - 1]
mov dword [rsp + 0x58], edi
lea rdi, [rbp + rcx]
mov dword [rsp + 0x44], ecx
mov ecx, dword [rbx + 0x100]
mov qword [rsp + 0x60], rdi
shl eax, cl
mov ecx, dword [rbx + 0x1c]
sub r8d, ecx
mov r12d, ecx
cmp eax, r8d
jae 0x1402a9b4b
mov r12d, r15d
sub r12d, eax
cmp dword [rbx + 0x28], 0
cmovne r12d, ecx
xor eax, eax
mov dword [rsp + 0x78], eax
cmp edx, r15d
jae 0x1402a9b67
mov eax, r15d
sub eax, edx
mov dword [rsp + 0x78], eax
mov ecx, dword [rbx + 0x10c]
mov r14, qword [rbx + 0xf8]
mov eax, 1
shl eax, cl
mov dword [rsp + 0x40], eax
mov eax, dword [r14 + 0x108]
lea edx, [rax - 2]
cmp edx, 0x20
jbe 0x1402a9ba8
mov r8d, 0x342
lea rdx, [0x1404f3cc0]
lea rcx, [0x1404f3df9]
call qword [sym.imp.msvcrt.dll__assert]
mov rcx, rsi
call fcn.1402ef710
mov rdi, qword [r14 + 0x70]
mov r13, qword [rbx + 0x70]
shl rax, 4
mov r9d, dword [rbx + 0x12c]
mov edx, dword [rbx + 0x108]
mov qword [rsp + 0x70], rax
mov rax, rdi
mov qword [rsp + 0x68], rdi
mov rdi, qword [rsp + 0x70]
add rax, rdi
mov edi, dword [rbx + 0x2c]
mov qword [rsp + 0x48], rax
prefetcht0 byte [rax]
mov r8, rdi
add rdi, rbp
mov eax, dword [rsp + 0x3c]
cmp r8d, eax
jae 0x1402a9c5f
mov dword [rsp + 0x8c], r8d
mov dword [rsp + 0x88], r9d
cmp edx, 0x20
ja 0x1402a9b8e
mov rcx, rdi
mov dword [rsp + 0x80], edx
inc rdi
call fcn.1402ef710
mov ecx, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x8c]
lea rax, [r13 + rax*4]
mov rdx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x88]
mov r10d, dword [rax]
and ecx, r8d
mov dword [rdx + rcx*4], r10d
mov edx, dword [rsp + 0x80]
mov dword [rax], r8d
inc r8d
test r9d, r9d
je 0x1402a9bef
mov dword [rbx + 0x2c], r15d
jmp 0x1402a9c6c
mov dword [rbx + 0x2c], r15d
cmp edx, 0x20
ja 0x1402a9b8e
mov rcx, rsi
mov ebx, 3
call fcn.1402ef710
mov r13d, dword [r13 + rax*4]
mov eax, dword [rsp + 0x3c]
lea edi, [rax + 3]
cmp r13d, r12d
jb 0x1402a9d43
cmp dword [rsp + 0x40], 0
je 0x1402a9d43
mov eax, dword [rsp + 0x44]
mov edx, r13d
add rdx, rbp
cmp r13d, eax
jae 0x1402a9cc1
mov r8d, 0x2bb
lea rdx, str.zstd_lib_compress_zstd_lazy.c
lea rcx, str.matchIndex___dictLimit
jmp 0x1402a9ba2
mov eax, dword [rsi + rbx - 3]
cmp dword [rdx + rbx - 3], eax
jne 0x1402a9d23
mov r8, qword [rsp + 0xf0]
mov rcx, rsi
call fcn.1402ebb50
cmp rbx, rax
jae 0x1402a9d23
cmp dword [rsp + 0x3c], r13d
jne 0x1402a9d00
mov r8d, 0x2c9
lea rdx, str.zstd_lib_compress_zstd_lazy.c
lea rcx, [0x1404f4017]
jmp 0x1402a9ba2
mov edx, edi
mov rbx, qword [rsp + 0xf8]
sub edx, r13d
mov ecx, edx
lea rdx, [rsi + rax]
mov qword [rbx], rcx
mov rbx, rax
cmp qword [rsp + 0xf0], rdx
je 0x1402a9d43
cmp dword [rsp + 0x78], r13d
jae 0x1402a9d43
mov eax, dword [rsp + 0x58]
dec dword [rsp + 0x40]
and r13d, eax
mov rax, qword [rsp + 0x50]
mov r13d, dword [rax + r13*4]
jmp 0x1402a9c85
cmp dword [rsp + 0x40], 0x40000000
mov r8d, 0x2d1
lea rdx, str.zstd_lib_compress_zstd_lazy.c
lea rcx, str.nbAttempts____1U____ZSTD_SEARCHLOG_MAX_
ja 0x1402a9ba2
mov eax, dword [r14 + 0x18]
mov r9, qword [r14]
mov r13, qword [r14 + 8]
mov edi, dword [rsp + 0x44]
mov dword [rsp + 0x50], eax
mov rax, r9
sub rax, r13
sub edi, eax
mov eax, 3
cmp dword [rsp + 0x40], eax
cmovbe eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x58], eax
xor eax, eax
mov rdi, qword [rsp + 0x48]
mov edx, dword [rdi + rax*4]
inc rax
prefetcht0 byte [r13 + rdx]
cmp rax, 3
jne 0x1402a9d98
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
xor r10d, r10d
mov r14, qword [r14 + 0x80]
mov edi, dword [rax + rdi + 0xc]
mov r12d, edi
shr r12d, 8
mov eax, r12d
lea r15, [r14 + rax*4]
lea rax, [rsi + 4]
prefetcht0 byte [r15]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x3c]
add eax, 3
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x58]
cmp r10d, eax
jae 0x1402a9ec4
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + r10*4]
mov rbp, rax
add rax, r13
test ebp, ebp
je 0x1402a9fee
mov ecx, dword [rsp + 0x50]
cmp ebp, ecx
jae 0x1402a9e24
mov r8d, 0x22d
jmp 0x1402a9f36
lea rdx, [rax + 4]
cmp r9, rdx
jae 0x1402a9e38
mov r8d, 0x22e
jmp 0x1402a9f58
mov ecx, dword [rsi]
cmp dword [rax], ecx
jne 0x1402a9ebc
mov rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x80], r10
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x20], rax
call fcn.1402ebec0
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
add rax, 4
cmp rbx, rax
jae 0x1402a9ebc
mov ebx, dword [rsp + 0x44]
add ebp, ebx
cmp dword [rsp + 0x3c], ebp
jne 0x1402a9e94
mov r8d, 0x237
jmp 0x1402a9fb2
mov edx, dword [rsp + 0x70]
mov rbx, qword [rsp + 0xf8]
sub edx, ebp
mov ecx, edx
lea rdx, [rsi + rax]
mov qword [rbx], rcx
mov rbx, rax
cmp qword [rsp + 0xf0], rdx
je 0x1402a9fee
inc r10
jmp 0x1402a9ded
mov eax, dword [rsp + 0x40]
movzx edi, dil
sub eax, r10d
cmp edi, eax
cmova edi, eax
xor eax, eax
cmp eax, edi
jae 0x1402a9ee9
mov edx, dword [r15 + rax*4]
inc rax
prefetcht0 byte [r13 + rdx]
jmp 0x1402a9ed6
lea eax, [r12 + rdi]
mov rdi, rbx
mov dword [rsp + 0x40], eax
lea rax, [rsi + 4]
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x3c]
lea ebp, [rax + 3]
jmp 0x1402a9f0f
mov ebx, dword [rsi]
cmp dword [rax], ebx
je 0x1402a9f6b
inc r12d
cmp dword [rsp + 0x40], r12d
je 0x1402a9feb
mov eax, r12d
mov ebx, dword [rsp + 0x50]
mov eax, dword [r14 + rax*4]
mov r15, rax
add rax, r13
cmp r15d, ebx
jae 0x1402a9f49
mov r8d, 0x252
lea rdx, str.zstd_lib_compress_zstd_lazy.c
lea rcx, str.matchIndex___ddsLowestIndex
jmp 0x1402a9ba2
lea rdx, [rax + 4]
cmp r9, rdx
jae 0x1402a9f06
mov r8d, 0x253
lea rdx, str.zstd_lib_compress_zstd_lazy.c
lea rcx, str.match4___ddsEnd
jmp 0x1402a9ba2
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x58], r9
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x20], rax
call fcn.1402ebec0
mov r9, qword [rsp + 0x58]
lea rbx, [rax + 4]
cmp rdi, rbx
jae 0x1402a9f0c
mov eax, dword [rsp + 0x44]
add r15d, eax
cmp dword [rsp + 0x3c], r15d
jne 0x1402a9fc5
mov r8d, 0x25c
lea rdx, str.zstd_lib_compress_zstd_lazy.c
lea rcx, str._curr____matchIndex__ddsIndexDelta___0
jmp 0x1402a9ba2
mov rdi, qword [rsp + 0xf8]
mov eax, ebp
sub eax, r15d
mov qword [rdi], rax
lea rax, [rsi + rbx]
cmp qword [rsp + 0xf0], rax
je 0x1402a9fee
mov rdi, rbx
jmp 0x1402a9f0c
mov rbx, rdi
mov rax, rbx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret