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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x180176168]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rdi, rcx
mov qword [rsp + 0x48], rdx
lea rdx, [rsp + 0x48]
add rcx, 0x68
mov r14, r8
call fcn.180043e30
test al, al
jne 0x18004271e
movss xmm6, dword [0x18015eee0]
comiss xmm6, dword [r14 + 0x70]
jbe 0x180042505
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x48]
mov ebx, dword [rax + 0x14]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rdx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
mov rcx, rax
nop word [rax + rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x1800423f0
add rdx, rax
cmp rax, rdx
je 0x180042425
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rcx]
inc rcx
xor eax, r8d
imul r8d, eax, 0x1000193
cmp rcx, rdx
jne 0x180042410
cmp r8d, ebx
jb 0x180042436
lea eax, [r8 + 1]
imul eax, r8d
add eax, ebx
jmp 0x18004243e
mov eax, ebx
imul eax, ebx
add eax, r8d
mov r8d, eax
lea rdx, [rsp + 0x28]
mov qword [rsp + 0x30], 0
movabs r9, 0x61c8864680b583eb
movabs r10, 0xbf58476d1ce4e5b9
movabs r11, 0x94d049bb133111eb
nop dword [rax]
sub r8, r9
mov rax, r8
shr rax, 0x1e
xor rax, r8
imul rax, r10
mov rcx, rax
shr rcx, 0x1b
xor rcx, rax
imul rcx, r11
mov rax, rcx
shr rax, 0x1f
xor rax, rcx
mov qword [rdx], rax
add rdx, 8
lea rax, [rsp + 0x48]
cmp rdx, rax
jne 0x180042470
mov rax, qword [rsp + 0x30]
xorps xmm1, xmm1
lea rcx, [rax + rax*4]
ror rcx, 0x39
lea rdx, [rcx + rcx*8]
test rdx, rdx
js 0x1800424ca
cvtsi2ss xmm1, rdx
jmp 0x1800424df
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
xorps xmm0, xmm0
subss xmm1, xmm0
addss xmm1, xmm0
mulss xmm1, dword [0x18015eebc]
mulss xmm1, xmm6
addss xmm1, xmm0
comiss xmm1, dword [r14 + 0x70]
ja 0x18004271e
mov rsi, qword [r14 + 8]
mov rbx, qword [r14]
cmp rbx, rsi
je 0x1800425b3
nop word [rax + rax]
movsx rax, byte [rbx + 0x20]
add rax, 1
je 0x1800427a4
sub rax, 1
je 0x180042593
cmp rax, 1
je 0x180042548
mov rdx, rbx
mov rcx, rdi
call fcn.180043050
jmp 0x18004259e
mov rax, qword [rdi]
mov rdx, qword [rbx]
mov ecx, dword [rax + 0x14]
mov eax, dword [rdx + 0x438]
shr eax, 9
test al, 1
jne 0x18004256d
shr ecx, 0x18
cmp cl, byte [rdx + 0x478]
jne 0x18004258f
mov al, 1
jmp 0x18004259e
mov eax, ecx
shr eax, 0x18
cmp eax, 0xfe
jne 0x18004258f
shr ecx, 0xc
and ecx, 0xfff
cmp cx, word [rdx + 0x47a]
jne 0x18004258f
mov al, 1
jmp 0x18004259e
xor al, al
jmp 0x18004259e
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1800427b0
test al, al
je 0x18004271e
add rbx, 0x28
cmp rbx, rsi
jne 0x180042520
mov rsi, qword [r14 + 0x20]
mov rbx, qword [r14 + 0x18]
cmp rbx, rsi
je 0x180042663
nop dword [rax]
nop dword [rax + rax]
movsx rax, byte [rbx + 0x20]
add rax, 1
je 0x1800427aa
sub rax, 1
je 0x180042643
cmp rax, 1
je 0x1800425f8
mov rdx, rbx
mov rcx, rdi
call fcn.180043050
jmp 0x18004264e
mov rax, qword [rdi]
mov rdx, qword [rbx]
mov ecx, dword [rax + 0x14]
mov eax, dword [rdx + 0x438]
shr eax, 9
test al, 1
jne 0x18004261d
shr ecx, 0x18
cmp cl, byte [rdx + 0x478]
jne 0x18004263f
mov al, 1
jmp 0x18004264e
mov eax, ecx
shr eax, 0x18
cmp eax, 0xfe
jne 0x18004263f
shr ecx, 0xc
and ecx, 0xfff
cmp cx, word [rdx + 0x47a]
jne 0x18004263f
mov al, 1
jmp 0x18004264e
xor al, al
jmp 0x18004264e
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1800427b0
test al, al
jne 0x18004271e
add rbx, 0x28
cmp rbx, rsi
jne 0x1800425d0
mov rsi, qword [r14 + 0x38]
mov rbx, qword [r14 + 0x30]
cmp rbx, rsi
je 0x180042740
nop dword [rax]
nop dword [rax + rax]
movsx rax, byte [rbx + 0x20]
add rax, 1
je 0x18004279e
sub rax, 1
je 0x180042702
cmp rax, 1
je 0x1800426a8
mov rdx, rbx
mov rcx, rdi
call fcn.180043050
jmp 0x18004270d
mov r9, qword [rbx]
mov rax, qword [rdi]
mov r8d, dword [r9 + 0x438]
mov ecx, dword [rax + 0x14]
mov edx, ecx
shr r8d, 9
and r8b, 1
jne 0x1800426d7
movzx eax, byte [r9 + 0x478]
shr edx, 0x18
cmp edx, eax
jne 0x1800426da
mov al, 1
jmp 0x18004270d
shr edx, 0x18
test r8b, r8b
je 0x1800426fe
cmp edx, 0xfe
jne 0x1800426fe
shr ecx, 0xc
and ecx, 0xfff
cmp cx, word [r9 + 0x47a]
jne 0x1800426fe
mov al, 1
jmp 0x18004270d
xor al, al
jmp 0x18004270d
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1800427b0
test al, al
jne 0x180042740
add rbx, 0x28
cmp rbx, rsi
jne 0x180042680
xor al, al
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1800be760
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x80
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rsi, qword [r14 + 0x50]
mov rbx, qword [r14 + 0x48]
cmp rbx, rsi
je 0x18004276e
mov qword [rsp + 0x50], rdi
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.180043790
test al, al
jne 0x18004276e
add rbx, 0x20
cmp rbx, rsi
jne 0x180042752
jmp 0x18004271e
mov rcx, qword [r14 + 0x60]
test rcx, rcx
je 0x180042784
mov rax, qword [rcx]
mov rdx, qword [rdi]
call qword [rax + 8]
test al, al
je 0x18004271e
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
lea rcx, [rdi + 0x68]
call fcn.1800443d0
mov al, 1
jmp 0x180042720
call fcn.18004cf50
int3
call fcn.18004cf50
int3
call fcn.18004cf50
int3