Function at 0x18009fa4c
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.18009d0b4
mov rcx, rax
mov r15, rax
call fcn.18009cfac
xor esi, esi
mov rcx, r15
mov r13d, esi
mov r12, rax
call fcn.18009cea0
test rax, rax
je 0x1800a00c7
mov rax, qword [r12]
mov dword [rbp + 0xe0], esi
mov r14, qword [rax]
mov rcx, r14
call fcn.18009cc98
test rax, rax
je 0x1800a00ac
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 0x18009fad7
lea rcx, [rsp + 0x40]
call fcn.180097e40
mov rdx, rbx
mov rcx, r14
call fcn.18009cd98
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 0x18009fb1c
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180097e40
cmp qword [rsp + 0x70], rdi
mov rdx, qword [rsp + 0x78]
sete dil
cmp rdx, 0x10
jb 0x18009fb78
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fb73
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00fa
call fcn.1801249e4
xor edx, edx
mov qword [rsp + 0x78], 0xf
mov qword [rsp + 0x70], rdx
movabs rcx, 0x2f6b3d8f60050e50
mov byte [rsp + 0x60], dl
test dil, dil
je 0x18009fd15
movabs rax, 0x806f1722fa8961c1
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, 0x806f1722fa895bfb
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]
pxor xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp - 0x80], xmm0
inc rcx
cmp byte [rax + rcx], dl
jne 0x18009fc12
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x1800a0101
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.18009a038
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.1800eb8b4
mov rdx, qword [rsp + 0x58]
xor esi, esi
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], sil
cmp rdx, 0x10
jb 0x18009fcc5
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fcc0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00ec
call fcn.1801249e4
mov rdx, qword [rsp + 0x78]
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
cmp rdx, 0x10
jb 0x18009ffdd
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009fd0b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00ec
call fcn.1801249e4
jmp 0x18009ffdd
movabs rdx, 0x806f1722fa8961c1
movabs r8, 0x806f1722fa895bfb
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
pxor 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]
pxor xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
inc rcx
cmp byte [rax + rcx], dil
jne 0x18009fde1
mov r8, qword [rsp + 0x50]
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, rcx
jb 0x1800a0107
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.18009a038
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.1800eb8b4
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.1800eb8b4
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.1800eb8b4
mov rdx, qword [rsp + 0x58]
xor esi, esi
mov edi, ebx
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x18], rbx
mov ebx, 0x1000
mov qword [rax + 0x10], rsi
mov byte [rax], sil
movups xmmword [rbp + 0x60], xmm6
movups xmmword [rbp + 0x70], xmm7
cmp rdx, 0x10
jb 0x18009ff0a
mov rcx, qword [rsp + 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009ff05
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00f3
call fcn.1801249e4
mov rdx, qword [rbp - 0x48]
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x50], xmm7
cmp rdx, 0x10
jb 0x18009ff4b
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009ff46
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00f3
call fcn.1801249e4
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rdi
mov byte [rbp - 0x60], sil
cmp rdx, 0x10
jb 0x18009ff8e
mov rcx, qword [rbp - 0x40]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009ff89
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00f3
call fcn.1801249e4
mov rdx, qword [rbp + 8]
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rdi
mov byte [rbp - 0x40], sil
cmp rdx, 0x10
jb 0x18009ffd1
mov rcx, qword [rbp - 0x10]
inc rdx
mov rax, rcx
cmp rdx, rbx
jb 0x18009ffcc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00f3
call fcn.1801249e4
mov qword [rbp], rsi
mov qword [rbp + 8], rdi
mov byte [rbp - 0x10], sil
mov rdi, qword [rsp + 0x58]
lea rcx, [rsp + 0x40]
mov rbx, qword [rsp + 0x40]
cmp rdi, 0x10
cmovae rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], sil
jne 0x18009fff8
cmp rdi, 0x10
lea r8, [rsp + 0x40]
cmovae r8, rbx
or edx, 0xffffffff
test eax, eax
je 0x1800a003a
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
lea rcx, [0x180084990]
xor edx, dword [rcx + rax*4]
sub r9, 1
jne 0x1800a0018
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.1800ec258
cmp rdi, 0x10
jb 0x1800a008a
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800a0082
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a00fa
mov rcx, rbx
call fcn.1801249e4
mov edi, dword [rbp + 0xe0]
mov rcx, r14
inc edi
mov dword [rbp + 0xe0], edi
movsxd rbx, edi
call fcn.18009cc98
cmp rbx, rax
jb 0x18009fabe
mov rcx, r15
inc r13d
add r12, 8
call fcn.18009cea0
movsxd rcx, r13d
cmp rcx, rax
jb 0x18009fa9d
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.180097a74
int3
call fcn.180097a74
int3