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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
mov rbp, rsp
sub rsp, 0x80
movaps xmmword [rax - 0x28], xmm6
movabs rsi, 0x6f22bab9f135fd4d
movabs rax, 0x157dbf594469c0f
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x60], rax
movabs r13, 0x39f96b0cccb3fe06
movabs rax, 0x39f96b0cbed69665
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x58], rax
movabs rdi, 0xcbf29ce484222325
movdqa xmm0, xmmword [rbp - 0x60]
mov r11b, dl
xorps xmm0, xmmword [rbp - 0x50]
lea rdx, [rbp - 0x60]
movq rax, xmm0
movdqa xmmword [rbp - 0x60], xmm0
mov rbx, rcx
mov rcx, rdi
movabs r12, 0x100000001b3
test al, al
je 0x18002ceca
inc rdx
movsx rax, al
xor rcx, rax
imul rcx, r12
mov al, byte [rdx]
cmp al, 0
jne 0x18002ceb6
mov rax, qword [rbx]
mov r8, rdi
mov r10, qword [rax + 0x10]
mov r9, r10
mov dl, byte [r10]
test dl, dl
je 0x18002cef5
mov al, dl
inc r9
movsx rax, al
xor r8, rax
imul r8, r12
mov al, byte [r9]
test al, al
jne 0x18002cee0
cmp r8, rcx
je 0x18002d059
movabs rax, 0x52dbdca642920f
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x50], rax
lea r8, [rbp - 0x50]
movabs rax, 0x39f96b0cccb3fe68
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x48], rax
mov rcx, rdi
movdqa xmm0, xmmword [rbp - 0x50]
xorps xmm0, xmmword [rbp - 0x30]
movq rax, xmm0
movdqa xmmword [rbp - 0x50], xmm0
test al, al
je 0x18002cffe
inc r8
movsx rax, al
xor rcx, rax
imul rcx, r12
mov al, byte [r8]
cmp al, 0
jne 0x18002cf44
test rcx, rcx
jne 0x18002cffe
movabs rcx, 0x48e43dc288e99868
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x18], rcx
lea r8, [rbp - 0x30]
movabs rax, 0xb4ccfd68158920e
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rax
mov rcx, rdi
movabs rax, 0x56890a699bc49144
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x28], rax
movabs rax, 0xeef585cf45a52549
movdqa xmm1, xmmword [rbp - 0x30]
xorps xmm1, xmmword [rbp - 0x50]
mov qword [rbp - 0x20], rax
movabs rax, 0xeef585cf45a52527
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp - 0x40], rax
movq rax, xmm1
xorps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmmword [rbp - 0x20], xmm0
test al, al
je 0x18002cffe
inc r8
movsx rax, al
xor rcx, rax
imul rcx, r12
mov al, byte [r8]
cmp al, 0
jne 0x18002cfe0
test rcx, rcx
jne 0x18002cffe
xor esi, esi
jmp 0x18002d016
mov esi, 1
jmp 0x18002d016
movsx rax, dl
xor rdi, rax
imul rdi, r12
inc r10
mov dl, byte [r10]
test dl, dl
jne 0x18002d005
test r11b, r11b
jne 0x18002d037
mov rcx, rbx
call fcn.180010b68
test al, al
jne 0x18002d059
mov rcx, rbx
call fcn.180011860
test al, al
jne 0x18002d059
mov rcx, rbx
call fcn.180011534
mov rcx, rax
call fcn.1800108ec
cmp dword [rax], 0
jg 0x18002d07d
cmp rdi, rsi
jne 0x18002d059
mov rcx, rbx
call fcn.180012d20
xor al, al
movaps xmm6, xmmword [rsp + 0x70]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rbp
ret
cmp rdi, rsi
jne 0x18002d09e
call fcn.180015c78
movaps xmm6, xmm0
mov rcx, rbx
addss xmm6, dword [0x1800a33e0]
call fcn.18001111c
movss dword [rax], xmm6
mov rcx, rbx
call fcn.180011534
mov rcx, rax
call fcn.1800108ec
mov rcx, rbx
dec dword [rax]
call fcn.18001199c
cmp rdi, rsi
jne 0x18002d0c5
mov rcx, rbx
call fcn.180012d20
mov rcx, rbx
call fcn.180011acc
mov rcx, rbx
call fcn.180011cfc
lea rcx, [0x1800a0540]
call fcn.18002e618
mov r8, rax
xor edx, edx
mov rcx, rbx
call fcn.18000a558
cmp rdi, rsi
je 0x18002d103
mov rcx, rbx
call fcn.180011e34
mov rcx, rbx
call fcn.180011f28
mov al, 1
jmp 0x18002d05b