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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
mov rax, qword [0x1403b9868]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r15, r9
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x68], r9
mov rbp, qword [rsp + 0x100]
mov qword [rsp + 0x58], rbp
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], r12
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
mov qword [rdx + 0x10], r12
mov qword [rdx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdx], r12b
mov rdx, qword [r8 + 0x10]
mov qword [r8 + 0x10], r12
mov rcx, qword [r8 + 8]
mov qword [r8 + 8], r12
mov rax, qword [r8]
mov qword [r8], r12
mov qword [r14 + 0x20], rax
mov qword [r14 + 0x28], rcx
mov qword [r14 + 0x30], rdx
xorps xmm0, xmm0
movups xmmword [r14 + 0x38], xmm0
mov qword [r14 + 0x48], r12
mov qword [r14 + 0x50], r12
movups xmm0, xmmword [r9]
movups xmmword [r14 + 0x38], xmm0
movups xmm1, xmmword [r9 + 0x10]
movups xmmword [r14 + 0x48], xmm1
mov qword [r9 + 0x10], r12
mov qword [r9 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r9], r12b
mov qword [r14 + 0x58], r12
mov qword [r14 + 0x60], r12
mov rax, qword [rbp]
mov qword [r14 + 0x58], rax
mov rax, qword [rbp + 8]
mov qword [r14 + 0x60], rax
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov dword [r14 + 0x68], r12d
mov qword [r14 + 0x70], r12
lea rcx, [r14 + 0x20]
call fcn.1400928e0
mov r8, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [r14 + 0x10]
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, rdx
jb 0x140087f01
mov r9, r8
cmp qword [r8 + 0x18], 0x10
jb 0x140087ca2
mov r9, qword [r8]
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140087caf
mov rax, qword [r14]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140086d60
lea r8, [rsp + 0x70]
mov r9, qword [rsp + 0x70]
mov r11, qword [rsp + 0x88]
cmp r11, 0x10
cmovae r8, r9
movabs rcx, 0xcbf29ce484222325
mov rdx, r12
mov r10, qword [rsp + 0x80]
test r10, r10
je 0x140087d24
movabs rsi, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + r8]
xor rcx, rax
imul rcx, rsi
inc rdx
cmp rdx, r10
jb 0x140087d10
mov qword [r14 + 0x70], rcx
cmp r11, 0x10
jb 0x140087d60
lea rdx, [r11 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x140087d57
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140087f07
mov rcx, r9
call fcn.140280300
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140087d9a
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140087d95
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140087f0d
mov rcx, r8
call fcn.140280300
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rbx, qword [rdi]
test rbx, rbx
je 0x140087e55
mov rsi, qword [rdi + 8]
cmp rbx, rsi
je 0x140087e12
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140087dfa
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140087df5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140087ef5
mov rcx, r8
call fcn.140280300
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rsi
jne 0x140087dc0
mov rcx, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x140087e45
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140087ef5
mov rcx, r8
call fcn.140280300
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x140087e8b
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x140087e86
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140087efb
mov rcx, r8
call fcn.140280300
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r15], 0
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x140087ed0
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140087ed0
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140087ed0
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + reloc.WS2_32.dll_htonl]
mov rax, r14
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1402806f0
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1402874fc
nop
call fcn.1402874fc
nop
call fcn.1400623a0
int3
call fcn.1402874fc
nop
call fcn.1402874fc
int3