Function at 0x1800b4610
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1802e43c8]
xor rax, rsp
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x40], rcx
xor r14d, r14d
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r14
movups xmm1, xmmword [rcx]
nop dword [rax]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rdi, xmm0
cmp rdi, 1
jb 0x1800b48d0
mov r8, rdi
mov edx, 0x7e
movq r12, xmm1
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1800b48d0
sub rbx, r12
cmp rbx, 0xffffffffffffffff
je 0x1800b48d0
lea rax, [rbx + 1]
cmp rdi, rax
jb 0x1800b527b
mov r13, rdi
sub r13, rax
mov r8, 0xffffffffffffffff
cmp r13, r8
cmovb r8, r13
lea r14, [rax + r12]
test r8, r8
je 0x1800b46f7
mov edx, 0x7e
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1800b46f7
sub rax, r14
jmp 0x1800b46fe
mov rax, 0xffffffffffffffff
lea r15, [rax + 1]
add r15, rbx
cmp r15, 0xffffffffffffffff
je 0x1800b48d0
mov rsi, r15
sub rsi, rbx
dec rsi
lea rax, [rbx + 1]
cmp rdi, rax
jb 0x1800b5281
cmp r13, rsi
cmovb rsi, r13
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rsi
movabs rcx, 0xcbf29ce484222325
xor r8d, r8d
mov edx, r8d
test rsi, rsi
je 0x1800b476e
nop dword [rax + rax]
movzx eax, byte [rdx + r14]
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
inc rdx
cmp rdx, rsi
jb 0x1800b4750
and rcx, qword [0x1802e7800]
add rcx, rcx
mov r13, qword [0x1802e77e8]
mov rbx, qword [r13 + rcx*8 + 8]
cmp rbx, qword [0x1802e77d8]
je 0x1800b47b7
mov r13, qword [r13 + rcx*8]
cmp rsi, qword [rbx + 0x18]
jne 0x1800b47ae
mov r8, rsi
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800b47ba
xor r8d, r8d
cmp rbx, r13
jne 0x1800b48c7
mov rbx, r8
lea rsi, [r15 + 1]
test rbx, rbx
jne 0x1800b488c
cmp rdi, rsi
jb 0x1800b5286
mov rax, rdi
sub rax, rsi
mov rbx, 0xffffffffffffffff
cmp rax, rbx
cmovb rbx, rax
lea r15, [rsi + r12]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rbx
test rbx, rbx
je 0x1800b4853
mov r8, rbx
mov edx, 0x7e
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov r14, rax
test rax, rax
je 0x1800b4853
sub r14, r15
cmp r14, 0xffffffffffffffff
je 0x1800b4853
mov r8, rbx
mov edx, 0x7e
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rcx, 0xffffffffffffffff
test rax, rax
cmovne rcx, r14
cmp rbx, rcx
cmovb rcx, rbx
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rcx
movaps xmm0, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1800b4858
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xa0], xmm0
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xa0]
call fcn.1800b3fd0
cmp rdi, rsi
jb 0x1800b528b
sub rdi, rsi
lea rax, [rsi + r12]
mov qword [rsp + 0x80], rax
mov rax, 0xffffffffffffffff
cmp rdi, rax
cmovb rax, rdi
mov qword [rsp + 0x88], rax
movaps xmm1, xmmword [rsp + 0x80]
jmp 0x1800b4670
mov rbx, qword [rbx + 8]
jmp 0x1800b4792
mov qword [rsp + 0x30], 0
lea rdx, [rsp + 0x30]
mov ecx, 0xe
call fcn.180131720
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsi + 8]
mov rdi, qword [rsi]
test r8, r8
je 0x1800b4af7
mov edx, 0x7e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1800b4af7
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
je 0x1800b4af7
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x120], xmm1
mov r8, qword [rsi + 8]
mov rdx, rdi
lea rcx, [rsp + 0x110]
call fcn.18009e050
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
xor r14d, r14d
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
cmp qword [rsp + 0x120], rbx
cmovb rbx, qword [rsp + 0x120]
lea rdx, [rsp + 0x110]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x128]
cmp rsi, 0x10
cmovae rdx, rdi
cmp rbx, 0x10
jb 0x1800b4a0d
lea rax, [rsp + 0x110]
cmp rsi, 0x10
cmovae rax, rdi
mov qword [rsp + 0x120], rbx
mov byte [rax + rbx], r14b
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [rsp + 0x150], xmm0
movups xmm1, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x160], xmm1
movdqa xmm0, xmmword [0x180165840]
movdqu xmmword [rsp + 0x120], xmm0
mov byte [rsp + 0x110], r14b
psrldq xmm0, 8
movq rsi, xmm0
mov rdi, qword [rsp + 0x110]
jmp 0x1800b4a39
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x168], 0xf
mov r8, rbx
lea rcx, [rsp + 0x150]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x150], r14b
lea rcx, [rsp + 0x150]
cmp qword [rsp + 0x168], 0x10
cmovae rcx, qword [rsp + 0x150]
call fcn.180141410
nop
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x1800b4a9f
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b4a9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b4a9a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180159ffc
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], 0xf
mov byte [rsp + 0x150], 0
cmp rsi, 0x10
jb 0x1800b4b02
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800b4aed
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b4aed
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180159ffc
jmp 0x1800b4b02
mov rcx, rdi
call fcn.180141410
xor r14d, r14d
mov rax, qword [0x1802e77b0]
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0xf0], xmm0
call fcn.180129260
mov r12d, r14d
mov r13, qword [rsp + 0xc0]
mov r15, r13
movss xmm8, dword [0x180165830]
lea rsi, str.width
lea rdi, str.height
cmp r15, qword [rsp + 0xc8]
je 0x1800b51e0
mov rbx, qword [r15 + 8]
cmp rbx, 4
jb 0x1800b4c66
mov rsi, qword [r15]
lea rdi, [rbx + rsi]
lea r8, [rdi - 3]
sub r8, rsi
mov edx, 0x66
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
je 0x1800b4be0
nop
mov rdx, r14
lea rax, str.font
nop word [rax + rax]
movzx ecx, byte [r9 + rdx]
inc rdx
cmp cl, byte [rax + rdx - 1]
jne 0x1800b4ba9
cmp rdx, 4
jne 0x1800b4b90
mov eax, r14d
jmp 0x1800b4bae
sbb eax, eax
or eax, 1
test eax, eax
je 0x1800b4bd3
inc r9
lea r8, [rdi - 3]
sub r8, r9
mov edx, 0x66
mov rcx, r9
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
jne 0x1800b4b80
jmp 0x1800b4be0
sub r9, rsi
cmp r9, 0xffffffffffffffff
jne 0x1800b4ead
lea r8, [rsi - 3]
add r8, rbx
sub r8, rsi
mov edx, 0x46
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
je 0x1800b4c58
nop
mov rdx, r14
lea rax, str.FONT
nop word [rax + rax]
movzx ecx, byte [r9 + rdx]
inc rdx
cmp cl, byte [rax + rdx - 1]
jne 0x1800b4c29
cmp rdx, 4
jne 0x1800b4c10
mov eax, r14d
jmp 0x1800b4c2e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1800b4ea0
inc r9
lea r8, [rsi - 3]
add r8, rbx
sub r8, r9
mov edx, 0x46
mov rcx, r9
call sub.VCRUNTIME140.dll_memchr
mov r9, rax
test rax, rax
jne 0x1800b4c00
lea rdi, str.height
lea rsi, str.width
mov rcx, r15
call fcn.1800b3e70
test al, al
je 0x1800b50b0
mov rcx, r15
call fcn.1800b4230
mov rbx, rax
test rax, rax
je 0x1800b4dee
movaps xmm1, xmm8
xorps xmm0, xmm0
call fcn.1801347d0
call fcn.180124be0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x34], 0x40000000
lea rcx, [rsp + 0x30]
call fcn.18013c0c0
xorps xmm0, xmm0
movups xmmword [rsp + 0x100], xmm0
movaps xmm1, xmmword [0x180166470]
movups xmmword [rsp + 0x110], xmm1
mov dword [rsp + 0x70], 0x3f800000
mov dword [rsp + 0x74], 0x3f800000
mov qword [rsp + 0x60], 0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x60]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x58]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xa8], 7
movaps xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.1800b37b0
mov edi, eax
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], 6
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.1800b37b0
test edi, edi
je 0x1800b4d95
movd xmm7, edi
cvtdq2ps xmm7, xmm7
test eax, eax
je 0x1800b4da0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x44], xmm7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0xe0]
lea rcx, [rsp + 0x100]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.18013c150
call fcn.180127d70
movaps xmm1, xmm8
xorps xmm0, xmm0
call fcn.1801347d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], r14
mov qword [rsp + 0x128], r14
mov r8, qword [r15 + 0x18]
mov rdx, qword [r15 + 0x10]
lea rcx, [rsp + 0x110]
call fcn.18009e050
nop
lea rdx, [rsp + 0x110]
cmp qword [rsp + 0x128], 0x10
cmovae rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0xf0]
call fcn.180141480
nop
mov rdx, qword [rsp + 0x128]
cmp rdx, 0x10
jb 0x1800b51d7
inc rdx
mov rcx, qword [rsp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b51d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b51d2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub r9, rsi
cmp r9, 0xffffffffffffffff
je 0x1800b4c58
lea rax, str.face
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 5
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x90], xmm0
movups xmm1, xmmword [r15]
movaps xmmword [rsp + 0x50], xmm1
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x150]
call fcn.1800b3940
xorps xmm0, xmm0
movups xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], r14
mov qword [rsp + 0x148], r14
mov r8, qword [rax + 8]
mov rdx, qword [rax]
lea rcx, [rsp + 0x130]
call fcn.18009e050
nop
mov rdx, qword [rsp + 0x140]
test rdx, rdx
jne 0x1800b4fb0
call fcn.180129260
mov rbx, rax
mov rdx, qword [rsp + 0x148]
cmp rdx, 0x10
jb 0x1800b4f84
inc rdx
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b4f7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b50a9
call fcn.180159ffc
mov byte [rsp + 0x130], 0
mov qword [rsp + 0x148], 0xf
mov qword [rsp + 0x140], r14
mov rcx, rbx
call fcn.180131290
inc r12d
jmp 0x1800b4dee
lea rdi, [rsp + 0x130]
cmp qword [rsp + 0x148], 0x10
setae cl
mov rbx, qword [rsp + 0x130]
cmovae rdi, rbx
lea rax, [rsp + 0x130]
test cl, cl
je 0x1800b4fe2
lea rsi, [rbx + rdx]
jmp 0x1800b4fee
lea rsi, [rax + rdx]
lea rbx, [rsp + 0x130]
cmp rbx, rsi
je 0x1800b500a
sub rdi, rbx
movzx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx + rdi], al
inc rbx
cmp rbx, rsi
jne 0x1800b4ff6
call fcn.1800b3730
lea rcx, [rax + 0x1190]
lea rax, [rsp + 0x130]
cmp qword [rsp + 0x148], 0x10
cmovae rax, qword [rsp + 0x130]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0xe8], rax
movaps xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
call fcn.1800b7ee0
mov rbx, rax
mov rdx, qword [rsp + 0x148]
cmp rdx, 0x10
jb 0x1800b4f84
inc rdx
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b4f7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b4f7f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp qword [r15 + 8], 0
je 0x1800b4dee
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x110], xmm0
movabs rcx, 0xcbf29ce484222325
mov rdx, r14
mov r8, qword [r15 + 8]
test r8, r8
je 0x1800b5103
mov r9, qword [rsp + 0x110]
movzx eax, byte [rdx + r9]
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
inc rdx
cmp rdx, r8
jb 0x1800b50e5
and rcx, qword [0x1802e7840]
add rcx, rcx
mov rax, qword [0x1802e7828]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [0x1802e7818]
je 0x1800b5155
mov rdi, qword [rax + rcx*8]
nop word [rax + rax]
movups xmm1, xmmword [r15]
mov r8, qword [r15 + 8]
cmp r8, qword [rbx + 0x18]
jne 0x1800b5150
mov rdx, qword [rbx + 0x10]
movq rcx, xmm1
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800b5158
cmp rbx, rdi
jne 0x1800b51c9
mov rbx, r14
test rbx, rbx
jne 0x1800b51b1
mov ebx, 3
cmp qword [r15 + 8], rbx
cmovb rbx, qword [r15 + 8]
mov rdi, qword [r15]
cmp rbx, 3
jne 0x1800b4dee
mov r8, rbx
lea rdx, [0x180164bc8]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800b51b1
cmp rbx, rbx
jne 0x1800b4dee
mov r8, rbx
lea rdx, [0x180164bcc]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800b4dee
mov rcx, r15
call fcn.1800b3b50
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xf0], xmm0
jmp 0x1800b4dee
mov rbx, qword [rbx + 8]
jmp 0x1800b5130
call fcn.180159ffc
add r15, 0x20
jmp 0x1800b4b31
cmp r14d, r12d
jge 0x1800b51ef
call fcn.180130e60
inc r14d
jmp 0x1800b51e0
mov ecx, 1
call fcn.180130f90
nop
test r13, r13
je 0x1800b523f
mov rdx, qword [rsp + 0xd0]
sub rdx, r13
and rdx, 0xffffffffffffffe0
mov rax, r13
cmp rdx, 0x1000
jb 0x1800b5236
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b5236
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r13
call fcn.180159ffc
nop
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.180159fa0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.1800b6110
nop
call fcn.1800b6110
call fcn.1800b6110
call fcn.1800b6110
int3