Function at 0x140204268
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 0x1402042bd
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 0x140204308
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x210]
call fcn.140016264
xor r12d, r12d
test dil, dil
je 0x140204702
mov rdx, r13
lea rcx, str.actions
call fcn.140010524
cmp qword [rax + 0x18], 8
jb 0x14020432d
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 0x140204383
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 0x1402046f9
mov r8, qword [r15]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov rdx, qword [r8 + 8]
test rdx, rdx
je 0x1402043d1
mov eax, dword [rdx + 8]
jmp 0x1402043cd
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x14020472c
test eax, eax
jne 0x1402043bf
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x1402046ab
mov edx, 5
lea rcx, str._type
call fcn.140010524
cmp qword [rax + 0x18], 8
jb 0x1402043fa
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 0x140204440
mov r10, qword [rax]
movabs r9, 0xcbf29ce484222325
mov rcx, r12
add rdx, rdx
je 0x140204470
movzx eax, byte [rcx + r10]
xor r9, rax
movabs r11, 0x100000001b3
imul r9, r11
inc rcx
cmp rcx, rdx
jb 0x140204452
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.140063a4c
mov r14, qword [rax + 8]
test r14, r14
jne 0x140204489
mov r14, qword [rsi + 8]
mov rdx, qword [rbp + 0x208]
cmp rdx, 8
jb 0x1402044aa
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 0x1402046ab
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 0x140204564
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 0x1402045d7
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 0x140204620
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.1402096a4
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 0x140204681
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 0x1402046a5
cmp rax, 1
je 0x1402046a5
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 0x1402046f5
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1402046f5
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 0x1402046f5
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 0x1402043a5
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 0x1402043d6