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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r13
push r14
sub rsp, 0x80
vmovaps xmmword [rax - 0x28], xmm6
movzx ebx, dl
mov r13, rcx
xor ebp, ebp
mov dword [rax + 0x10], ebp
movzx eax, byte [0x18023384a]
mov byte [0x180233849], al
movzx eax, byte [0x18023384b]
mov byte [0x18023384c], al
xor r8d, r8d
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.18012cb50
nop
test bl, bl
je 0x180128315
lea rsi, str.default
mov r14, qword [0x18022d2d0]
mov r8, rsi
cmp r14, 0xf
cmova r8, qword [str.default]
mov ebx, 0x811c9dc5
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1801280c0
xor edx, edx
test rcx, rcx
je 0x1801280f5
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1801280e0
mov rdi, qword [0x1801f6cf8]
test dil, dil
jne 0x180128108
mov eax, 0x811c9dc5
jmp 0x180128123
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x1801f6cf9]
call fcn.1800e1f90
cmp ebx, eax
jne 0x1801282c9
cmp byte [0x180238f51], 0
je 0x1801281a4
lea rcx, [r13 + 0x38]
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
vmovdqu xmm1, xmmword [0x18020a790]
vmovdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x30], edi
movzx eax, word [0x1801f6cfc]
mov word [rsp + 0x34], ax
movzx eax, byte [0x1801f6cfe]
mov byte [rsp + 0x36], al
mov byte [rsp + 0x37], 0
mov ebp, 1
mov dword [rsp + 0xa8], ebp
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
call fcn.1800aa950
mov rcx, qword [rax]
vmovss xmm0, dword [rcx + 0x30]
vucomiss xmm0, dword [r13 + 0x34]
jp 0x1801281e7
jne 0x1801281e7
mov rdi, qword [0x1801f6cf8]
xor bl, bl
test bpl, 1
je 0x180128200
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180128200
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801281f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1801281f4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
movzx ebx, bpl
mov rdi, qword [0x1801f6cf8]
jmp 0x1801281a6
call fcn.180184c4c
mov rdi, qword [0x1801f6cf8]
test bl, bl
je 0x180128315
mov r14, qword [r13 + 0x40]
mov rbx, qword [r14]
cmp rbx, r14
je 0x180128315
nop dword [rax + rax]
lea r8, [rbx + 0x10]
lea rbp, [r8 + 0x20]
cmp qword [r8 + 0x18], 0xf
jbe 0x180128232
mov r8, qword [r8]
mov esi, 0x811c9dc5
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180128240
xor edx, edx
test rcx, rcx
je 0x180128275
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180128260
test dil, dil
jne 0x180128281
mov eax, 0x811c9dc5
jmp 0x18012829c
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x1801f6cf9]
call fcn.1800e1f90
cmp esi, eax
je 0x1801282af
vmovss xmm6, dword [rbp]
vucomiss xmm6, dword [r13 + 0x34]
jp 0x1801282af
je 0x1801282c0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
jne 0x180128220
jmp 0x180128315
mov byte [0x18023384a], 1
jmp 0x180128330
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
cmp r14, 0xf
cmova rsi, qword [str.default]
mov r8, qword [0x18022d2c8]
cmp r8, qword [rsp + 0x60]
jne 0x180128300
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18012830e
test byte [r13 + 0x28], 6
mov byte [0x18023384b], 1
je 0x180128315
mov byte [0x18023384b], 0
lea rcx, [r13 + 0x38]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x20]
call fcn.1800e68a0
mov rcx, qword [rax]
vmovss xmm6, dword [rcx + 0x30]
lea rcx, [rsp + 0x50]
call fcn.180091b30
vmovaps xmm0, xmm6
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
vmovaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop r14
pop r13
pop rdi
ret