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

Disassembly:
test r8d, r8d
je 0x14001dc66
mov rax, rsp
push rbp
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
cmp qword [rcx + 0x10], 0
mov r14d, r8d
mov qword [rax + 8], rbx
mov r12, rdx
mov qword [rax + 0x18], rdi
mov r15, rcx
mov qword [rax - 0x28], r13
mov r13d, 0x3ff0
je 0x14001d9d6
mov eax, dword [rcx + 0x1c]
cmp eax, r13d
jae 0x14001d9d6
mov ecx, eax
mov edi, r13d
sub edi, eax
mov rax, qword [r15]
cmp r8d, edi
cmovb edi, r8d
add rax, 0x10
add rcx, rax
mov r8d, edi
mov ebx, edi
call fcn.1400bddc0
add dword [r15 + 0x1c], edi
add r12, rbx
sub r14d, edi
je 0x14001dc46
mov eax, 0x401005
mov qword [rsp + 0x88], rsi
mul r14d
lea rax, [rbp - 0x28]
mov ebx, r14d
sub ebx, edx
mov qword [rbp - 0x28], rax
shr ebx, 1
lea rax, [rbp - 0x28]
add ebx, edx
mov qword [rbp - 0x20], rax
xor esi, esi
shr ebx, 0xd
lea rcx, [0x140128ac8]
mov qword [rbp - 0x18], rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov r8, qword [0x1401200c0]
mov edx, esi
mov r9, qword [0x1401200b8]
imul ecx, ebx, 0x3ff0
mov rax, r9
cmp r14d, ecx
mov rcx, r8
setne dl
lea edi, [rbx + rdx]
cmp rdi, r8
cmovb rcx, rdi
test rcx, rcx
je 0x14001da4f
mov rax, qword [rax + 8]
sub rcx, 1
jne 0x14001da45
cmp r9, rax
je 0x14001daa8
mov rcx, r9
mov rdx, rsi
nop word [rax + rax]
mov rcx, qword [rcx + 8]
inc rdx
cmp rcx, rax
jne 0x14001da60
add qword [rbp - 0x18], rdx
sub r8, rdx
mov qword [0x1401200c0], r8
lea r8, [rbp - 0x28]
mov rdx, qword [r9]
mov qword [rdx + 8], rax
mov rdx, qword [rax]
mov qword [rdx + 8], r8
mov rdx, qword [rbp - 0x28]
mov qword [rdx + 8], r9
mov rdx, qword [rax]
mov r8, qword [rbp - 0x28]
mov qword [rbp - 0x28], rdx
mov rdx, qword [r9]
mov qword [rax], rdx
mov qword [r9], r8
lea rcx, [0x140128ac8]
call fcn.1400b80f0
cmp qword [rbp - 0x18], rdi
jae 0x14001db5c
nop
movzx eax, byte [str.._AU__list_node_UPage_WowConnectionSendBuffer___blz__]
lea rcx, [0x1401264d1]
mov r9d, 0x811c9dc5
test eax, eax
je 0x14001daf6
nop dword [rax + rax]
xor eax, r9d
lea rcx, [rcx + 1]
imul r9d, eax, 0x1000193
movzx eax, byte [rcx - 1]
test eax, eax
jne 0x14001dae0
mov dword [rsp + 0x28], esi
lea r8, str.._AU__list_node_UPage_WowConnectionSendBuffer___blz__
mov edx, ntohs
mov dword [rsp + 0x20], 0xfffffffa
mov ecx, 0x4000
call fcn.140025e30
mov rbx, rax
test rax, rax
je 0x14001db2e
lea rcx, [rax + 0x10]
mov r8, r13
xor edx, edx
call fcn.1400be550
mov rcx, qword [rbp - 0x28]
lea rax, [rbp - 0x28]
mov qword [rbx + 8], rax
mov qword [rbx], rcx
mov qword [rbp - 0x28], rbx
mov rax, qword [rbx]
mov qword [rax + 8], rbx
mov rax, qword [rbp - 0x18]
inc rax
mov qword [rbp - 0x18], rax
cmp rax, rdi
jb 0x14001dac0
mov rbx, qword [rbp - 0x20]
cmp r14d, r13d
lea rcx, [rbx + 0x10]
mov esi, r14d
mov rdx, r12
cmova esi, r13d
mov r8d, esi
mov edi, esi
call fcn.1400bddc0
mov rbx, qword [rbx + 8]
add r12, rdi
mov dword [r15 + 0x1c], esi
sub r14d, esi
jne 0x14001db60
mov r10, qword [rbp - 0x20]
lea rax, [rbp - 0x28]
mov rsi, qword [rsp + 0x88]
cmp r10, rax
je 0x14001dbf3
mov rax, r10
xor ecx, ecx
nop word [rax + rax]
mov rax, qword [rax + 8]
lea rdx, [rbp - 0x28]
inc rcx
cmp rax, rdx
jne 0x14001dbb0
add qword [r15 + 0x10], rcx
sub qword [rbp - 0x18], rcx
lea rcx, [rbp - 0x28]
mov rax, qword [r10]
mov qword [rax + 8], rcx
mov rax, qword [rbp - 0x28]
mov qword [rax + 8], r15
mov rax, qword [r15]
mov qword [rax + 8], r10
mov rax, qword [rbp - 0x28]
mov rcx, qword [r15]
mov qword [r15], rax
mov qword [r10], rcx
mov r10, qword [rbp - 0x20]
lea rax, [rbp - 0x28]
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x28]
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x28]
cmp r10, rax
je 0x14001dc46
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [r10 + 8]
lea rdx, str.._AU__list_node_UPage_WowConnectionSendBuffer___blz__
xor r9d, r9d
mov rcx, r10
lea r8d, [r9 - 6]
call fcn.140025f00
lea rax, [rbp - 0x28]
mov r10, rbx
cmp rbx, rax
jne 0x14001dc20
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x80]
mov r13, qword [rsp + 0x50]
add rsp, 0x58
pop r15
pop r14
pop r12
pop rbp
ret