Function at 0x180138880
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
movaps xmmword [rax - 0x28], xmm6
movzx ebx, dl
mov r13, rcx
xor ebp, ebp
mov dword [rax + 0x10], ebp
movzx eax, byte [0x180295dab]
mov byte [0x180295dac], al
movzx eax, byte [0x180295daa]
mov byte [0x180295da9], al
xor r8d, r8d
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.18013d550
nop
test bl, bl
je 0x180138b51
lea rsi, str.default
mov r8, rsi
mov r14, qword [str.default]
cmp qword [0x18028df50], 0xf
cmova r8, r14
mov ebx, 0x811c9dc5
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180138906
xor edx, edx
test rcx, rcx
je 0x180138935
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180138920
mov rdi, qword [0x18024d2e0]
test dil, dil
jne 0x180138948
mov eax, 0x811c9dc5
jmp 0x180138963
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x18024d2e1]
call fcn.1800ea660
cmp ebx, eax
jne 0x180138b05
cmp byte [0x18029b6c1], 0
je 0x1801389e9
lea rcx, [r13 + 0x38]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x180263630]
movdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x30], edi
movzx eax, word [0x18024d2e4]
mov word [rsp + 0x34], ax
movzx eax, byte [0x18024d2e6]
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.1800b3880
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x30]
ucomiss xmm0, dword [r13 + 0x34]
jp 0x180138ab1
jne 0x180138ab1
mov rdi, qword [0x18024d2e0]
xor bl, bl
test bpl, 1
je 0x180138a35
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180138a35
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180138a29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180138b9b
call fcn.180199c38
mov rdi, qword [0x18024d2e0]
test bl, bl
je 0x180138b51
mov rsi, qword [r13 + 0x40]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x180138b51
nop dword [rax]
lea r8, [rbx + 0x10]
lea r14, [r8 + 0x20]
cmp qword [r8 + 0x18], 0xf
jbe 0x180138a62
mov r8, qword [r8]
mov ebp, 0x811c9dc5
mov rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180138a70
xor edx, edx
test rcx, rcx
je 0x180138aa5
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, ebp
imul ebp, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180138a90
test dil, dil
jne 0x180138ac1
mov eax, 0x811c9dc5
jmp 0x180138adc
movzx ebx, bpl
mov rdi, qword [0x18024d2e0]
jmp 0x1801389eb
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x18024d2e1]
call fcn.1800ea660
cmp ebp, eax
je 0x180138aee
movss xmm6, dword [r14]
ucomiss xmm6, dword [r13 + 0x34]
jp 0x180138aee
je 0x180138afc
mov rbx, qword [rbx]
cmp rbx, rsi
jne 0x180138a50
jmp 0x180138b51
mov byte [0x180295dab], 1
jmp 0x180138b6c
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
cmp qword [0x18028df50], 0xf
cmova rsi, r14
mov r8, qword [0x18028df48]
cmp r8, qword [rsp + 0x60]
jne 0x180138b3c
mov rcx, rsi
call fcn.1801cff60
test eax, eax
je 0x180138b4a
test byte [r13 + 0x28], 6
mov byte [0x180295daa], 1
je 0x180138b51
mov byte [0x180295daa], 0
lea rcx, [r13 + 0x38]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x20]
call fcn.1800eee60
mov rcx, qword [rax]
movss xmm6, dword [rcx + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18009a190
movaps xmm0, xmm6
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop r14
pop r13
pop rdi
ret
call fcn.1801afdbc
nop
int3