Function at 0x1800b2b80
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 [0x1802e13c8]
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 0x1800b2e40
mov r8, rdi
mov edx, 0x7e
movq r12, xmm1
mov rcx, r12
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1800b2e40
sub rbx, r12
cmp rbx, 0xffffffffffffffff
je 0x1800b2e40
lea rax, [rbx + 1]
cmp rdi, rax
jb 0x1800b37eb
mov r13, rdi
sub r13, rax
mov r8, 0xffffffffffffffff
cmp r13, r8
cmovb r8, r13
lea r14, [rax + r12]
test r8, r8
je 0x1800b2c67
mov edx, 0x7e
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1800b2c67
sub rax, r14
jmp 0x1800b2c6e
mov rax, 0xffffffffffffffff
lea r15, [rax + 1]
add r15, rbx
cmp r15, 0xffffffffffffffff
je 0x1800b2e40
mov rsi, r15
sub rsi, rbx
dec rsi
lea rax, [rbx + 1]
cmp rdi, rax
jb 0x1800b37f1
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 0x1800b2cde
nop dword [rax + rax]
movzx eax, byte [rdx + r14]
xor rcx, rax
movabs rax, 0x100000001b3
imul rcx, rax
inc rdx
cmp rdx, rsi
jb 0x1800b2cc0
and rcx, qword [0x1802e4750]
add rcx, rcx
mov r13, qword [0x1802e4738]
mov rbx, qword [r13 + rcx*8 + 8]
cmp rbx, qword [0x1802e4728]
je 0x1800b2d27
mov r13, qword [r13 + rcx*8]
cmp rsi, qword [rbx + 0x18]
jne 0x1800b2d1e
mov r8, rsi
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800b2d2a
xor r8d, r8d
cmp rbx, r13
jne 0x1800b2e37
mov rbx, r8
lea rsi, [r15 + 1]
test rbx, rbx
jne 0x1800b2dfc
cmp rdi, rsi
jb 0x1800b37f6
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 0x1800b2dc3
mov r8, rbx
mov edx, 0x7e
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov r14, rax
test rax, rax
je 0x1800b2dc3
sub r14, r15
cmp r14, 0xffffffffffffffff
je 0x1800b2dc3
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 0x1800b2dc8
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.1800b2580
cmp rdi, rsi
jb 0x1800b37fb
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 0x1800b2be0
mov rbx, qword [rbx + 8]
jmp 0x1800b2d02
mov qword [rsp + 0x30], 0
lea rdx, [rsp + 0x30]
mov ecx, 0xe
call fcn.180130160
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsi + 8]
mov rdi, qword [rsi]
test r8, r8
je 0x1800b3067
mov edx, 0x7e
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1800b3067
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
je 0x1800b3067
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.18009dc80
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 0x1800b2f7d
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 [0x180163730]
movdqu xmmword [rsp + 0x120], xmm0
mov byte [rsp + 0x110], r14b
psrldq xmm0, 8
movq rsi, xmm0
mov rdi, qword [rsp + 0x110]
jmp 0x1800b2fa9
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.18013fe50
nop
mov rdx, qword [rsp + 0x168]
cmp rdx, 0x10
jb 0x1800b300f
inc rdx
mov rcx, qword [rsp + 0x150]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b300a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b300a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180158a3c
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], 0xf
mov byte [rsp + 0x150], 0
cmp rsi, 0x10
jb 0x1800b3072
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800b305d
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b305d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180158a3c
jmp 0x1800b3072
mov rcx, rdi
call fcn.18013fe50
xor r14d, r14d
mov rax, qword [0x1802e4700]
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rsp + 0xf0], xmm0
call fcn.180127ca0
mov r12d, r14d
mov r13, qword [rsp + 0xc0]
mov r15, r13
movss xmm8, dword [0x180163718]
lea rsi, str.width
lea rdi, str.height
cmp r15, qword [rsp + 0xc8]
je 0x1800b3750
mov rbx, qword [r15 + 8]
cmp rbx, 4
jb 0x1800b31d6
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 0x1800b3150
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 0x1800b3119
cmp rdx, 4
jne 0x1800b3100
mov eax, r14d
jmp 0x1800b311e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1800b3143
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 0x1800b30f0
jmp 0x1800b3150
sub r9, rsi
cmp r9, 0xffffffffffffffff
jne 0x1800b341d
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 0x1800b31c8
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 0x1800b3199
cmp rdx, 4
jne 0x1800b3180
mov eax, r14d
jmp 0x1800b319e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1800b3410
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 0x1800b3170
lea rdi, str.height
lea rsi, str.width
mov rcx, r15
call fcn.1800b2420
test al, al
je 0x1800b3620
mov rcx, r15
call fcn.1800b27e0
mov rbx, rax
test rax, rax
je 0x1800b335e
movaps xmm1, xmm8
xorps xmm0, xmm0
call fcn.180133210
call fcn.180123620
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x34], 0x40000000
lea rcx, [rsp + 0x30]
call fcn.18013ab00
xorps xmm0, xmm0
movups xmmword [rsp + 0x100], xmm0
movaps xmm1, xmmword [0x180164360]
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.1800b1d60
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.1800b1d60
test edi, edi
je 0x1800b3305
movd xmm7, edi
cvtdq2ps xmm7, xmm7
test eax, eax
je 0x1800b3310
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.18013ab90
call fcn.1801267b0
movaps xmm1, xmm8
xorps xmm0, xmm0
call fcn.180133210
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.18009dc80
nop
lea rdx, [rsp + 0x110]
cmp qword [rsp + 0x128], 0x10
cmovae rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0xf0]
call fcn.18013fec0
nop
mov rdx, qword [rsp + 0x128]
cmp rdx, 0x10
jb 0x1800b3747
inc rdx
mov rcx, qword [rsp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b3742
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b3742
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 0x1800b31c8
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.1800b1ef0
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.18009dc80
nop
mov rdx, qword [rsp + 0x140]
test rdx, rdx
jne 0x1800b3520
call fcn.180127ca0
mov rbx, rax
mov rdx, qword [rsp + 0x148]
cmp rdx, 0x10
jb 0x1800b34f4
inc rdx
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b34ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b3619
call fcn.180158a3c
mov byte [rsp + 0x130], 0
mov qword [rsp + 0x148], 0xf
mov qword [rsp + 0x140], r14
mov rcx, rbx
call fcn.18012fcd0
inc r12d
jmp 0x1800b335e
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 0x1800b3552
lea rsi, [rbx + rdx]
jmp 0x1800b355e
lea rsi, [rax + rdx]
lea rbx, [rsp + 0x130]
cmp rbx, rsi
je 0x1800b357a
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 0x1800b3566
call fcn.1800b1ce0
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.1800b63f0
mov rbx, rax
mov rdx, qword [rsp + 0x148]
cmp rdx, 0x10
jb 0x1800b34f4
inc rdx
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b34ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b34ef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp qword [r15 + 8], 0
je 0x1800b335e
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x110], xmm0
movabs rcx, 0xcbf29ce484222325
mov rdx, r14
mov r8, qword [r15 + 8]
test r8, r8
je 0x1800b3673
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 0x1800b3655
and rcx, qword [0x1802e4790]
add rcx, rcx
mov rax, qword [0x1802e4778]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [0x1802e4768]
je 0x1800b36c5
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 0x1800b36c0
mov rdx, qword [rbx + 0x10]
movq rcx, xmm1
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800b36c8
cmp rbx, rdi
jne 0x1800b3739
mov rbx, r14
test rbx, rbx
jne 0x1800b3721
mov ebx, 3
cmp qword [r15 + 8], rbx
cmovb rbx, qword [r15 + 8]
mov rdi, qword [r15]
cmp rbx, 3
jne 0x1800b335e
mov r8, rbx
lea rdx, [0x180162bc8]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800b3721
cmp rbx, rbx
jne 0x1800b335e
mov r8, rbx
lea rdx, [0x180162bcc]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800b335e
mov rcx, r15
call fcn.1800b2100
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xf0], xmm0
jmp 0x1800b335e
mov rbx, qword [rbx + 8]
jmp 0x1800b36a0
call fcn.180158a3c
add r15, 0x20
jmp 0x1800b30a1
cmp r14d, r12d
jge 0x1800b375f
call fcn.18012f8a0
inc r14d
jmp 0x1800b3750
mov ecx, 1
call fcn.18012f9d0
nop
test r13, r13
je 0x1800b37af
mov rdx, qword [rsp + 0xd0]
sub rdx, r13
and rdx, 0xffffffffffffffe0
mov rax, r13
cmp rdx, 0x1000
jb 0x1800b37a6
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b37a6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r13
call fcn.180158a3c
nop
mov rcx, qword [rsp + 0x178]
xor rcx, rsp
call fcn.1801589e0
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.1800b4650
nop
call fcn.1800b4650
call fcn.1800b4650
call fcn.1800b4650
int3