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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2a8]
sub rsp, 0x370
mov qword [rbp + 0x88], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1405420e0]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov r15, rdx
mov qword [rbp - 0x20], rdx
mov r13, rcx
mov qword [rbp + 0x90], rdx
mov rax, qword [rcx + 0xc0]
xor r12d, r12d
test rax, rax
je 0x1401c94d0
mov rbx, qword [rdx]
mov rax, qword [rax + 0x150]
cmp qword [rbx + 0x150], rax
jne 0x1401c94d0
test rbx, rbx
je 0x1401c94c9
mov rcx, rbx
call fcn.140065830
mov edx, 0x200
mov rcx, rbx
call fcn.140356b5c
xor al, al
jmp 0x1401c9c71
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov rsi, r12
mov qword [rbp - 0x40], r12
mov qword [rbp + 0xf0], r12
mov qword [rbp + 0xf8], 7
mov word [rbp + 0xe0], r12w
lea rdx, [0x1403cb630]
lea rcx, [rbp + 0xe0]
call fcn.140055574
nop
mov rax, qword [r15]
mov rdi, qword [rax + 0x180]
mov r14, qword [rax + 0x188]
cmp rdi, r14
je 0x1401c957f
mov rbx, qword [rbp - 0x48]
cmp rsi, rbx
je 0x1401c9558
mov qword [rsp + 0x60], rbx
mov rdx, rdi
mov rcx, rbx
call fcn.14005da24
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 0xe0]
call fcn.14005da24
nop
add rbx, 0x40
mov qword [rbp - 0x48], rbx
jmp 0x1401c9576
lea r9, [rbp + 0xe0]
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.1401cabf0
mov rsi, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x48]
add rdi, 0x20
cmp rdi, r14
jne 0x1401c9527
mov rcx, r13
call fcn.1401b2b5c
test al, al
jne 0x1401c95aa
lea rcx, [rbp + 0xe0]
call fcn.140055f70
nop
lea rcx, [rbp - 0x50]
call fcn.140065fa8
nop
mov rbx, qword [r15]
jmp 0x1401c94af
xorps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
xor r8d, r8d
xor edx, edx
call fcn.1401b3854
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
movss xmm0, dword [0x140420290]
movss dword [rsp + 0x70], xmm0
mov edx, 8
lea rcx, [rsp + 0x70]
call fcn.14005e790
nop
lea rdx, [r13 + 0xa0]
lea rcx, [rbp + 0x180]
call fcn.1401c9020
nop
mov rcx, qword [r15]
mov eax, dword [rcx + 0x11c]
mov dword [rsp + 0x54], eax
mov edx, dword [rcx + 0x118]
mov rax, qword [r13 + 0x88]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm0, qword [rsp + 0x58]
cvttsd2si rsi, xmm0
lea r8, [rbp + 0x180]
lea rdx, [0x140542e58]
lea rcx, [rbp + 0x1a0]
call fcn.14007a424
mov rdi, rax
mov ecx, 0x58
call fcn.140356b9c
mov r14, rax
mov qword [rsp + 0x60], rax
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj_class_sense::behavior::SlidingWindowCappingFilter_.0
mov qword [r14], rax
lea rbx, [r14 + 0x10]
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x20], ecx
mov r9d, esi
mov r8d, 9
mov rdx, rdi
mov rcx, rbx
call fcn.1401cd424
nop
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], r14
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x120]
call fcn.14005da24
mov qword [rbp + 0x140], rbx
mov qword [rbp + 0x148], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov r9b, byte [rsp + 0x50]
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x70]
call fcn.1401b3530
nop
or edi, 0xffffffff
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x1401c9741
mov eax, edi
lock xadd dword [rcx + 8], eax
add eax, edi
jne 0x1401c9741
mov rbx, qword [rbp + 0x148]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.p76_]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
add eax, edi
jne 0x1401c9741
mov rcx, qword [rbp + 0x148]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.p76_]
lea rcx, [rbp + 0x120]
call fcn.140055f70
nop
lea rcx, [rbp + 0x1a0]
call fcn.140055f70
mov rax, qword [r15]
mov r14, qword [rax + 0x120]
mov r12, qword [rax + 0x128]
cmp r14, r12
je 0x1401c9a80
xor esi, esi
mov rax, qword [r14 + 0x28]
mov qword [rbp - 0x28], rax
mov qword [rbp + 0xb8], rax
mov eax, dword [r14 + 0x30]
mov dword [rsp + 0x58], eax
mov dword [rbp - 0x30], eax
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x60], rax
mov qword [rbp + 0x28], rax
lea rdx, [r14 + 0x38]
lea rcx, [rbp - 0x18]
call fcn.140093ad8
nop
mov r8, qword [r14 + 0x10]
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x1401c97bc
mov rcx, qword [r14]
movabs rdx, 0xcbf29ce484222325
mov r9, rcx
add r8, r8
lea rax, [rcx + r8]
cmp rcx, rax
cmova r8, rsi
test r8, r8
je 0x1401c97ff
movzx eax, byte [r9]
xor rdx, rax
movabs r10, 0x100000001b3
imul rdx, r10
inc r9
mov rax, r9
sub rax, rcx
cmp rax, r8
jne 0x1401c97dc
lea rcx, [rbp + 0x240]
call fcn.14008524c
mov rdi, rax
lea rdx, [r13 + 0xa0]
lea rcx, [rbp + 0x220]
call fcn.1400723c0
mov rbx, rax
lea rcx, [rbp + 0x200]
call fcn.14023e6d0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x1e0]
call fcn.1400b1768
nop
mov ebx, 1
mov r8d, ebx
lea rdx, [0x1403e82f4]
mov rcx, rax
call fcn.140068814
mov qword [rbp + 0x110], rsi
mov qword [rbp + 0x118], rsi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x100], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x110], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
mov r8, rdi
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x1c0]
call fcn.1400b1768
mov rdi, rax
mov ecx, 0xc0
call fcn.140356b9c
mov rsi, rax
mov qword [rbp + 0x30], rax
mov dword [rax + 8], ebx
mov dword [rax + 0xc], ebx
lea rax, vtable.std::_Ref_count_obj_class_sense::behavior::BucketCappingFilter_.0
mov qword [rsi], rax
lea rbx, [rsi + 0x10]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
and qword [rbp - 8], 0
lea r8, vtable.std::_Func_impl_no_alloc_class_sense::behavior::GenericEtwEventKey__unsigned_long_long_unsigned___int64___class_std::shared_ptr_class_sense::behavior::LogicEvent_const___const____ptr64_.0
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rdx
movdqu xmmword [rbp + 0x98], xmm0
and qword [rbp + 0xa8], 0
lea rax, [rbp + 0x48]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x98]
call fcn.140065fa8
mov al, byte [r13 + 0x80]
mov byte [rsp + 0x48], al
lea rax, [rbp + 0x48]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp - 0x28]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0x989680
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8d, 9
mov rdx, r14
mov rcx, rbx
call fcn.1401ce374
nop
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rsi
mov rdx, r14
lea rcx, [rbp + 0x150]
call fcn.14005da24
mov qword [rbp + 0x170], rbx
mov qword [rbp + 0x178], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x18], xmm0
mov r9b, byte [rsp + 0x50]
lea r8, [rbp + 0x150]
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x70]
call fcn.1401b3530
nop
mov rcx, qword [rbp + 0x178]
xor esi, esi
test rcx, rcx
je 0x1401c9a0b
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
add eax, edi
jne 0x1401c9a0b
mov rbx, qword [rbp + 0x178]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.p76_]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
add eax, edi
jne 0x1401c9a0b
mov rcx, qword [rbp + 0x178]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [str.p76_]
lea rcx, [rbp + 0x150]
call fcn.140055f70
nop
lea rcx, [rbp + 0x1c0]
call fcn.140055f70
nop
lea rcx, [rbp + 0x100]
call fcn.140055f70
nop
lea rcx, [rbp + 0x1e0]
call fcn.140055f70
nop
lea rcx, [rbp + 0x200]
call fcn.140055f70
nop
lea rcx, [rbp + 0x220]
call fcn.140055f70
nop
lea rcx, [rbp + 0x240]
call fcn.140055f70
nop
lea rcx, [rbp - 0x18]
call fcn.140065fa8
add r14, 0x50
cmp r14, r12
jne 0x1401c9776
mov r15, qword [rbp - 0x20]
lea rdi, [r13 + 0xb0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockExclusive]
nop dword [rax + rax]
mov qword [rbp + 0x38], rdi
mov rcx, qword [r13 + 0xc0]
mov rax, qword [r15]
mov qword [r13 + 0xc0], rax
mov qword [r15], rcx
mov r12d, Compress
mov ecx, r12d
call fcn.140356b9c
mov rsi, rax
mov qword [rbp - 0x38], rax
lea rdx, [rbp - 0x50]
mov rcx, rax
call fcn.140093ad8
nop
mov rbx, rsi
lea rax, [r13 + 0xd8]
lea rcx, [rbp + 0x40]
cmp rax, rcx
je 0x1401c9b03
xor ebx, ebx
mov r14, qword [rax]
mov qword [rax], rsi
test r14, r14
je 0x1401c9b1c
mov rcx, r14
call fcn.140065fa8
mov edx, r12d
mov rcx, r14
call fcn.140356b5c
test rbx, rbx
je 0x1401c9b1c
mov rcx, rbx
call fcn.140065fa8
mov rdx, r12
mov rcx, rbx
call fcn.140356b5c
nop
test rdi, rdi
je 0x1401c9b30
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockExclusive]
nop dword [rax + rax]
lea rbx, [r13 + 0x78]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockExclusive]
nop dword [rax + rax]
lea r9, [r13 + 8]
lea rax, [rsp + 0x70]
cmp r9, rax
je 0x1401c9bf4
movss xmm1, dword [r9]
movss xmm0, dword [rsp + 0x70]
movss dword [r9], xmm0
movss dword [rsp + 0x70], xmm1
lea rdx, [r9 + 8]
lea rax, [rsp + 0x78]
cmp rdx, rax
je 0x1401c9b99
mov rcx, qword [rdx]
mov rax, qword [rsp + 0x78]
mov qword [rdx], rax
mov qword [rsp + 0x78], rcx
mov rcx, qword [rdx + 8]
mov rax, qword [rbp - 0x80]
mov qword [rdx + 8], rax
mov qword [rbp - 0x80], rcx
lea rdx, [r9 + 0x18]
lea rax, [rbp - 0x78]
cmp rdx, rax
je 0x1401c9bd4
mov rcx, qword [rdx]
mov rax, qword [rbp - 0x78]
mov qword [rdx], rax
mov qword [rbp - 0x78], rcx
mov rcx, qword [rdx + 8]
mov rax, qword [rbp - 0x70]
mov qword [rdx + 8], rax
mov qword [rbp - 0x70], rcx
mov rcx, qword [rdx + 0x10]
mov rax, qword [rbp - 0x68]
mov qword [rdx + 0x10], rax
mov qword [rbp - 0x68], rcx
mov rcx, qword [r9 + 0x30]
mov rax, qword [rbp - 0x60]
mov qword [r9 + 0x30], rax
mov qword [rbp - 0x60], rcx
mov r8, qword [r9 + 0x38]
mov rax, qword [rbp - 0x58]
mov qword [r9 + 0x38], rax
mov qword [rbp - 0x58], r8
lea rcx, [rsp + 0x78]
call fcn.1401aa8f4
mov edx, 8
lea rcx, [rsp + 0x70]
call fcn.14005e790
nop
test rbx, rbx
je 0x1401c9c23
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockExclusive]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x180]
call fcn.140055f70
nop
lea rcx, [rsp + 0x70]
call fcn.1401aa200
nop
lea rcx, [rbp + 0xe0]
call fcn.140055f70
nop
lea rcx, [rbp - 0x50]
call fcn.140065fa8
nop
mov rbx, qword [r15]
test rbx, rbx
je 0x1401c9c6f
mov rcx, rbx
call fcn.140065830
mov edx, 0x200
mov rcx, rbx
call fcn.140356b5c
mov al, 1
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.140356560
mov rbx, qword [rsp + 0x3c0]
add rsp, 0x370
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret