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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r14d, ecx
xor r15b, r15b
xor r13d, r13d
mov esi, r13d
mov rdx, qword [0x1408d39a8]
mov rax, rdx
mov r8, qword [0x1408d39a0]
sub rax, r8
sar rax, 6
test rax, rax
je 0x14004ae56
mov ebx, r13d
movabs r12, 0x100000001b3
nop dword [rax]
sub rdx, r8
sar rdx, 6
cmp rdx, rbx
jbe 0x14004af08
shl rbx, 6
add rbx, r8
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.14004f500
nop
lea rdx, [rbx + 0x20]
lea rcx, [rbp - 0x20]
call fcn.14004f500
nop
movsd xmm0, qword [0x1400d7c88]
movsd qword [rbp - 0x60], xmm0
movzx eax, byte [0x1400d7c90]
mov byte [rbp - 0x60], 0xa
xor byte [rbp - 0x5f], 0x37
xor byte [rbp - 0x5e], 0x38
xor byte [rbp - 0x5d], 0x39
xor byte [rbp - 0x5c], 0x3a
xor byte [rbp - 0x5b], 0x3b
xor byte [rbp - 0x5a], 0x3c
xor byte [rbp - 0x59], 0x3d
xor al, 0x3e
mov byte [rbp - 0x58], al
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14004ffa0
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
mov rcx, rax
call fcn.140050770
lea rdx, [rbp - 0x40]
mov rdi, qword [rbp - 0x28]
cmp rdi, 0xf
cmova rdx, qword [rbp - 0x40]
movabs r9, 0xcbf29ce484222325
mov rcx, r13
mov r8, qword [rbp - 0x30]
test r8, r8
je 0x14004ad63
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, r8
jb 0x14004ad50
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x50]
call fcn.140051080
mov rcx, qword [rax + 8]
mov rbx, qword [0x1408d3788]
test rcx, rcx
cmovne rbx, rcx
cmp rbx, qword [0x1408d3788]
je 0x14004ada9
mov r8d, r14d
mov rdx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x30]
call fcn.1400b7dd0
cmp rax, qword [rbx + 0x38]
jne 0x14004ae7b
mov rdi, qword [rbp - 0x28]
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x14004ade8
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004addf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004af01
call fcn.1400b6c3c
mov rdi, qword [rbp - 0x28]
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x20], 0
cmp rdi, 0xf
jbe 0x14004ae30
lea rdx, [rdi + 1]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ae2b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004af01
call fcn.1400b6c3c
inc esi
movsxd rbx, esi
mov rdx, qword [0x1408d39a8]
mov rax, rdx
mov r8, qword [0x1408d39a0]
sub rax, r8
sar rax, 6
cmp rbx, rax
jb 0x14004ac90
movzx eax, r15b
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov r15b, 1
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x14004aeb5
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004aeb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004af01
call fcn.1400b6c3c
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x14004ae56
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004aef7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004af01
call fcn.1400b6c3c
jmp 0x14004ae56
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004fb50
int3