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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
call fcn.18009ce80
mov rcx, rax
mov r15, rax
call fcn.18009cd78
xor esi, esi
mov rcx, r15
mov r13d, esi
mov r12, rax
call fcn.18009cc6c
test rax, rax
je 0x18009fe7d
mov rax, qword [r12]
mov dword [rbp + 0xe0], esi
mov r14, qword [rax]
mov rcx, r14
call fcn.18009ca68
test rax, rax
je 0x18009fe62
mov rbx, rsi
mov rdx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
or r8, 0xffffffffffffffff
mov qword [rsp + 0x58], rsi
inc r8
cmp byte [rdx + r8], sil
jne 0x18009f88b
lea rcx, [rsp + 0x40]
call fcn.180097bb0
mov rdx, rbx
mov rcx, r14
call fcn.18009cb68
xor edi, edi
mov qword [rbp + 0xf0], rax
xorps xmm0, xmm0
mov qword [rsp + 0x70], rdi
movups xmmword [rsp + 0x60], xmm0
mov rsi, qword [rax + 0x10]
or r8, 0xffffffffffffffff
mov rbx, qword [rax + 0x18]
mov qword [rsp + 0x78], rdi
inc r8
cmp byte [rbx + r8], dil
jne 0x18009f8d0
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180097bb0
cmp qword [rsp + 0x70], rdi
mov rdx, qword [rsp + 0x78]
sete dil
cmp rdx, 0x10
jb 0x18009f92c
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009f927
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009feb0
call fcn.180125094
xor edx, edx
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], rdx
movabs rcx, 0xfb62ef0338262664
mov byte [rsp + 0x60], dl
test dil, dil
je 0x18009fac8
movabs rax, 0xd6fcf1860c225479
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0xe8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x78], rax
movabs rax, 0xd6fcf1860c226e43
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0xe8], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0xe8]
movdqa xmm0, xmmword [rbp - 0x80]
mov qword [rbp + 0x18], rax
lea rax, [rbp - 0x80]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp - 0x80], xmm0
inc rcx
cmp byte [rax + rcx], dl
jne 0x18009f9c5
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x18009feb7
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, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
call fcn.180099da0
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.1800ec00c
mov rdx, qword [rsp + 0x58]
xor esi, esi
movups xmm7, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
cmp rdx, 0x10
jb 0x18009fa78
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fa73
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fea2
call fcn.180125094
mov rdx, qword [rsp + 0x78]
movups xmmword [rsp + 0x40], xmm7
movups xmmword [rsp + 0x50], xmm6
cmp rdx, 0x10
jb 0x18009fd8e
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fabe
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fea2
call fcn.180125094
jmp 0x18009fd8e
movabs rdx, 0xd6fcf1860c225479
movabs r8, 0xd6fcf1860c226e43
mov qword [rbp + 0xe8], rdx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x20], rax
mov qword [rbp + 0xe8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x18], rax
mov qword [rbp + 0xe8], r8
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0xe8]
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp + 0x28], rax
xorps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp + 0xe8], rdx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0xe8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x68], rax
mov qword [rbp + 0xe8], r8
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0xe8], rcx
or rcx, 0xffffffffffffffff
mov rax, qword [rbp + 0xe8]
xor edi, edi
mov qword [rbp + 0x38], rax
lea rax, [rbp - 0x70]
movdqa xmm0, xmmword [rbp + 0x30]
xorps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
inc rcx
cmp byte [rax + rcx], dil
jne 0x18009fb92
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x18009febd
cmp qword [rsp + 0x58], 0x10
lea rax, [rbp - 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.180099da0
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.1800ec00c
mov qword [rbp - 0x30], rdi
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x28], rdi
lea rcx, [rbp - 0x40]
xorps xmm0, xmm0
mov ebx, 0xf
movups xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.1800ec00c
mov qword [rbp - 0x50], rdi
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x48], rdi
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov rdx, rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rbx
mov byte [rax], dil
call fcn.1800ec00c
mov rdx, qword [rsp + 0x58]
xor esi, esi
mov edi, ebx
movups xmm7, xmmword [rax]
movups xmm6, xmmword [rax + 0x10]
mov qword [rax + 0x18], rbx
mov ebx, 0x1000
mov qword [rax + 0x10], rsi
mov byte [rax], sil
movups xmmword [rbp + 0x60], xmm7
movups xmmword [rbp + 0x70], xmm6
cmp rdx, 0x10
jb 0x18009fcbb
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009fcb6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fea9
call fcn.180125094
mov rdx, qword [rbp - 0x48]
movups xmmword [rsp + 0x40], xmm7
movups xmmword [rsp + 0x50], xmm6
cmp rdx, 0x10
jb 0x18009fcfc
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009fcf7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fea9
call fcn.180125094
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rdi
mov byte [rbp - 0x60], sil
cmp rdx, 0x10
jb 0x18009fd3f
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009fd3a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fea9
call fcn.180125094
mov rdx, qword [rbp + 8]
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rdi
mov byte [rbp - 0x40], sil
cmp rdx, 0x10
jb 0x18009fd82
mov rcx, qword [rbp - 0x10]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009fd7d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009fea9
call fcn.180125094
mov qword [rbp], rsi
mov qword [rbp + 8], rdi
mov byte [rbp - 0x10], sil
psrldq xmm6, 8
lea rcx, [rsp + 0x40]
movq rdi, xmm6
movq rbx, xmm7
cmp rdi, 0x10
cmovae rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x18009fdae
cmp rdi, 0x10
lea r8, [rsp + 0x40]
cmovae r8, rbx
or edx, 0xffffffff
test eax, eax
je 0x18009fdf0
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x180084880]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x18009fdce
mov rax, qword [rbp + 0xf0]
lea r8, [rbp + 0x40]
not edx
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x40], edx
lea rdx, [rbp + 0x50]
call fcn.1800ec9ac
cmp rdi, 0x10
jb 0x18009fe40
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18009fe38
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009feb0
mov rcx, rbx
call fcn.180125094
mov edi, dword [rbp + 0xe0]
mov rcx, r14
inc edi
mov dword [rbp + 0xe0], edi
movsxd rbx, edi
call fcn.18009ca68
cmp rbx, rax
jb 0x18009f872
mov rcx, r15
inc r13d
add r12, 8
call fcn.18009cc6c
movsxd rcx, r13d
cmp rcx, rax
jb 0x18009f851
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800977e4
int3
call fcn.1800977e4
int3