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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbx
push rsi
sub rsp, 0x98
mov qword [rax - 0x28], r12
mov r9, r8
xor r12d, r12d
mov qword [rax - 0x30], r13
mov qword [rax - 0x40], r15
mov r13, rcx
mov dword [rsp + 0x24], r12d
mov ebx, r12d
mov dword [rsp + 0x20], r12d
mov r11d, r12d
mov dword [rsp + 0x28], r12d
mov r15d, r12d
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], r12
test rdx, rdx
je 0x140019672
mov rcx, qword [rdx]
mov r15, qword [rdx + 0x10]
mov rax, qword [rdx + 8]
add r15, rcx
add rax, rcx
mov qword [rsp + 0x40], rcx
cmp byte [rdx + 0x28], bl
cmovne rax, r15
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], r12
mov rsi, r12
mov r8, r12
test r9, r9
je 0x140019695
mov rsi, qword [r9 + 0x18]
add rsi, qword [r9]
mov r8, qword [r9 + 0x10]
add r8, qword [r9]
mov qword [rsp + 0x48], r8
mov edx, dword [r13 + 0x60]
lea rcx, [0x140000000]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x70], r14
test edx, edx
je 0x140019740
mov eax, dword [r13 + 0xa2f4]
mov r10d, dword [r13 + 0xa2fc]
mov r9d, dword [r13 + 0xa300]
mov r11d, dword [r13 + 0xa304]
mov r12d, dword [r13 + 0xa308]
mov r14d, dword [r13 + 0xa2e8]
mov edi, dword [r13 + 0xa2ec]
mov ebp, dword [r13 + 0xa2f0]
mov dword [rsp + 0xb0], eax
mov eax, dword [r13 + 0xa2f8]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x24], r10d
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x28], r12d
cmp edx, 0xa
ja case.default.0x140019734
mov ecx, dword [rcx + rdx*4 + 0x19dbc]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
xor al, al
jmp 0x140019cdf
xor r12d, r12d
mov edi, dword [r13 + 0x2c]
cmp edi, 8
jae 0x140019d56
mov r14d, dword [r13 + 0x28]
mov ecx, edi
and ecx, 7
mov eax, r14d
shr eax, cl
test eax, eax
jne 0x140019d56
mov ecx, dword [r13 + 0x3c]
mov eax, 1
shl eax, cl
mov r9d, 1
mov ecx, dword [r13 + 0x40]
dec eax
shl r9d, cl
dec r9d
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xc8], r9d
jmp 0x140019798
mov eax, dword [rsp + 0xb0]
cmp dword [r13 + 0x60], ebx
jne 0x140019c27
mov ecx, eax
mov eax, r14d
and rcx, rax
mov edx, dword [r13 + rcx*4 + 0x68]
mov ebp, edx
and ebp, 0xf
cmp edi, ebp
jae 0x1400197df
mov edx, 1
cmp rsi, r8
je 0x140019ca0
movzx eax, byte [rsi]
mov ecx, edi
shl eax, cl
inc rsi
or r14d, eax
mov eax, dword [rsp + 0xb0]
add edi, 8
jmp 0x1400197a2
mov ecx, ebp
shr r14d, cl
sub edi, ebp
test edx, edx
jns 0x14001981d
shr edx, 8
movzx eax, dl
mov edx, 2
mov qword [r13 + 0xa310], rax
cmp r15, qword [rsp + 0x30]
je 0x140019cc7
movzx eax, byte [r13 + 0xa310]
mov byte [r15], al
inc r15
xor r12d, r12d
jmp 0x140019791
cmp edx, 0x40000000
jae 0x1400198cc
cmp edx, 0x20000000
jae 0x140019c1f
cmp edx, 0x10000000
jb 0x140019c80
mov eax, edx
mov r9d, 1
shr edx, 4
and edx, 0xf
shr eax, 8
movzx ecx, dl
movzx r10d, ax
shl r9d, cl
dec r9d
mov dword [rsp + 0x24], r10d
mov dword [rsp + 0x20], r9d
mov eax, r9d
and eax, r14d
add eax, r10d
and eax, 0x3ff
mov edx, dword [r13 + rax*4 + 0x68]
mov ebp, edx
and ebp, 0xf
cmp edi, ebp
jae 0x1400198a5
mov edx, 3
cmp rsi, r8
je 0x140019ca0
movzx eax, byte [rsi]
mov ecx, edi
shl eax, cl
inc rsi
or r14d, eax
add edi, 8
jmp 0x140019869
mov ecx, ebp
shr r14d, cl
sub edi, ebp
test edx, edx
jns 0x1400198c0
shr edx, 8
movzx eax, dl
mov edx, 4
jmp 0x1400197f5
cmp edx, 0x40000000
jb 0x140019c17
mov eax, edx
mov ebp, edx
shr eax, 8
movzx r11d, al
add r11d, 3
shr ebp, 4
mov dword [rsp + 0x2c], r11d
and ebp, 0xf
jbe 0x14001993a
cmp edi, ebp
jae 0x14001990c
mov edx, 5
cmp rsi, r8
je 0x140019ca0
movzx eax, byte [rsi]
mov ecx, edi
shl eax, cl
inc rsi
or r14d, eax
add edi, 8
jmp 0x1400198e8
add r11d, 0xfffffffd
mov eax, ebp
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x2218a0]
mov ecx, ebp
and eax, r14d
shr r14d, cl
add eax, r11d
movzx r11d, al
add r11d, 3
mov dword [rsp + 0x2c], r11d
sub edi, ebp
mov r9d, dword [rsp + 0xc8]
mov ecx, r9d
mov eax, r14d
and rcx, rax
mov edx, dword [r13 + rcx*4 + 0x1068]
mov ebp, edx
and ebp, 0xf
cmp edi, ebp
jae 0x140019986
mov edx, 6
jmp 0x14001996b
mov r9d, dword [rsp + 0xc8]
cmp rsi, r8
je 0x140019ca0
movzx eax, byte [rsi]
mov ecx, edi
shl eax, cl
inc rsi
or r14d, eax
add edi, 8
jmp 0x140019942
mov ecx, ebp
shr r14d, cl
sub edi, ebp
mov eax, edx
and eax, 0xf0000000
cmp eax, 0x10000000
jne 0x140019a09
mov eax, edx
mov r9d, 1
shr edx, 4
and edx, 0xf
shr eax, 8
movzx ecx, dl
movzx r10d, ax
shl r9d, cl
dec r9d
mov dword [rsp + 0x24], r10d
mov dword [rsp + 0x20], r9d
mov eax, r9d
and eax, r14d
add eax, r10d
and eax, 0x3ff
mov edx, dword [r13 + rax*4 + 0x1068]
mov ebp, edx
and ebp, 0xf
cmp edi, ebp
jae 0x140019a02
mov edx, 7
cmp rsi, r8
je 0x140019ca0
movzx eax, byte [rsi]
mov ecx, edi
shl eax, cl
inc rsi
or r14d, eax
add edi, 8
jmp 0x1400199c3
mov ecx, ebp
shr r14d, cl
sub edi, ebp
mov ecx, edx
shr ecx, 0x18
cmp ecx, 0x40
jne 0x140019d3c
mov r12d, edx
mov ebp, edx
shr r12d, 8
and r12d, 0x7fff
shr ebp, 4
mov dword [rsp + 0x28], r12d
and ebp, 0xf
jbe case.0x140019734.9
cmp edi, ebp
jae 0x140019a58
mov edx, 8
cmp rsi, r8
je 0x140019ca0
movzx eax, byte [rsi]
mov ecx, edi
shl eax, cl
inc rsi
or r14d, eax
add edi, 8
jmp 0x140019a34
mov eax, ebp
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x2218a0]
and ecx, r14d
add r12d, ecx
mov ecx, ebp
and r12d, 0x7fff
shr r14d, cl
sub edi, ebp
mov dword [rsp + 0x28], r12d
mov rcx, qword [rsp + 0x40]
lea r10d, [r12 + 1]
mov edx, r10d
mov rax, r15
sub rax, rcx
mov dword [rsp + 0x3c], r10d
mov qword [rsp + 0x50], rdx
cmp rdx, rax
jbe 0x140019b5e
mov rax, qword [rsp + 0xb8]
sub ecx, r15d
inc ecx
add ecx, r12d
cmp ecx, r11d
mov edx, ecx
cmovae edx, r11d
mov dword [rsp + 0x38], edx
test rax, rax
je 0x140019acf
mov r8, qword [rax + 0x20]
jmp 0x140019ad2
xor r8d, r8d
mov eax, dword [r13 + 0x30]
sub eax, r8d
add ecx, eax
mov eax, dword [r13 + 0x38]
cmp eax, ecx
jb 0x140019cb3
mov r12, qword [rsp + 0x30]
sub eax, ecx
and eax, 0x7fff
mov ecx, 0x8101
sub rcx, rax
lea r9, [rax + 0x2068]
mov eax, edx
cmp rcx, rax
cmovbe rax, rcx
sub r12, r15
cmp rax, r12
cmovbe r12, rax
test r12, r12
je 0x140019b3a
mov r8, r12
lea rdx, [r9 + r13]
mov rcx, r15
call fcn.140171d30
mov edx, dword [rsp + 0x38]
add r15, r12
mov r10d, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x2c]
cmp r12d, edx
jb 0x140019ca9
mov r8, qword [rsp + 0x48]
mov r12, rbx
sub r11d, edx
je 0x140019791
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
test r10d, r10d
jne 0x140019b6e
xor r12d, r12d
mov r9d, r12d
jmp 0x140019c04
mov rax, r15
sub rax, rcx
cmp rax, rdx
jae 0x140019b84
xor r12d, r12d
mov r9d, r12d
jmp 0x140019c04
mov r8, qword [rsp + 0x30]
mov rcx, r15
sub r8, r15
mov eax, r11d
sub rcx, rdx
mov r9, r8
cmp rax, r8
cmovbe r8, rax
cmovbe r9d, r11d
cmp r8, 3
jb 0x140019be4
movabs rax, 0xaaaaaaaaaaaaaaab
mul r8
shr rdx, 1
imul rax, rdx, 0xfffffffffffffffd
add r8, rax
movzx eax, byte [rcx]
mov byte [r15], al
movzx eax, byte [rcx + 1]
mov byte [r15 + 1], al
movzx eax, byte [rcx + 2]
add rcx, 3
mov byte [r15 + 2], al
add r15, 3
sub rdx, 1
jne 0x140019bc0
test r8, r8
je 0x140019c01
sub rcx, r15
nop dword [rax]
movzx eax, byte [rcx + r15]
mov byte [r15], al
inc r15
sub r8, 1
jne 0x140019bf0
xor r12d, r12d
cmp r11d, r9d
ja 0x140019cbf
mov r8, qword [rsp + 0x48]
jmp 0x140019791
cmp edx, 0x20000000
jb 0x140019c54
mov byte [r13 + 0x44], 1
xor r12d, r12d
mov dword [r13 + 0x28], r14d
mov dword [r13 + 0x2c], edi
cmp edi, 8
jae 0x140019d56
and edi, 7
movzx ecx, dil
shr r14d, cl
test r14d, r14d
jne 0x140019d56
mov dword [r13 + 0x60], r12d
jmp 0x140019d5d
lea rbx, str.deflate:_internal_error:_inconsistent_Huffman_decoder_state
cmp edx, 0x10000000
jae 0x140019d5d
cmp edx, 0x8000000
lea rax, str.deflate:_bad_Huffman_code
cmovb rax, rbx
mov rbx, rax
jmp 0x140019d5d
lea rbx, str.deflate:_internal_error:_inconsistent_Huffman_decoder_state
cmp edx, 0x8000000
lea rax, str.deflate:_bad_Huffman_code
cmovb rax, rbx
mov rbx, rax
jmp 0x140019d5d
lea rbx, str._base:_short_read
jmp 0x140019cce
sub r11d, r12d
mov edx, 9
jmp 0x140019cc7
lea rbx, str.deflate:_bad_distance
jmp 0x140019d5d
sub r11d, r9d
mov edx, 0xa
lea rbx, str._base:_short_write
mov r9d, dword [rsp + 0x20]
mov al, 1
mov r10d, dword [rsp + 0x24]
mov r12d, dword [rsp + 0x28]
test al, al
mov dword [r13 + 0xa2e8], r14d
mov eax, 0
mov dword [r13 + 0xa2ec], edi
cmovne eax, edx
mov dword [r13 + 0xa2f0], ebp
mov dword [r13 + 0x60], eax
mov eax, dword [rsp + 0xb0]
mov dword [r13 + 0xa2f4], eax
mov eax, dword [rsp + 0xc8]
mov dword [r13 + 0xa2f8], eax
mov dword [r13 + 0xa2fc], r10d
mov dword [r13 + 0xa300], r9d
mov dword [r13 + 0xa304], r11d
mov dword [r13 + 0xa308], r12d
jmp 0x140019d5d
lea rbx, str.deflate:_internal_error:_inconsistent_Huffman_decoder_state
cmp ecx, 8
lea rax, str.deflate:_bad_Huffman_code
cmovne rax, rbx
mov rbx, rax
jmp 0x140019d5d
lea rbx, str.deflate:_internal_error:_inconsistent_n_bits
mov rax, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
test rax, rax
je 0x140019d93
sub r15, qword [rax]
mov qword [rax + 0x10], r15
mov rax, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x68]
test rax, rax
je 0x140019dac
sub rsi, qword [rax]
mov qword [rax + 0x18], rsi
mov rax, rbx
add rsp, 0x98
pop rsi
pop rbx
ret