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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x140]
sub rsp, 0x240
mov rax, qword [0x18018a040]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r10d, r8d
movsxd r11, edx
mov rcx, qword [0x18018be70]
mov rax, qword [0x18018be68]
cmp rax, rcx
je 0x1800600f2
cmp r11d, r8d
jge 0x1800600f2
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xor r8d, r8d
mov qword [rbp - 0x20], r8
mov r9d, 0xf
mov qword [rbp - 0x18], r9
mov byte [rbp - 0x30], r8b
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp], xmm1
movdqa xmmword [rbp + 0x10], xmm0
mov byte [rbp + 0x20], r8b
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x30], r8
mov dword [rbp + 0x38], r8d
mov byte [rbp + 0x3c], 1
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x38], r9
mov byte [rbp - 0x50], r8b
sub rcx, rax
movabs r14, 0x2aaaaaaaaaaaaaab
mov rax, r14
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r10d, edx
cmovl edx, r10d
xor eax, eax
test edx, edx
cmovg eax, edx
mov rcx, r11
mov qword [rsp + 0x48], rcx
cdqe
mov qword [rsp + 0x50], rax
lea r13d, [r8 - 1]
cmp r11, rax
jge 0x1800600a2
mov r10, qword [rbp - 0x30]
nop word [rax + rax]
lea rcx, [rcx + rcx*2]
mov rax, qword [0x18018be68]
lea rsi, [rax + rcx*8]
mov qword [rsp + 0x38], rsi
mov rcx, qword [rsi + 8]
mov rax, qword [rsi]
cmp rax, rcx
je 0x18006008a
sub rcx, rax
mov rax, r14
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r8
ja 0x18005fde5
mov qword [rbp - 0x20], rdx
lea rax, [rbp - 0x30]
cmp r9, 0xf
cmova rax, r10
mov byte [rax + rdx], 0
jmp 0x18005fe30
mov rdi, rdx
sub rdi, r8
mov rax, r9
sub rax, r8
cmp rdi, rax
ja 0x18005fe1c
mov qword [rbp - 0x20], rdx
lea rbx, [rbp - 0x30]
cmp r9, 0xf
cmova rbx, r10
add rbx, r8
mov r8, rdi
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov byte [rdi + rbx], 0
jmp 0x18005fe30
mov byte [rsp + 0x20], 0
mov r9, rdi
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.180064620
xor r8d, r8d
mov r10, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, r10
mov rax, r14
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18005fea9
xor r9d, r9d
nop word [rax + rax]
movzx ecx, byte [r10 + r9]
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rax, qword [rbp - 0x30]
mov byte [rax + r8], cl
mov dword [r10 + r9 + 4], 0
inc r8
lea r9, [r9 + 0xc]
mov r10, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, r10
mov rax, r14
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jb 0x18005fe60
lea r14, [rbp - 0x30]
mov r10, qword [rbp - 0x30]
mov r9, qword [rbp - 0x18]
cmp r9, 0xf
cmova r14, r10
mov qword [rsp + 0x40], r14
mov r8, qword [rbp - 0x20]
lea r15, [r8 + r14]
mov qword [rsp + 0x30], r15
mov r12, r14
cmp r14, r15
je 0x180060080
nop dword [rax + rax]
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x58], 0
mov rax, qword [0x18018c0d0]
test rax, rax
je 0x18005ff24
lea rcx, [rbp - 0x58]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x60]
lea r8, [rbp - 0x68]
mov rdx, r15
mov rcx, r12
call rax
test al, al
jne 0x180060174
mov rbx, qword [0x18018c0f8]
mov r14, qword [0x18018c100]
cmp rbx, r14
je 0x180060063
nop dword [rax + rax]
mov rdi, qword [rbx]
test rdi, rdi
je 0x18005ff55
test dword [rdi + 0x28], 0x80000
jne 0x180060051
xor edx, edx
mov r8d, 0xf0
lea rcx, [rbp + 0x40]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp - 0x10]
mov qword [rbp + 0x40], rax
xor ecx, ecx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x88], rbx
mov rax, qword [rdi + 0x18]
mov qword [rbp + 0x90], rax
mov byte [rbp + 0xbb], cl
lea rax, [rbp + 0xc8]
mov qword [rbp + 0xc0], rax
lea rax, [rbp + 0xc0]
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], rcx
mov dword [rbp + 0xd8], r13d
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0xf8], rcx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x100], xmm0
mov dword [rbp + 0x128], ecx
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.180067a60
nop
lea rcx, [rbp + 0x40]
call fcn.1800683b0
movzx esi, al
lea rcx, [rbp + 0xf8]
call fcn.180067210
mov rdx, qword [rbp + 0xd0]
test rdx, rdx
je 0x18006002a
mov rcx, qword [rbp + 0xc8]
mov qword [rcx], rdx
mov rdi, qword [rbp + 0x48]
test rdi, rdi
je 0x180060048
mov rcx, rdi
call fcn.180062000
mov edx, 0x50
mov rcx, rdi
call fcn.1800da3c0
test sil, sil
jne 0x180060122
add rbx, 0x18
cmp rbx, r14
jne 0x18005ff40
mov rsi, qword [rsp + 0x38]
inc r12
mov r14, qword [rsp + 0x40]
cmp r12, r15
jne 0x18005fee0
mov r9, qword [rbp - 0x18]
mov r8, qword [rbp - 0x20]
mov r10, qword [rbp - 0x30]
movabs r14, 0x2aaaaaaaaaaaaaab
mov rcx, qword [rsp + 0x48]
inc rcx
mov qword [rsp + 0x48], rcx
cmp rcx, qword [rsp + 0x50]
jl 0x18005fd90
lea rcx, [rbp - 0x50]
call fcn.180009390
nop
mov rbx, qword [rbp + 0x30]
test rbx, rbx
je 0x1800600df
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1800600df
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r13d
cmp r13d, 1
jne 0x1800600df
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
lea rcx, [rbp - 0x10]
call fcn.180062c00
nop
lea rcx, [rbp - 0x30]
call fcn.180009390
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.1800da3a0
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov r8, qword [rbp - 8]
mov rcx, r8
mov r9, qword [rbp - 0x10]
sub rcx, r9
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 2
jbe 0x180060155
lea r8, [r9 + 0x30]
mov rax, qword [r8]
mov qword [rbp - 0x68], rax
mov rax, qword [r8 + 8]
mov qword [rbp - 0x60], rax
mov eax, dword [rbx + 0x10]
mov dword [rbp - 0x58], eax
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov r13, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
sub r13, rdx
cmp dword [rbp - 0x58], 7
jne 0x1800602bc
mov rax, qword [rbp - 0x38]
cmp r13, rax
ja 0x1800601b5
lea rbx, [rbp - 0x50]
cmp rax, 0xf
cmova rbx, qword [rbp - 0x50]
mov qword [rbp - 0x40], r13
mov r8, r13
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r13], 0
jmp 0x1800601c5
mov r9, qword [rbp - 0x68]
mov rdx, r13
lea rcx, [rbp - 0x50]
call fcn.180009a10
mov rdx, qword [rbp - 0x38]
mov r15, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x40]
cmp byte [0x18018c0f0], 0
jne 0x18006023a
lea rsi, [rbp - 0x50]
cmp rdx, 0xf
seta al
cmova rsi, r15
lea rcx, [rbp - 0x50]
test al, al
je 0x1800601fa
mov rbx, r15
lea r14, [rdi + r15]
jmp 0x180060202
lea r14, [rdi + rcx]
lea rbx, [rbp - 0x50]
cmp rbx, r14
je 0x180060230
sub rsi, rbx
nop word [rax + rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [rsi + rbx], al
inc rbx
cmp rbx, r14
jne 0x180060210
mov rdx, qword [rbp - 0x38]
mov rdi, qword [rbp - 0x40]
mov r15, qword [rbp - 0x50]
mov r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
sub r12, r14
lea rcx, [r12 + r12*2]
mov rax, qword [rsi]
lea r8, [rbp - 0x50]
movabs r9, 0xcbf29ce484222325
test byte [rax + rcx*4 + 8], 4
jne 0x1800603bf
cmp rdx, 0xf
seta bl
cmova r8, r15
xor ecx, ecx
movabs r12, 0x100000001b3
test rdi, rdi
je 0x180060294
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, rdi
jb 0x180060280
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x58]
lea rcx, [0x18018bfa8]
call fcn.1800662d0
cmp qword [rax + 8], 0
je 0x180060302
mov dword [rbp - 0x58], 1
mov r15, qword [rsp + 0x30]
xor r8d, r8d
test r13, r13
je 0x1800602f3
nop dword [rax]
nop dword [rax + rax]
mov rax, r8
sub rax, r14
add rax, qword [rbp - 0x68]
lea rcx, [rax + rax*2]
mov rax, qword [rsi]
lea rdx, [rax + rcx*4]
mov eax, dword [rbp - 0x58]
mov dword [rdx + 4], eax
inc r8
cmp r8, r13
jb 0x1800602d0
mov r12, qword [rbp - 0x60]
mov r13d, 0xffffffff
jmp 0x18006006b
lea rdx, [rbp - 0x50]
test bl, bl
cmovne rdx, r15
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test rdi, rdi
je 0x180060333
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, rdi
jb 0x180060320
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x68]
lea rcx, [0x18018bfe8]
call fcn.1800662d0
cmp qword [rax + 8], 0
je 0x18006035b
mov dword [rbp - 0x58], 8
jmp 0x1800602b7
lea rdx, [rbp - 0x50]
test bl, bl
cmovne rdx, r15
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test rdi, rdi
je 0x180060393
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, rdi
jb 0x180060380
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x78]
lea rcx, [0x18018c028]
call fcn.1800662d0
cmp qword [rax + 8], 0
je 0x1800602b7
mov dword [rbp - 0x58], 9
jmp 0x1800602b7
cmp rdx, 0xf
cmova r8, r15
xor ecx, ecx
test rdi, rdi
je 0x1800603f9
movabs rsi, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor r9, rax
imul r9, rsi
inc rcx
cmp rcx, rdi
jb 0x1800603e0
mov rsi, qword [rsp + 0x38]
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x78]
lea rcx, [0x18018c028]
call fcn.1800662d0
mov r15, qword [rsp + 0x30]
cmp qword [rax + 8], 0
je 0x1800602bc
mov dword [rbp - 0x58], 9
jmp 0x1800602bc