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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov rsi, r8
mov rbx, rdx
mov r15, qword [r8 + 0x18]
cmp r15, 0x10
jb 0x1400d1fa4
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
mov r14, qword [rsi + 0x10]
xor ecx, ecx
test r14, r14
je 0x1400d1fe4
movabs r9, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, r14
jb 0x1400d1fd0
and rdx, qword [0x140361a40]
add rdx, rdx
mov rax, qword [0x140361a28]
mov rdi, qword [rax + rdx*8 + 8]
mov r13, qword [0x140361a18]
cmp rdi, r13
je 0x1400d2436
mov r12, qword [rax + rdx*8]
nop
lea rdx, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x1400d201f
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
cmp r15, 0x10
jb 0x1400d202b
mov rcx, qword [rsi]
cmp r14, qword [rdi + 0x20]
jne 0x1400d203d
mov r8, r14
call fcn.1402088b0
test eax, eax
je 0x1400d204c
cmp rdi, r12
je 0x1400d2436
mov rdi, qword [rdi + 8]
jmp 0x1400d2010
test rdi, rdi
je 0x1400d2436
cmp rdi, r13
je 0x1400d2436
lea rcx, [rdi + 0x30]
call fcn.1400d18e0
mov qword [rbp - 0x21], rax
mov r15, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x19], xmm0
xor r14d, r14d
mov qword [rbp - 9], r14
mov r9, qword [r15 + 0x18]
sub r9, qword [r15 + 0x10]
sar r9, 5
mov qword [rbp - 0x29], r9
xor r13d, r13d
mov rdi, qword [rbp - 0x11]
nop dword [rax]
nop dword [rax + rax]
lea ecx, [r13*4]
xor edx, edx
mov rax, qword [rbp + 0x67]
mov eax, dword [rcx + rax]
div r9d
mov r8d, edx
mov ecx, eax
add eax, edx
xor edx, edx
div r9d
mov esi, edx
xor edx, edx
mov eax, ecx
div r9d
add eax, esi
xor edx, edx
div r9d
mov dword [rbp + 0x77], edx
mov ecx, r8d
shl rcx, 5
mov qword [rbp + 0x7f], rcx
mov r8, qword [r15 + 0x10]
add r8, rcx
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400d20f2
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.14000f050
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400d2127
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400d211f
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1400d2139
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14000b160
mov r12, rsi
shl r12, 5
mov r8, qword [r15 + 0x10]
add r8, r12
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400d2154
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.14000f050
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400d2189
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400d2181
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1400d219b
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14000b160
mov esi, dword [rbp + 0x77]
shl rsi, 5
mov r8, qword [r15 + 0x10]
add r8, rsi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400d21b6
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.14000f050
mov r8, qword [rbp + 0x7f]
add r8, qword [r15 + 0x10]
cmp rdi, r14
je 0x1400d21e4
mov rdx, r8
mov rcx, rdi
call fcn.140007aa0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x1400d21f8
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140069cf0
mov r14, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
mov r8, qword [r15 + 0x10]
add r8, r12
cmp rdi, r14
je 0x1400d2219
mov rdx, r8
mov rcx, rdi
call fcn.140007aa0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x1400d222d
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140069cf0
mov r14, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
mov r8, qword [r15 + 0x10]
add r8, rsi
cmp rdi, r14
je 0x1400d224e
mov rdx, r8
mov rcx, rdi
call fcn.140007aa0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x1400d2262
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140069cf0
mov r14, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
inc r13d
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400d228e
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400d2286
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1400d22a0
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.14000b160
cmp r13d, 8
mov r9, qword [rbp - 0x29]
jb 0x1400d20a0
mov rcx, qword [rbx + 0x10]
dec rcx
mov qword [rbx + 0x10], rcx
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400d22c6
mov rax, qword [rbx]
mov byte [rax + rcx], 0
mov rax, qword [rbp - 0x21]
mov rax, qword [rax]
mov edx, dword [rax + 0xa8]
lea rcx, [rbp - 0x19]
call fcn.1400d2990
mov r8d, eax
shl r8, 5
mov rdi, qword [rbp - 0x19]
add r8, rdi
mov byte [rbp + 0x77], 0x20
mov rcx, qword [r8 + 0x10]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x1400d2459
mov rax, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400d2316
mov rax, qword [r8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [rbp + 0x77]
movzx edx, byte [rbp + 0x77]
lea rcx, [rbp - 1]
call fcn.14000c020
nop
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rdx, qword [rbp - 1]
mov r8, qword [rbp + 0xf]
mov rcx, rbx
call fcn.14000f050
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x1400d2392
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d238c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d245f
call fcn.140205dc4
nop
test rdi, rdi
je 0x1400d2432
mov rbx, rdi
mov rsi, qword [rbp - 0x11]
cmp rdi, rsi
je 0x1400d23fe
xor r14d, r14d
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400d23e6
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400d23e1
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400d2453
mov rcx, r8
call fcn.140205dc4
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], recv
mov byte [rbx], r14b
add rbx, 0x20
cmp rbx, rsi
jne 0x1400d23b0
mov rdx, qword [rbp - 9]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400d242a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d2453
mov rcx, rdi
call fcn.140205dc4
mov al, 1
jmp 0x1400d2438
xor al, al
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14020c78c
nop
call fcn.14000efb0
nop
call fcn.14020c78c
int3