Function at 0x18009d19c
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov rax, rsp
mov dword [rax + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x208
mov ebx, ecx
movaps xmmword [rax - 0x58], xmm6
lea rcx, [rbp]
movaps xmmword [rax - 0x68], xmm7
call fcn.1800eb6ac
mov edx, ebx
mov rcx, rax
call fcn.1800ec114
test al, al
je 0x18009d1f1
lea rdx, [rbp + 0x150]
call fcn.1800eb5d8
mov rax, qword [rax]
jmp 0x18009d969
call fcn.18009d0b4
mov rcx, rax
mov r15, rax
call fcn.18009cfac
xor edi, edi
mov qword [rbp + 0x160], rax
mov rcx, r15
mov dword [rbp + 0x158], edi
mov rbx, rax
call fcn.18009cea0
test rax, rax
je 0x18009d967
movabs r14, 0x2f6b3d8f60050e50
mov rax, qword [rbx]
xor r13d, r13d
mov r12, qword [rax]
mov rcx, r12
call fcn.18009cc98
test rax, rax
je 0x18009d940
xor ebx, ebx
or rdi, 0xffffffffffffffff
mov rdx, qword [r12]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov r8, rdi
mov qword [rsp + 0x58], rbx
inc r8
cmp byte [rdx + r8], bl
jne 0x18009d267
lea rcx, [rsp + 0x40]
call fcn.180097e40
movabs rax, 0x806f172296e53fd5
lea rcx, [rsp + 0x60]
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x168], r14
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x68], rax
movabs rax, 0x806f1722fa895bfb
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x168], r14
mov rax, qword [rbp + 0x168]
movdqa xmm0, xmmword [rsp + 0x60]
mov qword [rbp + 0x58], rax
mov rax, rdi
pxor xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
inc rax
cmp byte [rcx + rax], bl
jne 0x18009d2f1
cmp qword [rsp + 0x58], 0x10
lea rcx, [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
lea r9, [rsp + 0x60]
cmovae rcx, qword [rsp + 0x40]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1800ed444
cmp rbx, rax
jb 0x18009d9fe
mov rcx, rbx
mov edx, 4
sub rcx, rax
cmp rcx, rdx
cmovb rdx, rcx
cmp qword [rsp + 0x58], 0x10
lea rcx, [rsp + 0x40]
cmovae rcx, qword [rsp + 0x40]
sub rbx, rdx
add rcx, rax
mov r8, rbx
sub r8, rax
add rdx, rcx
inc r8
call sub.VCRUNTIME140.dll_memmove
movsxd rdx, r13d
mov rcx, r12
mov qword [rsp + 0x50], rbx
call fcn.18009cd98
xor ebx, ebx
xorps xmm0, xmm0
mov r14, rax
mov qword [rbp - 0x10], rbx
movups xmmword [rbp - 0x20], xmm0
mov rsi, qword [rax + 0x10]
or r8, 0xffffffffffffffff
mov rdi, qword [rax + 0x18]
mov qword [rbp - 8], rbx
inc r8
cmp byte [rdi + r8], bl
jne 0x18009d394
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.180097e40
cmp qword [rbp - 0x10], rbx
mov rdx, qword [rbp - 8]
sete bl
cmp rdx, 0x10
jb 0x18009d3eb
mov rcx, qword [rbp - 0x20]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009d3e6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d9e4
call fcn.1801249e4
and qword [rbp - 0x10], 0
movabs rcx, 0x2f6b3d8f60050e50
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
test bl, bl
je 0x18009d59e
movabs rax, 0x806f1722fa8961c1
or rdi, 0xffffffffffffffff
mov qword [rbp + 0x168], rax
xor ebx, ebx
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x168], rcx
mov rax, qword [rbp + 0x168]
mov qword [rsp + 0x78], rax
movabs rax, 0x806f1722fa895bfb
mov qword [rbp + 0x168], rax
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x168], rcx
mov rcx, rdi
mov rax, qword [rbp + 0x168]
movdqa xmm0, xmmword [rsp + 0x70]
mov qword [rbp + 0x68], rax
lea rax, [rsp + 0x70]
pxor xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rsp + 0x70], xmm0
inc rcx
cmp byte [rax + rcx], bl
jne 0x18009d48b
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x18009da04
cmp qword [rsp + 0x58], 0x10
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.18009a038
mov rdx, rsi
lea rcx, [rbp + 0x10]
call fcn.1800eb8b4
mov esi, 0xf
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov byte [rax], bl
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp + 0xa0], xmm6
movups xmmword [rbp + 0xb0], xmm7
cmp rdx, 0x10
jb 0x18009d549
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009d544
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d98b
call fcn.1801249e4
mov rdx, qword [rbp + 0x28]
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
cmp rdx, 0x10
jb 0x18009d58e
mov rcx, qword [rbp + 0x10]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009d589
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d98b
call fcn.1801249e4
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rsi
mov byte [rbp + 0x10], bl
jmp 0x18009d870
movabs r8, 0x806f1722fa8961c1
movabs rdx, 0x806f1722fa895bfb
mov qword [rbp + 0x168], r8
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x30], rax
mov qword [rbp + 0x168], rcx
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x168], rdx
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x168], rcx
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x78], rax
movdqa xmm0, xmmword [rbp + 0x70]
pxor xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp + 0x168], r8
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x168], rcx
mov rax, qword [rbp + 0x168]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0x168], rdx
mov rax, qword [rbp + 0x168]
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x168], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0x168]
xor ebx, ebx
movdqa xmm0, xmmword [rbp - 0x80]
mov qword [rbp + 0x88], rax
lea rax, [rbp - 0x80]
pxor xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp - 0x80], xmm0
inc rcx
cmp byte [rax + rcx], bl
jne 0x18009d673
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x18009d9f8
cmp qword [rsp + 0x58], 0x10
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
lea r9, [rsp + 0x40]
cmovae r9, qword [rsp + 0x40]
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.18009a038
mov rdx, rdi
lea rcx, [rbp + 0x30]
call fcn.1800eb8b4
mov qword [rbp - 0x40], rbx
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x38], rbx
lea rcx, [rbp - 0x50]
xorps xmm0, xmm0
mov edi, 0xf
movups xmmword [rbp - 0x50], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
call fcn.1800eb8b4
mov qword [rbp - 0x60], rbx
lea rcx, [rbp - 0x70]
mov qword [rbp - 0x58], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov byte [rax], bl
call fcn.1800eb8b4
mov esi, edi
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x18], rdi
mov edi, 0x1000
mov qword [rax + 0x10], rbx
mov byte [rax], bl
mov rdx, qword [rsp + 0x58]
movups xmmword [rbp + 0xc0], xmm6
movups xmmword [rbp + 0xd0], xmm7
cmp rdx, 0x10
jb 0x18009d79c
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18009d797
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d992
call fcn.1801249e4
mov rdx, qword [rbp - 0x58]
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
cmp rdx, 0x10
jb 0x18009d7dd
mov rcx, qword [rbp - 0x70]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18009d7d8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d992
call fcn.1801249e4
mov rdx, qword [rbp - 0x38]
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rsi
mov byte [rbp - 0x70], bl
cmp rdx, 0x10
jb 0x18009d81f
mov rcx, qword [rbp - 0x50]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18009d81a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d992
call fcn.1801249e4
mov rdx, qword [rbp + 0x48]
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rsi
mov byte [rbp - 0x50], bl
cmp rdx, 0x10
jb 0x18009d861
mov rcx, qword [rbp + 0x30]
inc rdx
mov rax, rcx
cmp rdx, rdi
jb 0x18009d85c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d992
call fcn.1801249e4
mov qword [rbp + 0x40], rbx
or rdi, 0xffffffffffffffff
mov qword [rbp + 0x48], rsi
mov byte [rbp + 0x30], bl
mov r10, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
mov r8, qword [rsp + 0x40]
cmp r10, 0x10
mov rax, rdi
cmovae rcx, r8
inc rax
cmp byte [rcx + rax], bl
jne 0x18009d88a
cmp r10, 0x10
lea r9, [rsp + 0x40]
cmovae r9, r8
or edx, 0xffffffff
test eax, eax
je 0x18009d8cb
mov r11d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r9
lea rcx, [0x180084990]
xor edx, dword [rcx + rax*4]
sub r11, 1
jne 0x18009d8a9
mov eax, dword [rbp + 0x150]
not edx
cmp eax, edx
je 0x18009d999
cmp r10, 0x10
jb 0x18009d912
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x18009d90a
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009d9e4
mov rcx, r8
call fcn.1801249e4
mov rcx, r12
inc r13d
call fcn.18009cc98
movsxd rcx, r13d
movabs r14, 0x2f6b3d8f60050e50
cmp rcx, rax
jb 0x18009d24e
mov rbx, qword [rbp + 0x160]
mov edi, dword [rbp + 0x158]
inc edi
add rbx, 8
mov rcx, r15
mov dword [rbp + 0x158], edi
mov qword [rbp + 0x160], rbx
call fcn.18009cea0
movsxd rcx, edi
cmp rcx, rax
jb 0x18009d22e
xor eax, eax
lea r11, [rsp + 0x208]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea r8, [rbp]
mov dword [rbp], eax
lea rdx, [rbp + 0x90]
mov qword [rbp + 8], r14
call fcn.1800ec258
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18009d9f0
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009d9eb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009d9eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1801249e4
mov rax, r14
jmp 0x18009d969
call fcn.180097a74
int3
call fcn.180097df4
int3
call fcn.180097a74
int3