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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x240]
sub rsp, 0x340
mov rax, qword [0x14029f3b8]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov rbx, rdx
mov r15, rcx
mov r13d, 7
mov edx, r13d
lea rcx, str.actions
call fcn.140010524
cmp qword [rax + 0x18], 8
jb 0x14020af55
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.1400213b8
nop
mov rcx, qword [rbx]
mov rax, qword [rcx]
lea rdx, [rbp + 0x210]
mov rax, qword [rax + 8]
call qword [case.0x14003d846.0]
mov dil, al
mov rdx, qword [rbp + 0x228]
cmp rdx, 8
jb 0x14020afa0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x210]
call fcn.140016264
xor r12d, r12d
test dil, dil
je 0x14020b39a
mov rdx, r13
lea rcx, str.actions
call fcn.140010524
cmp qword [rax + 0x18], 8
jb 0x14020afc5
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.1400213b8
nop
lea rdx, [rbp + 0x1d0]
mov rcx, rbx
call fcn.140075bf0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 0x98]
call qword [case.0x14003d846.0]
mov rdi, rax
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 8
jb 0x14020b01b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1d0]
call fcn.140016264
mov qword [rbp + 0x1e0], r12
mov qword [rbp + 0x1e8], r13
mov word [rbp + 0x1d0], r12w
mov rbx, qword [rdi]
mov rdi, qword [rdi + 8]
jmp 0x14020b391
mov r8, qword [r15]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov rdx, qword [r8 + 8]
test rdx, rdx
je 0x14020b069
mov eax, dword [rdx + 8]
jmp 0x14020b065
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x14020b3c4
test eax, eax
jne 0x14020b057
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x14020b343
mov edx, 5
lea rcx, str._type
call fcn.140010524
cmp qword [rax + 0x18], 8
jb 0x14020b092
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x1f0]
call fcn.1400213b8
nop
lea rdx, [rbp + 0x1f0]
mov rcx, rbx
call fcn.140075bf0
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 0xb0]
call qword [case.0x14003d846.0]
mov r8, rax
mov rdx, qword [rax + 0x10]
mov r10, rax
cmp qword [rax + 0x18], 8
jb 0x14020b0d8
mov r10, qword [rax]
movabs r9, 0xcbf29ce484222325
mov rcx, r12
add rdx, rdx
je 0x14020b108
movzx eax, byte [rcx + r10]
xor r9, rax
movabs r11, 0x100000001b3
imul r9, r11
inc rcx
cmp rcx, rdx
jb 0x14020b0ea
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.140063a4c
mov r14, qword [rax + 8]
test r14, r14
jne 0x14020b121
mov r14, qword [rsi + 8]
mov rdx, qword [rbp + 0x208]
cmp rdx, 8
jb 0x14020b142
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f0]
call fcn.140016264
mov qword [rbp + 0x200], r12
mov qword [rbp + 0x208], r13
mov word [rbp + 0x1f0], r12w
cmp r14, qword [rsi + 8]
je 0x14020b343
mov rsi, qword [r15 + 8]
lea rcx, [rsp + 0x58]
call fcn.1400754e0
mov r8, rax
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140203f64
nop
mov rsi, qword [r15 + 0x10]
mov r13d, 0xd
mov edx, r13d
lea rcx, str.correlationId
call fcn.140010524
mov r8, rax
mov rcx, qword [rsi]
mov rdx, qword [rcx]
mov rax, qword [rdx + 8]
mov rdx, r8
call qword [case.0x14003d846.0]
test al, al
je 0x14020b1fc
mov rsi, qword [r15 + 0x10]
mov edx, r13d
lea rcx, str.correlationId
call fcn.140010524
mov rdx, rax
mov rcx, rsi
call fcn.140075bf0
mov rsi, rax
mov edx, r13d
lea rcx, str.correlationId
call fcn.140010524
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140075bf0
mov rcx, rax
mov rdx, rsi
call fcn.14007560c
lea r13, [r14 + 0x30]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x70], rax
lea rax, [rbp]
mov qword [rsp + 0x60], rax
mov r14, qword [r15 + 0x28]
mov r12, qword [r15 + 0x20]
mov rsi, qword [r15]
mov rdx, qword [r15 + 0x18]
lea rcx, [rbp]
call fcn.140204744
nop
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
cmp qword [rsi + 8], 0
je 0x14020b26f
mov rax, qword [rsi]
mov qword [rbp + 0x80], rax
mov rax, qword [rsi + 8]
mov qword [rbp + 0x88], rax
lock inc dword [rax + 0xc]
mov rdx, r12
lea rcx, [rbp + 0x90]
call fcn.14009c4e4
nop
lea rax, [rbp + 0x190]
mov qword [rsp + 0x50], rax
xor r12d, r12d
mov qword [rbp + 0x1c8], r12
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x14020b2b8
mov rax, qword [rcx]
lea rdx, [rbp + 0x190]
mov rax, qword [rax]
call qword [case.0x14003d846.0]
mov qword [rbp + 0x1c8], rax
lea rax, [rbp]
mov qword [rsp + 0x60], rax
mov qword [rbp - 8], r12
lea rcx, [rbp]
call fcn.14020b4bc
mov qword [rbp - 8], rax
lea rcx, [rbp]
call fcn.140205e08
nop
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
mov r8, rbx
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.140205fc0
nop
mov dword [rsp + 0x50], r12d
cmp byte [rax + 0x30], r12b
je 0x14020b319
mov rdx, r12
cmp byte [rax + 0x30], 1
cmove rdx, rax
xor ecx, ecx
call fcn.140022328
nop
movsx rax, byte [rbp - 0x58]
add rax, 1
je 0x14020b33d
cmp rax, 1
je 0x14020b33d
lea rcx, [rbp - 0x68]
call fcn.140029ef4
lea rcx, [rbp - 0x78]
call fcn.14002a14c
nop
mov r13d, 7
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14020b38d
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14020b38d
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [case.0x14003d846.0]
or eax, 0xffffffff
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x14020b38d
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14003d846.0]
add rbx, 8
cmp rbx, rdi
jne 0x14020b03d
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.140220ed0
mov rbx, qword [rsp + 0x390]
add rsp, 0x340
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rsi, qword [r8]
mov qword [rsp + 0x40], rsi
mov rax, qword [r8 + 8]
mov qword [rsp + 0x48], rax
jmp 0x14020b06e