Function at 0x180138340
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
mov byte [rax + 0x10], dl
push rdi
push r14
push r15
sub rsp, 0x70
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
lea rcx, [rsp + 0x50]
call fcn.18013d9b0
nop
lea rsi, str.default
mov r8, rsi
mov r14, qword [str.default]
mov r15, qword [0x18028df50]
cmp r15, 0xf
cmova r8, r14
mov ebx, 0x811c9dc5
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x1801383b4
xor edx, edx
test rcx, rcx
je 0x1801383e5
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1801383d0
mov rdi, qword [0x18024d2e0]
test dil, dil
jne 0x1801383f8
mov eax, 0x811c9dc5
jmp 0x180138413
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x18024d2e1]
call fcn.1800ea660
cmp ebx, eax
jne 0x1801385dc
cmp byte [0x18029b6c1], 0
je 0x1801384b2
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 + 0x98], ebp
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [0x1802a1510]
call fcn.1800b3330
mov rcx, qword [rax]
mov r15, qword [0x1802a1508]
mov rax, r15
shr rax, 0x20
cmp dword [rcx + 0x30], r15d
jne 0x1801384a5
cmp dword [rcx + 0x34], eax
jne 0x1801384a5
mov rdi, qword [0x18024d2e0]
jmp 0x1801384b9
movzx ebx, bpl
mov rdi, qword [0x18024d2e0]
jmp 0x1801384bb
mov r15, qword [0x1802a1508]
xor bl, bl
test bpl, 1
je 0x18013850c
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x18013850c
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801384f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18013866a
call fcn.180199c38
mov rdi, qword [0x18024d2e0]
mov r15, qword [0x1802a1508]
test bl, bl
je 0x180138626
mov rsi, qword [0x1802a1518]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x180138626
nop word [rax + rax]
lea r8, [rbx + 0x10]
lea r14, [r8 + 0x20]
cmp qword [r8 + 0x18], 0xf
jbe 0x180138542
mov r8, qword [r8]
mov ebp, 0x811c9dc5
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [r8 + rax], 0
jne 0x180138550
xor edx, edx
test rax, rax
je 0x180138585
nop dword [rax]
nop word [rax + rax]
movsx ecx, byte [r8 + rdx]
xor ecx, ebp
imul ebp, ecx, 0x1000193
inc rdx
cmp rdx, rax
jb 0x180138570
test dil, dil
jne 0x180138591
mov eax, 0x811c9dc5
jmp 0x1801385ac
movsx eax, dil
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [0x18024d2e1]
call fcn.1800ea660
cmp ebp, eax
je 0x1801385c2
mov rax, r15
shr rax, 0x20
cmp dword [r14], r15d
jne 0x1801385c2
cmp dword [r14 + 4], eax
je 0x1801385d0
mov rbx, qword [rbx]
cmp rbx, rsi
jne 0x180138530
jmp 0x180138626
mov byte [0x180295dab], 1
mov rbx, qword [r14]
jmp 0x180138643
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0xf
cmova rdx, qword [rsp + 0x50]
cmp r15, 0xf
cmova rsi, r14
mov r8, qword [0x18028df48]
cmp r8, qword [rsp + 0x60]
jne 0x18013860f
mov rcx, rsi
call fcn.1801cff60
test eax, eax
je 0x18013861f
test byte [0x1802a14f8], 6
mov byte [0x180295daa], 1
je 0x180138626
mov byte [0x180295daa], 0
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x20]
lea rcx, [0x1802a1510]
call fcn.1800ee960
mov rbx, qword [rax]
mov rbx, qword [rbx + 0x30]
lea rcx, [rsp + 0x50]
call fcn.18009a190
mov rax, rbx
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
call fcn.1801afdbc
nop