Function at 0x1800bdca0
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 0x1800be3ed
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 0x1800be45c
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 0x1800bde7f
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 0x1800bdda2
lea r9d, [r13 + rbx]
add rdx, r14
mov ebx, r9d
mov qword [r12 + 0xb0], rdx
and ebx, 0x7fff
sub ebp, r13d
je 0x1800bde60
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.1800a9668
mov rdx, qword [r12 + 0xb0]
cmp ebx, 0x100
ja 0x1800bdd80
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 0x1800bde28
test al, 4
jne 0x1800be506
test eax, eax
je 0x1800bdd80
movzx esi, byte [rdx]
mov byte [rcx], sil
test al, 2
jne 0x1800be539
mov rdx, qword [r12 + 0xb0]
jmp 0x1800bdd80
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 0x1800bde16
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 0x1800be3cc
cmp r15d, 3
jbe 0x1800be020
lea rax, [rbx + 0xc8]
mov esi, dword [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbx + 0x192a2]
mov qword [rsp + 0x30], rax
jmp 0x1800bdf11
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 0x1800bdfd7
cmp r15d, 3
jbe 0x1800be01c
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 0x1800bdf80
mov r8, qword [rsp + 0x28]
and eax, 0x7fff
add rax, r8
mov r8d, dword [rax]
and r8d, 0xffffff
cmp ecx, r8d
je 0x1800be1c0
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 0x1800bdec8
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 0x1800bdf07
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 0x1800be39b
mov edi, dword [rbx + 0x54]
mov r12, qword [rbx + 0x30]
mov r10, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x50]
cmp r15d, 3
ja 0x1800bdf11
mov dword [rsp + 0x38], esi
test r15d, r15d
je 0x1800be16b
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 0x1800be058
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 0x1800be36b
test esi, esi
je 0x1800be552
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 0x1800be0ca
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 0x1800be47a
test r15d, r15d
je 0x1800be55d
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 0x1800be138
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 0x1800be4c3
mov r15, qword [rbx + 0xb8]
test r15, r15
je 0x1800be3c9
mov r9d, r13d
and r9d, 0x7fff
cmp r15, 0xfff
ja 0x1800be435
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 0x1800bdd41
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 0x1800be2e8
movzx edx, word [rax + 4]
cmp word [r8 + 4], dx
jne 0x1800be330
movzx edx, word [rax + 6]
cmp word [r8 + 6], dx
jne 0x1800be348
add r8, 8
add rax, 8
movzx edx, word [rax]
cmp word [r8], dx
jne 0x1800be360
sub r9d, 1
jne 0x1800be1d8
mov edx, dword [rsp + 0x3c]
test r11d, r11d
je 0x1800bdf80
mov eax, 0x102
cmp eax, r15d
cmova eax, r15d
sub r11d, 1
cmp r11d, 0x7fff
ja 0x1800be568
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 0x1800be3b1
lea rdx, [0x18014be60]
movzx edx, byte [rdx + r11]
add word [rbx + rdx*2 + 0x840a], 1
lea r8, [0x18014ba00]
lea edx, [rax - 3]
movzx edx, word [r8 + rdx*2]
add word [rbx + rdx*2 + 0x81ca], 1
sub r14d, 1
jne 0x1800be2be
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 0x1800bdef9
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 0x1800bdf80
cmp eax, 3
jne 0x1800be232
cmp r11d, 0x1fff
ja 0x1800bdf80
jmp 0x1800be232
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
add r8, 4
add rax, 4
jmp 0x1800be2f9
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
add r8, 6
add rax, 6
jmp 0x1800be2f9
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x3c]
jmp 0x1800be2f9
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 0x1800be41c
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, [0x18014b880]
mov edx, r11d
movzx edx, byte [r8 + rdx]
jmp 0x1800be289
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 0x1800be3a0
mov edx, dword [rcx + 0xa8]
test edx, edx
je 0x1800be3cc
test r15d, r15d
je 0x1800be3cc
cmp r15d, 0x1000
je 0x1800be521
lea edx, [r13 + r15]
and edx, 0x7fff
mov r9d, edx
jmp 0x1800bdd0d
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 0x1800be097
sub r15, 0x1000
mov dword [rsp + 0x30], 0x7000
mov r11d, 0x1000
mov qword [rbx + 0xb8], r15
mov r15d, 0x1000
jmp 0x1800bdd41
mov rdx, rax
mov byte [rsp + 0x5f], 0
mov rax, rcx
mov r15d, 0x1000
mov dword [rsp + 0x30], 0x7000
jmp 0x1800bdd2e
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 0x1800be39b
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 0x1800be104
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 0x1800be39b
mov edi, dword [rbx + 0x54]
mov r12, qword [rbx + 0x30]
mov r10, qword [rbx + 0x38]
mov r14d, dword [rbx + 0x50]
jmp 0x1800be16b
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 0x1800bdd80
mov byte [rsp + 0x5f], 0
mov r15d, 0x1000
mov dword [rsp + 0x30], 0x7000
jmp 0x1800bde7f
mov eax, eax
movzx edx, word [rdx + rax - 2]
mov word [rcx + rax - 2], dx
mov rdx, qword [r12 + 0xb0]
jmp 0x1800bdd80
mov r13d, r12d
mov r12, rax
jmp 0x1800be16b
mov r13d, esi
mov r12, rdx
jmp 0x1800be16b
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