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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x180166040]
xor rax, rsp
mov qword [rsp + 0x60], rax
movaps xmm6, xmm3
mov rsi, r8
mov r12, rdx
lea rdi, [rcx + 0x30]
mov ecx, 0x30
call fcn.1800b63f4
mov r15, rax
mov qword [rsp + 0x38], rax
xor r14d, r14d
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov dword [rax + 0x18], 0x80
mov qword [rax + 0x28], r14
mov ebp, dword [rdi + 0xc]
shr ebp, 3
lea ebx, [rbp*8 + 8]
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.1800126d0
mov ecx, r14d
cmp dword [rdi + 0xc], ebx
cmove rcx, rax
test rcx, rcx
je 0x18005bdef
mov qword [rcx + rbp*8], r15
jmp 0x18005bdf2
mov r15, r14
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x30], 0x80
test rsi, rsi
je 0x18005be1a
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x20]
call fcn.180012880
nop
mov rbx, 0xffffffffffffffff
mov rdx, rbx
inc rdx
cmp byte [rsi + rdx], 0
jne 0x18005be24
add edx, 6
movaps xmm3, xmm6
movq r9, xmm6
lea r8, str.__.1fx
lea rcx, [rsp + 0x20]
call fcn.18001f090
cmp dword [rsp + 0x2c], 0
je 0x18005be57
mov rdx, qword [rsp + 0x20]
jmp 0x18005be65
mov byte [0x180186048], 0
lea rdx, [0x180186048]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18005be80
lea rcx, [rsp + 0x40]
call fcn.180011de0
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
cmp r10, 0xf
cmova rdx, r8
movabs rdi, 0xcbf29ce484222325
mov rcx, r14
mov r9, qword [rsp + 0x50]
test r9, r9
je 0x18005bee3
movabs r11, 0x100000001b3
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor rdi, rax
imul rdi, r11
inc rcx
cmp rcx, r9
jb 0x18005bed0
cmp r10, 0xf
jbe 0x18005bf1a
lea rdx, [r10 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x18005bf12
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005c068
mov rcx, r8
call fcn.1800b63c0
mov qword [r15], rdi
mov rdi, qword [r15 + 0x28]
mov qword [r15 + 0x28], r12
test rdi, rdi
je 0x18005bf45
mov rcx, qword [rdi]
test rcx, rcx
je 0x18005bf38
call qword [sym.imp.GDI32.dll_RemoveFontMemResourceEx]
mov edx, 8
mov rcx, rdi
call fcn.1800b63c0
movsd qword [r15 + 0x20], xmm6
lea rdi, [r15 + 8]
mov ebp, r14d
test rsi, rsi
je 0x18005bf63
inc rbx
cmp byte [rsi + rbx], bpl
jne 0x18005bf57
mov rbp, rbx
test ebp, ebp
jne 0x18005bf90
xor r8d, r8d
mov edx, 1
mov rcx, rdi
call fcn.1800126d0
cmp dword [rdi + 0xc], 1
cmove r14, rax
test r14, r14
je 0x18005c031
mov byte [r14], bpl
jmp 0x18005c031
jle 0x18005c031
movsxd r12, dword [rdi + 0xc]
lea r15d, [rbp + 1]
mov r13d, r15d
sub r13d, r12d
mov ecx, r12d
test r13d, r13d
jle 0x18005bff6
test r12d, r12d
je 0x18005bfb6
mov rbx, qword [rdi]
jmp 0x18005bfb9
mov rbx, r14
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
call fcn.1800126d0
mov r8d, dword [rdi + 0xc]
mov rdx, r14
cmp r8d, r15d
cmove rdx, rax
mov ecx, r8d
test rsi, rsi
je 0x18005bff6
cmp rdx, rbx
je 0x18005bff6
cmp rsi, rbx
jb 0x18005bff6
lea rax, [rbx + r12]
cmp rsi, rax
jae 0x18005bff6
sub rdx, rbx
add rsi, rdx
cmp ecx, r15d
jl 0x18005c031
test ecx, ecx
je 0x18005c002
mov r14, qword [rdi]
test rsi, rsi
je 0x18005c015
movsxd r8, ebp
mov rdx, rsi
mov rcx, r14
call fcn.1801188c0
movsxd rax, ebp
mov byte [rax + r14], 0
test r13d, r13d
jns 0x18005c031
xor r8d, r8d
mov edx, r15d
mov rcx, rdi
call fcn.1800126d0
nop
mov rcx, qword [rsp + 0x20]
call fcn.1800e1170
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1800b6030
mov rbx, qword [rsp + 0xc8]
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800e1598
nop
int3