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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov ecx, dword [0x1801ebe88]
mov rax, qword gs:[0x58]
mov edx, 4
mov r15, qword [rax + rcx*8]
add r15, rdx
mov eax, dword [r15]
cmp dword [0x1801ec510], eax
jle 0x18002b959
lea rcx, [0x1801ec510]
call fcn.18008da6c
cmp dword [0x1801ec510], 0xffffffff
jne 0x18002b959
mov rax, qword [0x1801ec318]
mov rdx, qword [rax + 0x10]
mov rax, qword [rdx]
mov rdx, qword [rax + 0x28]
mov qword [0x1801ec520], rdx
lea rcx, [0x1801ec510]
call fcn.18008da00
mov r14, qword [0x1801ec330]
movabs rax, 0xb35c2ad89c0f2d2d
mov qword [rsp + 0x30], rax
movabs rax, 0xf3469354113030bf
mov qword [rsp + 0x38], rax
movabs rax, 0xd6284bbdee4c4645
mov qword [rsp + 0x20], rax
movabs rax, 0xf346935474465ff2
mov qword [rsp + 0x28], rax
movdqa xmm0, xmmword [rsp + 0x30]
xorps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
lea r13, [rsp + 0x30]
mov esi, 0x811c9dc5
mov rdi, 0xffffffffffffffff
xor r12d, r12d
mov rbx, qword [0x1801ec520]
test rbx, rbx
jne 0x18002ba3e
lea rcx, [r14 + 0x70]
mov r9d, esi
lea rax, [rsp + 0x30]
mov rdx, rdi
nop dword [rax]
inc rdx
cmp byte [rax + rdx], r12b
jne 0x18002b9e0
mov r8d, r12d
test rdx, rdx
je 0x18002ba1a
mov rax, r12
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x30]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x18002ba00
mov eax, r9d
mov qword [rbp + 0x70], rax
lea r8, [rbp + 0x70]
lea rdx, [rbp - 0x30]
call fcn.180025f60
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x18]
test rbx, rbx
je 0x18002bb83
lea rcx, [r14 + 0x30]
mov r9d, esi
mov rdx, rdi
nop dword [rax + rax]
inc rdx
cmp byte [rdx + r13], r12b
jne 0x18002ba50
mov r8d, r12d
test rdx, rdx
je 0x18002ba8a
mov rax, r12
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x30]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x18002ba70
mov eax, r9d
mov qword [rbp + 0x78], rax
lea r8, [rbp + 0x78]
lea rdx, [rsp + 0x40]
call fcn.180028370
mov r8, qword [rax]
add r8, 0x18
lea rdx, [0x18002c0f0]
mov rcx, rbx
call fcn.180084e50
test eax, eax
jne 0x18002bb83
mov rcx, rbx
call fcn.1800850e0
test eax, eax
jne 0x18002bb83
lea rax, str.hooked_____
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0xf
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
movabs rax, 0xb000000000000000
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rbx
movabs rax, 0xa000000000000008
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x20], 2
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm1
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18002bb5a
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x60]
call fcn.18000a7b0
mov eax, dword [r15]
cmp dword [0x1801ec530], eax
jle 0x18002bbc8
lea rcx, [0x1801ec530]
call fcn.18008da6c
cmp dword [0x1801ec530], 0xffffffff
jne 0x18002bbc8
mov rax, qword [0x1801ec318]
mov rdx, qword [rax + 0x10]
mov rax, qword [rdx]
mov rdx, qword [rax + 0x38]
mov qword [0x1801ec518], rdx
lea rcx, [0x1801ec530]
call fcn.18008da00
mov r14, qword [0x1801ec330]
movabs rax, 0xb74c22d18f1a2d2d
mov qword [rsp + 0x20], rax
movabs rax, 0xf332e6241a0f3a86
mov qword [rsp + 0x28], rax
movabs r13, 0xd6284bbdee4c4645
mov qword [rsp + 0x40], r13
movabs rax, 0xf346935474465ff2
mov qword [rsp + 0x48], rax
movdqa xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x20], xmm0
lea r15, [rsp + 0x20]
mov rbx, qword [0x1801ec518]
test rbx, rbx
jne 0x18002bca5
lea rcx, [r14 + 0x70]
mov r9d, esi
lea rax, [rsp + 0x20]
mov rdx, rdi
nop dword [rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x18002bc40
mov r8d, r12d
test rdx, rdx
je 0x18002bc7a
mov rax, r12
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rsp + rax + 0x20]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x18002bc60
mov eax, r9d
mov qword [rbp + 0x80], rax
lea r8, [rbp + 0x80]
lea rdx, [rsp + 0x40]
call fcn.180025f60
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x18]
test rbx, rbx
je 0x18002bde5
lea rcx, [r14 + 0x30]
mov rdx, rdi
nop dword [rax]
inc rdx
cmp byte [r15 + rdx], 0
jne 0x18002bcb0
mov r8d, r12d
test rdx, rdx
je 0x18002bce8
mov rax, r12
nop word [rax + rax]
movsx eax, byte [rsp + rax + 0x20]
xor eax, esi
imul esi, eax, 0x1000193
inc r8d
mov eax, r8d
cmp rax, rdx
jb 0x18002bcd0
mov eax, esi
mov qword [rbp + 0x88], rax
lea r8, [rbp + 0x88]
lea rdx, [rbp - 0x80]
call fcn.180028370
mov r8, qword [rax]
add r8, 0x18
lea rdx, [0x18002c530]
mov rcx, rbx
call fcn.180084e50
test eax, eax
jne 0x18002bde5
mov rcx, rbx
call fcn.1800850e0
test eax, eax
jne 0x18002bde5
lea rax, str.hooked_____
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xf
lea rax, [rsp + 0x20]
mov qword [rsp + 0x70], rax
movabs rax, 0xb000000000000000
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rbx
movabs rax, 0xa000000000000008
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x40], 2
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.18001cae0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18002bdbc
mov rax, qword [rax]
mov rdx, rax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.18001d410
lea rdx, [0x18000e150]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
lea rcx, [rbp - 0x60]
call fcn.18000a7b0
mov dword [rbp + 0x70], 0xfae9
mov word [rbp + 0x74], 0x9000
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov edx, 6
lea rcx, [rbp - 0x80]
call fcn.180012990
mov rbx, qword [rbp - 0x80]
mov r8d, 6
lea rdx, [rbp + 0x70]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + 6]
mov qword [rbp - 0x78], rax
movabs rax, 0xb75814ce8b383f27
mov qword [rbp - 0x30], rax
movabs rax, 0x8635cc30112e3c86
mov qword [rbp - 0x28], rax
movabs rax, 0xa847802cb8663ba5
mov qword [rbp - 0x20], rax
movabs rdx, 0x5a643a264bf04ef4
mov qword [rbp - 0x18], rdx
mov qword [rsp + 0x40], r13
movabs r9, 0xf346935474465ff2
mov qword [rsp + 0x48], r9
movabs r8, 0xa847f347db0f4fc7
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], rdx
movdqa xmm0, xmmword [rbp - 0x30]
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [rbp - 0x20]
xorps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rbp - 0x20], xmm1
lea rax, [rbp - 0x30]
mov qword [rsp + 0x40], rax
lea rcx, [rbp - 0x30]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18002bec0
mov qword [rsp + 0x48], rax
movabs rax, 0xf6176bf8d66c0075
mov qword [rbp - 0x60], rax
movabs rax, 0xb576b36b54797fcd
mov qword [rbp - 0x58], rax
movabs rax, 0x9a67c705fb367de7
mov qword [rbp - 0x50], rax
movabs rax, 0x7a5b1a196bcf6ec0
mov qword [rbp - 0x48], rax
movabs rax, 0x2fdc73017d023f56
mov qword [rbp - 0x40], rax
movabs rax, 0x389ac3088d543fa4
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], r9
mov qword [rbp], r8
mov qword [rbp + 8], rdx
movabs rax, 0xf984b2139361f69
mov qword [rbp + 0x10], rax
movabs rax, 0x389ac3088d547be6
mov qword [rbp + 0x18], rax
movdqa xmm0, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmm1, xmmword [rbp - 0x50]
xorps xmm1, xmmword [rbp]
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp - 0x40], xmm0
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x60]
inc rdi
cmp byte [rax + rdi], 0
jne 0x18002bf85
mov qword [rsp + 0x28], rdi
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x78]
mov rcx, qword [0x1801ec330]
call fcn.180041030
lea r9, [rbp - 0x80]
mov r8, qword [rax]
lea rdx, [rsp + 0x60]
call fcn.18002b760
mov rcx, qword [rax]
mov qword [0x1801ec010], rcx
lea rbx, [rax + 8]
lea rax, [0x1801ec018]
cmp rax, rbx
je 0x18002c051
mov rcx, qword [0x1801ec018]
test rcx, rcx
je 0x18002c026
mov rdx, qword [0x1801ec028]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002c00f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002c084
call fcn.18008d7e4
mov qword [0x1801ec018], r12
xorps xmm0, xmm0
movdqu xmmword [0x1801ec020], xmm0
mov rax, qword [rbx]
mov qword [0x1801ec018], rax
mov rax, qword [rbx + 8]
mov qword [0x1801ec020], rax
mov rax, qword [rbx + 0x10]
mov qword [0x1801ec028], rax
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x18002c09e
mov rdx, qword [rsp + 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002c08b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002c08b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008d7e4
mov qword [rsp + 0x68], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x18002c0db
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002c0d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18002c0d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18008d7e4
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret