Function at 0x1800bb220
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, 0x68
mov r13d, dword [rcx + 0x24]
mov r15d, dword [rcx + 0x28]
mov ebp, dword [rcx + 0x2c]
mov edi, dword [rcx + 0x54]
mov eax, r13d
mov r14d, dword [rcx + 0x50]
mov r12, qword [rcx + 0x30]
and eax, 0x7fff
mov r10, qword [rcx + 0x38]
mov dword [rsp + 0x38], eax
mov rax, qword [rcx + 0xb8]
mov rbx, rcx
test rax, rax
je 0x1800bb96d
lea edx, [r13 + r15]
and edx, 0x7fff
mov r9d, edx
mov edx, 0x1000
sub edx, r15d
mov ecx, edx
mov r11, rcx
cmp rax, rcx
jae 0x1800bb9dc
add r15d, eax
mov edx, 0x8000
mov r11d, eax
sub edx, r15d
cmp r15d, 0xfff
mov dword [rsp + 0x30], edx
mov rdx, rax
setbe byte [rsp + 0x5f]
sub rdx, rax
mov qword [rbx + 0xb8], rdx
test r11d, r11d
je 0x1800bb3ff
lea rax, [rbx + 0xc8]
mov qword [rsp + 0x40], r12
mov r12, rbx
mov rdx, qword [rbx + 0xb0]
mov dword [rsp + 0x50], ebp
mov ebx, r9d
mov ebp, r11d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x3c], r13d
mov qword [rsp + 0x48], r10
mov dword [rsp + 0x54], r14d
mov dword [rsp + 0x58], edi
jmp 0x1800bb322
lea r9d, [r13 + rbx]
add rdx, r14
mov ebx, r9d
mov qword [r12 + 0xb0], rdx
and ebx, 0x7fff
sub ebp, r13d
je 0x1800bb3e0
mov r13d, 0x8000
mov rax, qword [rsp + 0x28]
mov edi, ebx
sub r13d, ebx
cmp r13d, ebp
lea rcx, [rax + rdi]
cmova r13d, ebp
mov r14d, r13d
mov r8, r14
call fcn.1800a6be8
mov rdx, qword [r12 + 0xb0]
cmp ebx, 0x100
ja 0x1800bb300
mov rax, qword [rsp + 0x28]
lea rcx, [rax + rdi + 0x8000]
mov eax, 0x101
sub eax, ebx
cmp eax, r13d
cmova eax, r13d
cmp eax, 8
jae 0x1800bb3a8
test al, 4
jne 0x1800bba86
test eax, eax
je 0x1800bb300
movzx esi, byte [rdx]
mov byte [rcx], sil
test al, 2
jne 0x1800bbab9
mov rdx, qword [r12 + 0xb0]
jmp 0x1800bb300
mov rsi, qword [rdx]
mov qword [rcx], rsi
mov esi, eax
mov rdi, qword [rdx + rsi - 8]
mov qword [rcx + rsi - 8], rdi
lea rdi, [rcx + 8]
mov rsi, rdx
and rdi, 0xfffffffffffffff8
sub rcx, rdi
sub rsi, rcx
add ecx, eax
mov eax, ecx
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
jmp 0x1800bb396
mov rbx, r12
mov r13d, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x48]
mov ebp, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x54]
mov edi, dword [rsp + 0x58]
mov r12, qword [rsp + 0x40]
mov eax, dword [rsp + 0x30]
mov ecx, dword [rbx + 0xa8]
cmp ebp, eax
cmova ebp, eax
test ecx, ecx
sete al
and byte [rsp + 0x5f], al
jne 0x1800bb94c
cmp r15d, 3
jbe 0x1800bb5a0
lea rax, [rbx + 0xc8]
mov esi, dword [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbx + 0x192a2]
mov qword [rsp + 0x30], rax
jmp 0x1800bb491
mov edx, 0x8000
add ebp, 1
add edi, 1
add r13d, 1
cmp ebp, edx
lea r12, [rax + 1]
mov r10, rax
mov r14d, 8
cmova ebp, edx
lea edx, [rsi + 1]
mov eax, 1
mov esi, edx
and esi, 0x7fff
sub r15d, eax
cmp qword [rsp + 0x30], r12
jb 0x1800bb557
cmp r15d, 3
jbe 0x1800bb59c
mov rax, qword [rsp + 0x28]
mov r9d, esi
mov r11d, r13d
add r9, rax
mov edx, dword [r9]
mov ecx, edx
and ecx, 0xffffff
mov r8d, ecx
shr r8d, 0x11
xor r8d, ecx
and r8d, 0xfff
add r8, 0x14950
movzx eax, word [rbx + r8*2 + 0xa]
mov word [rbx + r8*2 + 0xa], r13w
sub r11d, eax
mov word [rsp + 0x38], r11w
movzx r11d, r11w
cmp ebp, r11d
jb 0x1800bb500
mov r8, qword [rsp + 0x28]
and eax, 0x7fff
add rax, r8
mov r8d, dword [rax]
and r8d, 0xffffff
cmp ecx, r8d
je 0x1800bb740
movzx edx, dl
mov byte [r12], cl
lea rax, [r12 + 1]
shr byte [r10], 1
add word [rbx + rdx*2 + 0x81ca], 1
sub r14d, 1
je 0x1800bb448
mov edx, 0x8000
add ebp, 1
mov r12, rax
mov eax, 1
cmp ebp, edx
cmova ebp, edx
lea edx, [rsi + 1]
add r13d, 1
add edi, 1
mov esi, edx
sub r15d, eax
and esi, 0x7fff
cmp qword [rsp + 0x30], r12
jae 0x1800bb487
mov dword [rbx + 0x24], r13d
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x28], r15d
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x54], edi
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x38], r10
mov dword [rbx + 0x50], r14d
call sym.tdefl_flush_block
test eax, eax
jne 0x1800bb91b
mov edi, dword [rbx + 0x54]
mov r12, qword [rbx + 0x30]
mov r10, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x50]
cmp r15d, 3
ja 0x1800bb491
mov dword [rsp + 0x38], esi
test r15d, r15d
je 0x1800bb6eb
mov eax, dword [rsp + 0x38]
add edi, 1
movzx edx, byte [rbx + rax + 0xc8]
lea rax, [r12 + 1]
mov byte [r12], dl
shr byte [r10], 1
sub r14d, 1
jne 0x1800bb5d8
mov r10, rax
mov r14d, 8
lea rax, [r12 + 2]
add word [rbx + rdx*2 + 0x81ca], 1
add ebp, 1
lea r12d, [r13 + 1]
mov edx, 0x8000
cmp ebp, edx
lea r8, [rbx + 0x192a2]
lea esi, [r15 - 1]
cmova ebp, edx
mov edx, dword [rsp + 0x38]
add edx, 1
and edx, 0x7fff
mov dword [rsp + 0x38], edx
cmp r8, rax
jb 0x1800bb8eb
test esi, esi
je 0x1800bbad2
mov edx, dword [rsp + 0x38]
add edi, 1
movzx ecx, byte [rbx + rdx + 0xc8]
lea rdx, [rax + 1]
mov byte [rax], cl
shr byte [r10], 1
sub r14d, 1
jne 0x1800bb64a
mov r10, rdx
mov r14d, 8
lea rdx, [rax + 2]
movzx eax, cl
add ebp, 1
lea esi, [r13 + 2]
add word [rbx + rax*2 + 0x81ca], 1
mov eax, 0x8000
cmp ebp, eax
cmova ebp, eax
mov eax, dword [rsp + 0x38]
sub r15d, 2
add eax, 1
and eax, 0x7fff
mov dword [rsp + 0x38], eax
cmp r8, rdx
jb 0x1800bb9fa
test r15d, r15d
je 0x1800bbadd
mov eax, dword [rsp + 0x38]
add edi, 1
lea r12, [rdx + 1]
movzx eax, byte [rbx + rax + 0xc8]
mov byte [rdx], al
shr byte [r10], 1
sub r14d, 1
jne 0x1800bb6b8
mov r10, r12
mov r14d, 8
lea r12, [rdx + 2]
add word [rbx + rax*2 + 0x81ca], 1
add ebp, 1
mov eax, 0x8000
add r13d, 3
cmp ebp, eax
cmova ebp, eax
mov eax, dword [rsp + 0x38]
add eax, 1
and eax, 0x7fff
mov dword [rsp + 0x38], eax
cmp r8, r12
jb 0x1800bba43
mov r15, qword [rbx + 0xb8]
test r15, r15
je 0x1800bb949
mov r9d, r13d
and r9d, 0x7fff
cmp r15, 0xfff
ja 0x1800bb9b5
mov eax, 0x8000
mov byte [rsp + 0x5f], 1
mov r11d, r15d
mov qword [rbx + 0xb8], 0
sub eax, r15d
mov dword [rsp + 0x30], eax
jmp 0x1800bb2c1
mov dword [rsp + 0x3c], edx
mov r8, r9
mov qword [rsp + 0x40], r9
mov r9d, 0x20
nop word [rax + rax]
movzx edx, word [rax + 2]
cmp word [r8 + 2], dx
jne 0x1800bb868
movzx edx, word [rax + 4]
cmp word [r8 + 4], dx
jne 0x1800bb8b0
movzx edx, word [rax + 6]
cmp word [r8 + 6], dx
jne 0x1800bb8c8
add r8, 8
add rax, 8
movzx edx, word [rax]
cmp word [r8], dx
jne 0x1800bb8e0
sub r9d, 1
jne 0x1800bb758
mov edx, dword [rsp + 0x3c]
test r11d, r11d
je 0x1800bb500
mov eax, 0x102
cmp eax, r15d
cmova eax, r15d
sub r11d, 1
cmp r11d, 0x7fff
ja 0x1800bbae8
lea edx, [rax - 3]
lea rcx, [r12 + 3]
mov byte [r12], dl
movzx edx, word [rsp + 0x38]
sub edx, 1
mov word [r12 + 1], dx
movzx edx, byte [r10]
shr dl, 1
or edx, 0xffffff80
mov byte [r10], dl
cmp r11d, 0x1ff
ja 0x1800bb931
lea rdx, [0x18010d360]
movzx edx, byte [rdx + r11]
add word [rbx + rdx*2 + 0x840a], 1
lea r8, [0x18010cf00]
lea edx, [rax - 3]
movzx edx, word [r8 + rdx*2]
add word [rbx + rdx*2 + 0x81ca], 1
sub r14d, 1
jne 0x1800bb83e
mov r10, rcx
mov r14d, 8
lea rcx, [r12 + 4]
mov edx, 0x8000
add ebp, eax
add edi, eax
add r13d, eax
cmp ebp, edx
mov r12, rcx
cmova ebp, edx
lea edx, [rax + rsi]
mov esi, edx
and esi, 0x7fff
jmp 0x1800bb479
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
add r8, 2
add rax, 2
movzx eax, byte [rax]
cmp byte [r8], al
sete al
sub r8, r9
movzx eax, al
add eax, r8d
cmp eax, 2
jbe 0x1800bb500
cmp eax, 3
jne 0x1800bb7b2
cmp r11d, 0x1fff
ja 0x1800bb500
jmp 0x1800bb7b2
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
add r8, 4
add rax, 4
jmp 0x1800bb879
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
add r8, 6
add rax, 6
jmp 0x1800bb879
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
jmp 0x1800bb879
mov dword [rbx + 0x24], r12d
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x28], esi
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x54], edi
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x38], r10
mov dword [rbx + 0x50], r14d
mov qword [rsp + 0x28], r8
call sym.tdefl_flush_block
test eax, eax
je 0x1800bb99c
not eax
shr eax, 0x1f
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
shr r11d, 8
lea r8, [0x18010cd80]
mov edx, r11d
movzx edx, byte [r8 + rdx]
jmp 0x1800bb809
xor r15d, r15d
mov dword [rbx + 0x24], r13d
mov eax, 1
mov dword [rbx + 0x28], r15d
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x54], edi
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x38], r10
mov dword [rbx + 0x50], r14d
jmp 0x1800bb920
mov edx, dword [rcx + 0xa8]
test edx, edx
je 0x1800bb94c
test r15d, r15d
je 0x1800bb94c
cmp r15d, 0x1000
je 0x1800bbaa1
lea edx, [r13 + r15]
and edx, 0x7fff
mov r9d, edx
jmp 0x1800bb28d
mov edi, dword [rbx + 0x54]
mov rax, qword [rbx + 0x30]
mov r10, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x50]
mov r8, qword [rsp + 0x28]
jmp 0x1800bb617
sub r15, 0x1000
mov dword [rsp + 0x30], 0x7000
mov r11d, 0x1000
mov qword [rbx + 0xb8], r15
mov r15d, 0x1000
jmp 0x1800bb2c1
mov rdx, rax
mov byte [rsp + 0x5f], 0
mov rax, rcx
mov r15d, 0x1000
mov dword [rsp + 0x30], 0x7000
jmp 0x1800bb2ae
mov qword [rbx + 0x30], rdx
mov rcx, rbx
xor edx, edx
mov dword [rbx + 0x24], esi
mov dword [rbx + 0x28], r15d
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x54], edi
mov qword [rbx + 0x38], r10
mov dword [rbx + 0x50], r14d
mov qword [rsp + 0x28], r8
call sym.tdefl_flush_block
test eax, eax
jne 0x1800bb91b
mov edi, dword [rbx + 0x54]
mov rdx, qword [rbx + 0x30]
mov r10, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x50]
mov r8, qword [rsp + 0x28]
jmp 0x1800bb684
mov dword [rbx + 0x24], r13d
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x28], 0
mov dword [rbx + 0x2c], ebp
mov dword [rbx + 0x54], edi
mov qword [rbx + 0x30], r12
mov qword [rbx + 0x38], r10
mov dword [rbx + 0x50], r14d
call sym.tdefl_flush_block
test eax, eax
jne 0x1800bb91b
mov edi, dword [rbx + 0x54]
mov r12, qword [rbx + 0x30]
mov r10, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x50]
jmp 0x1800bb6eb
mov esi, dword [rdx]
mov eax, eax
mov dword [rcx], esi
mov edx, dword [rdx + rax - 4]
mov dword [rcx + rax - 4], edx
mov rdx, qword [r12 + 0xb0]
jmp 0x1800bb300
mov byte [rsp + 0x5f], 0
mov r15d, 0x1000
mov dword [rsp + 0x30], 0x7000
jmp 0x1800bb3ff
mov eax, eax
movzx edx, word [rdx + rax - 2]
mov word [rcx + rax - 2], dx
mov rdx, qword [r12 + 0xb0]
jmp 0x1800bb300
mov r13d, r12d
mov r12, rax
jmp 0x1800bb6eb
mov r13d, esi
mov r12, rdx
jmp 0x1800bb6eb
mov r8d, 0x5f2
lea rdx, str.miniz.c
lea rcx, str._cur_match_len___TDEFL_MIN_MATCH_LEN____cur_match_dist___1____cur_match_dist___TDEFL_LZ_DICT_SIZE_
call qword [sym.imp.msvcrt.dll__assert]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop