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

Disassembly:
push rbx
push r13
push r14
push r15
sub rsp, 0xa8
mov rax, qword [0x1400590e8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov eax, dword [rdx + 0x60]
mov r14, rdx
mov dword [rsp + 0x3c], eax
mov rbx, rcx
mov eax, dword [rdx + 0x1c]
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x58], rdx
test eax, eax
jne 0x14002d13b
lea r8, [rcx + 0x2f4]
mov rcx, r14
lea rdx, [rsp + 0x38]
call fcn.14002c170
mov dword [rsp + 0x34], eax
jmp 0x14002d170
cmp eax, 1
je 0x14002d15a
mov r8d, 0x11c
lea rdx, str.xz_5.2_src_liblzma_lzmalzma_encoder_optimum_normal.c
lea rcx, str.mf__read_ahead__1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r15d, dword [rbx + 0xb88]
mov eax, dword [rbx + 0xb84]
mov dword [rsp + 0x34], r15d
mov dword [rsp + 0x38], eax
mov ecx, dword [r14 + 0x18]
mov r13d, dword [r14 + 0x24]
mov qword [rsp + 0xa0], rbp
sub r13d, ecx
mov qword [rsp + 0x98], rsi
inc r13d
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x88], r12
cmp r13d, 0x111
jae 0x14002d1b2
cmp r13d, 2
jae 0x14002d1b8
jmp 0x14002d2e6
mov r13d, 0x111
mov r8, rcx
lea rdi, [rsp + 0x60]
add r8, qword [r14]
lea rcx, [rsp + 0x60]
xor ebp, ebp
mov qword [rsp + 0x50], r8
xor r12d, r12d
mov r14, rbx
sub r14, rcx
lea r15, [r8 - 1]
lea esi, [rbp + 2]
nop
mov eax, dword [r14 + rdi + 0x2e4]
mov rcx, r15
sub rcx, rax
movzx eax, byte [rcx - 1]
lea rdx, [rcx - 1]
cmp byte [r15], al
jne 0x14002d226
movzx eax, byte [rcx]
cmp byte [r8], al
jne 0x14002d226
mov r9d, r13d
mov r8d, esi
mov rcx, r15
call fcn.14002b770
mov r8, qword [rsp + 0x50]
mov ecx, r12d
mov dword [rdi], eax
cmp eax, dword [rsp + rcx*4 + 0x60]
jbe 0x14002d22c
mov r12d, ebp
jmp 0x14002d22c
mov dword [rdi], 0
inc ebp
add rdi, 4
cmp ebp, 4
jb 0x14002d1e0
mov r14, qword [rsp + 0x58]
mov eax, r12d
mov r13d, dword [rsp + rax*4 + 0x60]
mov eax, dword [rsp + 0x3c]
cmp r13d, eax
jb 0x14002d27b
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov dword [rax], r13d
mov dword [rcx], r12d
sub r13d, 1
je 0x14002d2b5
mov edx, r13d
mov rcx, r14
call qword [r14 + 0x38]
add dword [r14 + 0x1c], r13d
mov eax, 0xffffffff
jmp 0x14002d74c
mov edx, dword [rsp + 0x34]
cmp edx, eax
jb 0x14002d2bf
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
dec eax
mov eax, dword [rbx + rax*8 + 0x2f8]
lea ebx, [rdx - 1]
add eax, 4
mov dword [rcx], eax
mov rax, qword [rsp + 0x48]
mov dword [rax], edx
test ebx, ebx
je 0x14002d2b5
mov edx, ebx
mov rcx, r14
call qword [r14 + 0x38]
add dword [r14 + 0x1c], ebx
mov eax, 0xffffffff
jmp 0x14002d74c
mov r14d, dword [rbx + 0x2e4]
mov rax, r15
movzx r12d, byte [r15]
sub rax, r14
movzx ecx, byte [rax - 1]
mov byte [rsp + 0x30], cl
cmp edx, esi
jae 0x14002d306
cmp r12b, cl
je 0x14002d306
cmp r13d, esi
jae 0x14002d306
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov dword [rax], 1
mov eax, 0xffffffff
mov dword [rcx], 0xffffffff
jmp 0x14002d74c
mov edx, dword [rsp + 0xf0]
movsxd rdi, dword [rbx + 0x2e0]
mov ebp, dword [rbx + 0xb90]
movzx r8d, byte [r15 - 1]
and ebp, edx
cmp edi, 7
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], ecx
mov rcx, rbx
setge r9b
mov dword [rbx + 0x10ee4], edi
call fcn.14002cfe0
mov rcx, rdi
lea r15, [0x140000000]
shl rcx, 4
add rcx, rbp
movzx edx, word [rbx + rcx*2 + 0x6b9c]
mov rcx, rdi
shr rdx, 4
movzx r8d, byte [rdx + r15 + 0x44160]
mov rdx, rdi
add r8d, eax
shl rdx, 4
mov dword [rbx + 0x10f20], r8d
add rdx, rbp
mov dword [rbx + 0x10f28], 0xffffffff
mov byte [rbx + 0x10f14], 0
movzx eax, word [rbx + rdx*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r9d, byte [rax + r15 + 0x44160]
movzx eax, word [rbx + rdi*2 + 0x6d1c]
xor rax, 0x7f0
mov dword [rsp + 0x3c], r9d
shr rax, 4
movzx edi, byte [rax + r15 + 0x44160]
mov eax, 0xffffffff
add edi, r9d
cmp byte [rsp + 0x30], r12b
jne 0x14002d422
movzx eax, word [rbx + rcx*2 + 0x6d34]
shr rax, 4
movzx ecx, byte [rax + r15 + 0x44160]
movzx eax, word [rbx + rdx*2 + 0x6d7c]
shr rax, 4
movzx edx, byte [rax + r15 + 0x44160]
lea eax, [rdi + rcx]
add edx, eax
mov eax, 0xffffffff
cmp edx, r8d
jae 0x14002d422
mov dword [rbx + 0x10f20], edx
xor eax, eax
mov dword [rbx + 0x10f28], 0
mov r12d, dword [rsp + 0x34]
cmp r12d, r13d
cmovbe r12d, r13d
cmp r12d, esi
jae 0x14002d44f
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rax, qword [rsp + 0x48]
mov dword [rax], 1
mov eax, 0xffffffff
jmp 0x14002d74c
xor r13d, r13d
mov edx, r12d
mov dword [rbx + 0x10f24], r13d
mov dword [rbx + 0x10f00], r14d
mov eax, dword [rbx + 0x2e8]
mov dword [rbx + 0x10f04], eax
mov eax, dword [rbx + 0x2ec]
mov dword [rbx + 0x10f08], eax
mov eax, dword [rbx + 0x2f0]
mov dword [rbx + 0x10f0c], eax
mov eax, edx
dec edx
imul rcx, rax, 0x2c
mov dword [rcx + rbx + 0x10ef4], 0x40000000
cmp edx, esi
jae 0x14002d487
mov r9d, r13d
lea r11, [rsp + 0x60]
lea r15, [0x140000000]
nop dword [rax]
mov edx, dword [r11]
cmp edx, esi
jb 0x14002d5ce
movsxd rcx, dword [rbx + 0x2e0]
lea r10, [rbx + rcx*2]
test r9d, r9d
jne 0x14002d4f7
shl rcx, 4
add rcx, rbp
movzx eax, word [rbx + rcx*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r15 + 0x44160]
movzx eax, word [r10 + 0x6d34]
jmp 0x14002d524
movzx eax, word [r10 + 0x6d34]
lea r10, [rbx + rcx*2]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r15 + 0x44160]
cmp r9d, 1
jne 0x14002d536
movzx eax, word [r10 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + r15 + 0x44160]
add r8d, eax
jmp 0x14002d57b
movzx ecx, word [rbx + rcx*2 + 0x6d64]
mov eax, esi
sub eax, r9d
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
movzx eax, word [r10 + 0x6d4c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rcx + r15 + 0x44160]
movzx eax, byte [rax + r15 + 0x44160]
add r8d, eax
add r8d, ecx
lea r10d, [r8 + rdi]
nop
imul rax, rbp, 0x110
lea ecx, [rdx - 2]
add rcx, rax
mov eax, edx
mov r8d, dword [rbx + rcx*4 + 0xbe4c]
imul rcx, rax, 0x2c
add r8d, r10d
cmp r8d, dword [rcx + rbx + 0x10ef4]
jae 0x14002d5c8
mov dword [rcx + rbx + 0x10ef4], r8d
mov dword [rcx + rbx + 0x10ef8], r13d
mov dword [rcx + rbx + 0x10efc], r9d
mov byte [rcx + rbx + 0x10ee8], r13b
dec edx
cmp edx, esi
jae 0x14002d580
inc r9d
add r11, 4
cmp r9d, 4
jb 0x14002d4b0
movsxd rax, dword [rbx + 0x2e0]
movzx ecx, word [rbx + rax*2 + 0x6d1c]
mov eax, dword [rsp + 0x60]
shr rcx, 4
movzx edi, byte [rcx + r15 + 0x44160]
add edi, dword [rsp + 0x3c]
cmp eax, esi
jb 0x14002d60a
lea esi, [rax + 1]
cmp esi, dword [rsp + 0x34]
ja 0x14002d749
mov edx, r13d
cmp esi, dword [rbx + 0x2f4]
jbe 0x14002d62b
nop
inc edx
cmp esi, dword [rbx + rdx*8 + 0x2f4]
ja 0x14002d620
imul r14, rbp, 0x110
mov ebp, dword [rsp + 0x38]
lea r15, [0x140000000]
nop dword [rax]
mov r11d, edx
lea r10d, [rsi - 2]
mov r9d, dword [rbx + r11*8 + 0x2f8]
cmp esi, 6
jb 0x14002d65a
mov r10d, 3
mov rcx, r9
cmp r9d, 0x80
jae 0x14002d67a
mov eax, r10d
shl rax, 7
add rax, rcx
mov r10d, dword [rbx + rax*4 + 0x10690]
jmp 0x14002d6eb
mov rax, rcx
cmp r9d, 0x80000
jae 0x14002d69d
shr rax, 6
movzx eax, byte [rax + r15 + 0x441e0]
lea r8, [rax*4 + 0x102c0]
jmp 0x14002d6d2
cmp r9d, 0x80000000
jae 0x14002d6bd
shr rax, 0x12
movzx eax, byte [rax + r15 + 0x441e0]
lea r8, [rax*4 + 0x10320]
jmp 0x14002d6d2
shr rax, 0x1e
movzx eax, byte [rax + r15 + 0x441e0]
lea r8, [rax*4 + 0x10380]
mov eax, r10d
and ecx, 0xf
shl rax, 8
add rax, r8
mov r10d, dword [rax + rbx]
add r10d, dword [rbx + rcx*4 + 0x10e98]
lea ecx, [rsi - 2]
mov eax, esi
add rcx, r14
mov r8d, dword [rbx + rcx*4 + 0x7604]
add r8d, r10d
imul rcx, rax, 0x2c
add r8d, edi
cmp r8d, dword [rcx + rbx + 0x10ef4]
jae 0x14002d732
lea eax, [r9 + 4]
mov dword [rcx + rbx + 0x10ef4], r8d
mov dword [rcx + rbx + 0x10efc], eax
mov dword [rcx + rbx + 0x10ef8], r13d
mov byte [rcx + rbx + 0x10ee8], r13b
cmp esi, dword [rbx + r11*8 + 0x2f4]
jne 0x14002d742
inc edx
cmp edx, ebp
je 0x14002d749
inc esi
jmp 0x14002d640
mov eax, r12d
mov r12, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140030ee0
add rsp, 0xa8
pop r15
pop r14
pop r13
pop rbx
ret