Function at 0x1801aa640
Capabilities:
Decompress data using quicklz

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rbp, r8
mov qword [rsp + 0x48], r8
mov rsi, rdx
mov qword [rsp + 0x38], rdx
mov r12, rcx
mov qword [rsp + 0x28], rcx
xor r15d, r15d
movzx ecx, byte [r8 + 0x18]
lea eax, [rcx - 2]
cmp al, 1
jbe 0x1801aa684
imul rdi, rcx, 0x160
jmp 0x1801aa68c
lea rdi, [rcx + rcx*4]
shl rdi, 6
mov qword [r12], r15
mov qword [r12 + 8], r15
mov qword [r12 + 0x10], r15
test rdi, rdi
je 0x1801aa6ce
mov edx, 1
mov rcx, rdi
call fcn.18009de10
mov rcx, rax
mov qword [r12], rax
add rax, rdi
mov qword [r12 + 0x10], rax
lea rbx, [rdi + rcx]
mov r8, rdi
xor edx, edx
call fcn.180283390
mov qword [r12 + 8], rbx
mov r10, qword [rsi + 8]
mov r9, qword [rsi]
cmp r9, r10
je 0x1801aa778
lea r8, [r9 + 0x200]
mov ebx, reloc.WS2_32.dll_ntohs
mov r11d, 0xd01
mov rax, r9
mov rcx, r15
mov edx, 0x100
cmp r9, r8
cmova rdx, r15
ja 0x1801aa738
movdqa xmm2, xmmword [0x180375540]
movd xmm3, ebx
movdqu xmm1, xmmword [rax]
psubw xmm1, xmm2
movdqa xmm0, xmm1
psraw xmm0, xmm3
andps xmm0, xmm2
paddw xmm0, xmm1
movdqu xmmword [rax], xmm0
add rax, 0x10
add rcx, 8
cmp rcx, rdx
jne 0x1801aa710
cmp rax, r8
je 0x1801aa761
nop dword [rax]
movzx edx, word [rax]
sub dx, r11w
movzx ecx, dx
sar cx, 0xf
and cx, r11w
add cx, dx
mov word [rax], cx
add rax, 2
cmp rax, r8
jne 0x1801aa740
add r9, 0x200
add r8, 0x200
cmp r9, r10
jne 0x1801aa6f0
movzx ecx, byte [rbp + 0x18]
lea eax, [rcx - 2]
cmp al, 1
jbe 0x1801aaa28
mov qword [rsp + 0x28], r15
test cl, cl
je 0x1801aab7b
mov r11d, 6
movabs r13, 0x3afb7680bb054e5d
mov r9d, 0x7ff
nop word [rax + rax]
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x30], 0x20
nop
mov r8, qword [rsi]
movsx r14d, word [r11 + r8 - 6]
shl r14d, 0xb
add r14, 0x680
mov rax, r13
mul r14
sub r14, rdx
shr r14, 1
add r14, rdx
shr r14, 0xb
and r14w, r9w
movsx ebp, word [r11 + r8 - 4]
shl ebp, 0xb
add rbp, 0x680
mov rax, r13
mul rbp
sub rbp, rdx
shr rbp, 1
add rbp, rdx
shr rbp, 0xb
movsx ecx, word [r11 + r8 - 2]
shl ecx, 0xb
add rcx, 0x680
mov rax, r13
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 0xb
movzx edi, cx
and di, r9w
movsx esi, word [r8 + r11]
shl esi, 0xb
add rsi, 0x680
mov rax, r13
mul rsi
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 0xb
movsx ebx, word [r11 + r8 + 2]
shl ebx, 0xb
add rbx, 0x680
mov rax, r13
mul rbx
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 0xb
movsx r10d, word [r11 + r8 + 4]
shl r10d, 0xb
add r10, 0x680
mov rax, r13
mul r10
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 0xb
movzx r9d, r10w
mov eax, 0x7ff
and r9w, ax
movsx r11d, word [r11 + r8 + 6]
shl r11d, 0xb
add r11, 0x680
mov rax, r13
mul r11
sub r11, rdx
shr r11, 1
add r11, rdx
shr r11, 0xb
mov rax, qword [rsp + 0x20]
movsx r8d, word [rax + r8 + 8]
shl r8d, 0xb
add r8, 0x680
mov rax, r13
mul r8
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 0xb
mov rax, qword [r12]
mov byte [r15 + rax], r14b
shr r14w, 8
movzx eax, bpl
shl al, 3
or r14b, al
mov rax, qword [r12]
mov byte [rax + r15 + 1], r14b
shr bp, 5
and bpl, 0x3f
shl cl, 6
or bpl, cl
mov rax, qword [r12]
mov byte [rax + r15 + 2], bpl
movzx ecx, di
shr cx, 2
mov rax, qword [r12]
mov byte [rax + r15 + 3], cl
shr di, 0xa
movzx eax, sil
add al, al
or dil, al
mov rax, qword [r12]
mov byte [rax + r15 + 4], dil
shr si, 7
and sil, 0xf
movzx eax, bl
shl al, 4
or sil, al
mov rax, qword [r12]
mov byte [rax + r15 + 5], sil
shr bx, 4
and bl, 0x7f
shl r10b, 7
or bl, r10b
mov rax, qword [r12]
mov byte [rax + r15 + 6], bl
movzx ecx, r9w
shr cx, 1
mov rax, qword [r12]
mov byte [rax + r15 + 7], cl
shr r9w, 9
movzx eax, r11b
shl al, 2
or r9b, al
mov rax, qword [r12]
mov byte [rax + r15 + 8], r9b
shr r11w, 6
and r11b, 0x1f
movzx eax, r8b
shl al, 5
or r11b, al
mov rax, qword [r12]
mov byte [rax + r15 + 9], r11b
shr r8w, 3
mov rcx, qword [r12]
mov byte [rcx + r15 + 0xa], r8b
add r15, 0xb
mov r11, qword [rsp + 0x20]
add r11, 0x10
mov qword [rsp + 0x20], r11
sub qword [rsp + 0x30], 1
mov rsi, qword [rsp + 0x38]
mov r9d, 0x7ff
jne 0x1801aa7c0
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x48]
movzx ecx, byte [rcx + 0x18]
cmp rax, rcx
jb 0x1801aa7b0
jmp 0x1801aab7b
mov rdi, r15
test cl, cl
je 0x1801aab7b
movabs r13, 0x3afb7680bb054e5d
mov r14d, 0x3ff
nop dword [rax]
nop word [rax + rax]
mov r11, rdi
shl r11, 9
mov ebx, 0x40
nop dword [rax]
mov rcx, qword [rsi]
movsx r10d, word [rcx + r11]
shl r10d, 0xa
add r10, 0x680
mov rax, r13
mul r10
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 0xb
and r10w, r14w
movsx r9d, word [rcx + r11 + 2]
shl r9d, 0xa
add r9, 0x680
mov rax, r13
mul r9
sub r9, rdx
shr r9, 1
add r9, rdx
shr r9, 0xb
movsx r8d, word [rcx + r11 + 4]
shl r8d, 0xa
add r8, 0x680
mov rax, r13
mul r8
sub r8, rdx
shr r8, 1
add r8, rdx
shr r8, 0xb
movsx ecx, word [rcx + r11 + 6]
shl ecx, 0xa
add rcx, 0x680
mov rax, r13
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 0xb
mov rax, qword [r12]
mov byte [r15 + rax], r10b
shr r10w, 8
movzx eax, r9b
shl al, 2
or r10b, al
mov rax, qword [r12]
mov byte [rax + r15 + 1], r10b
shr r9w, 6
and r9b, 0xf
movzx eax, r8b
shl al, 4
or r9b, al
mov rax, qword [r12]
mov byte [rax + r15 + 2], r9b
shr r8w, 4
and r8b, 0x3f
movzx eax, cl
shl al, 6
or r8b, al
mov rax, qword [r12]
mov byte [rax + r15 + 3], r8b
shr cx, 2
mov rax, qword [r12]
mov byte [rax + r15 + 4], cl
add r15, 5
lea r11, [r11 + 8]
sub rbx, 1
jne 0x1801aaa60
inc rdi
movzx eax, byte [rbp + 0x18]
cmp rdi, rax
jb 0x1801aaa50
mov rax, r12
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret