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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov r14, r9
mov r15, r8
mov rbx, rdx
mov rbp, rcx
mov rax, qword [r9]
cmp byte [rax + 0xe8], 0
je 0x14015337f
cmp dword [rdx], 0
jne 0x14015337f
call fcn.14004cfa0
mov dword [rsp + 0x30], 0x3e3
mov qword [rsp + 0x38], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbx], xmm0
mov ecx, dword [0x1403570f0]
mov rax, qword gs:[0x58]
mov rdx, qword [rax + rcx*8]
mov r8d, 0x38
mov ecx, dword [r8 + rdx]
mov eax, 0x28
xor edi, edi
test cl, 1
jne 0x1401533be
or ecx, 1
mov dword [r8 + rdx], ecx
mov dword [rax + rdx], edi
lea rcx, [0x1403275b8]
mov qword [rax + rdx + 8], rcx
movups xmm0, xmmword [rbx]
movups xmmword [rax + rdx], xmm0
mov rcx, qword [r14]
mov esi, dword [rbx]
cmp qword [rcx + 0xe0], 0xffffffffffffffff
jne 0x1401533f0
test esi, esi
jne 0x140153414
mov rcx, qword [rcx + 0xd0]
test rcx, rcx
je 0x140153696
mov rax, qword [rcx]
call qword [rax + select]
jmp 0x140153414
test esi, esi
jne 0x14015340a
mov rcx, qword [rcx + 0xd0]
test rcx, rcx
je 0x140153696
mov rax, qword [rcx]
call qword [rax + select]
mov rax, qword [r14]
dec qword [rax + 0xe0]
mov rdx, qword [r14]
cmp byte [rdx + 0xe8], dil
je 0x140153455
lea rax, [rbp + 0x60]
mov ecx, 0xa8
test rbp, rbp
cmove rax, rcx
mov rcx, qword [rax]
add rcx, 0x18
lea rax, [rdx + 0x20]
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x98]
call fcn.14011b110
jmp 0x14015361f
call fcn.14004cfa0
mov rcx, qword [rbx + 8]
mov rax, qword [rax + 8]
cmp qword [rcx + 8], rax
jne 0x140153470
cmp esi, 0x3e3
je 0x1401534d3
mov rax, qword [r14]
cmp qword [rax + 0xe0], rdi
je 0x1401534d3
mov r9, qword [rax + 0xd8]
mov qword [rsp + 0x20], rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x28], rax
mov qword [r14], rdi
mov qword [r14 + 8], rdi
mov rax, qword [r15]
mov qword [rsp + 0x30], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x38], rax
mov qword [r15], rdi
mov qword [r15 + 8], rdi
mov eax, 0x48
test rbp, rbp
cmove rbp, rax
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.14014fd20
jmp 0x14015361f
lea rax, [rbp + 0x60]
mov ecx, 0xa8
test rbp, rbp
cmove rax, rcx
mov rcx, qword [rax]
add rcx, 0x18
mov rax, qword [r14]
add rax, 0x20
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x98]
call fcn.14011b110
mov r8, qword [r14]
mov r10, qword [r8 + 0x10]
mov rdx, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x14015351a
mov rdx, qword [r8]
movabs rsi, 0xcbf29ce484222325
mov r9, rsi
mov rcx, rdi
movabs r12, 0x100000001b3
test r10, r10
je 0x140153553
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r12
inc rcx
cmp rcx, r10
jb 0x140153540
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.140005c30
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x14015361f
cmp rbx, qword [rbp + 8]
je 0x14015361f
mov rax, qword [rbx + 0x30]
mov byte [rax + 0xe8], 1
mov r8, qword [rbx + 0x20]
lea rcx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x140153595
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
test r8, r8
je 0x1401535b3
nop dword [rax]
movzx eax, byte [rcx + rdi]
xor rsi, rax
imul rsi, r12
inc rdi
cmp rdi, r8
jb 0x1401535a0
mov r8, qword [rbp + 0x30]
and r8, rsi
shl r8, 4
add r8, qword [rbp + 0x18]
mov rax, qword [r8]
cmp qword [r8 + 8], rdx
jne 0x1401535e7
cmp rax, rdx
jne 0x1401535dd
mov rax, qword [rbp + 8]
mov qword [r8], rax
mov qword [r8 + 8], rax
jmp 0x1401535f2
mov rax, qword [rdx + 8]
mov qword [r8 + 8], rax
jmp 0x1401535f2
cmp rax, rdx
jne 0x1401535f2
mov rax, qword [rdx]
mov qword [r8], rax
mov rdx, qword [rbx]
dec qword [rbp + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rdx
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
lea rcx, [rbx + 0x10]
call fcn.14001b470
mov edx, 0x40
mov rcx, rbx
call fcn.1401ae118
nop
mov rdi, qword [r15 + 8]
mov ebx, 0xffffffff
test rdi, rdi
je 0x140153657
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140153657
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, ebx
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x140153657
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdi, qword [r14 + 8]
test rdi, rdi
je 0x140153687
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140153687
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x140153687
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.WS2_32.dll_htonl]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1401abb54
nop
int3