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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0xc0
mov qword [rbp - 0x51], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r12, r8
mov r15, rdx
mov r11, rcx
mov r10, qword [r9]
mov r9, qword [r8 + 0x10]
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1400744ae
mov rdx, qword [r8]
xor ecx, ecx
movabs r8, 0xcbf29ce484222325
add r9, r9
je 0x1400744dc
movzx eax, byte [rcx + rdx]
xor r8, rax
movabs rbx, 0x100000001b3
imul r8, rbx
inc rcx
cmp rcx, r9
jb 0x1400744bf
mov rcx, r10
shl rcx, 6
mov rdx, r10
shr rdx, 2
add rcx, r8
mov eax, 0x9e3779b9
add rax, rdx
add rcx, rax
xor rcx, r10
mov qword [rbp + 0x67], rcx
lea rsi, [r11 + 0x4f0]
lea r14, [rsi + 0x18]
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
mov qword [rbp - 0x49], r14
lea rcx, [rsi + 0xa8]
lea r8, [rbp + 0x67]
lea rdx, [rbp + 0x6f]
call fcn.140077030
mov rax, qword [rsi + 0xb0]
mov qword [rbp - 0x41], rax
mov rbx, qword [rbp + 0x6f]
cmp rbx, rax
je 0x1400745c3
mov rdi, qword [rbx + 0x28]
cmp qword [rsi + 0x40], 0
je 0x140074558
lea rcx, [rdi + 0x18]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTimeAsFileTime]
lea rcx, [rsi + 0xe8]
mov r9, rdi
mov r8, rcx
mov rdx, qword [rcx]
call fcn.140077ae4
lea rdi, [rsi + 0x48]
mov rcx, rdi
call fcn.1401ddea0
lea rdx, [rbx + 0x18]
lea rcx, [rbp - 0x61]
call fcn.140048130
nop
mov r9b, 1
mov r8, rbx
lea rdx, [rbp - 0x39]
mov rcx, rsi
call fcn.140076bc8
mov rdx, qword [rsi + 8]
mov rcx, rdi
call fcn.1401ddf70
mov rdx, qword [rsi + 0xb8]
mov rcx, rdi
call fcn.1401ddfdc
mov r13, qword [rbp - 0x61]
mov rsi, qword [rbp - 0x59]
test r14, r14
je 0x1400745e3
jmp 0x1400745da
lea rcx, [rsi + 0x48]
call fcn.1401ddf08
xor r13d, r13d
xor esi, esi
test r14, r14
je 0x1400747a4
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
test r13, r13
je 0x1400747a4
lea rdx, [r13 + 0x60]
mov r14, qword [rbp + 0x77]
cmp qword [rdx], 0
je 0x140074606
mov rcx, qword [r14]
add rcx, 0x60
call fcn.14006e094
mov rdx, qword [r14]
add rdx, 0x60
lea rcx, [rbp - 0x29]
call fcn.140048130
mov rdi, rax
mov rdx, qword [rbp + 0x57]
add rdx, 0x678
lea rcx, [rbp - 0x19]
call fcn.140048130
mov rbx, rax
mov rcx, qword [r14]
mov rdx, qword [rcx + 0x60]
add rdx, 0xe0
lea rcx, [rbp - 9]
call fcn.140048130
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
mov r9b, 2
mov r8, rax
mov rdx, r12
lea rcx, [rbp + 7]
call fcn.1401cded4
mov rcx, qword [r14]
add rcx, 0x70
mov rdx, rax
call fcn.14005b50c
or ebx, 0xffffffff
mov rdi, qword [rbp + 0xf]
xor r12d, r12d
test rdi, rdi
je 0x1400746bb
mov eax, ebx
lock xadd dword [rdi + 8], eax
add eax, ebx
jne 0x1400746bb
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [str.__v__]
mov eax, ebx
lock xadd dword [rdi + 0xc], eax
add eax, ebx
jne 0x1400746bb
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [str.__v__]
mov rcx, qword [r14]
add rcx, 0x70
mov rax, qword [rcx]
test byte [rax + 0x14c], 1
je 0x1400746e3
lea rdx, [r13 + 0x70]
mov rax, qword [rdx]
test byte [rax + 0x14c], 1
jne 0x1400746e3
call fcn.14006e094
mov rax, qword [r14]
mov rcx, qword [rax + 0x70]
mov r8d, dword [rcx + 0x160]
mov rax, qword [rbp + 0x57]
mov rax, qword [rax + 0x708]
mov rcx, qword [rax + 8]
mov rdx, rax
jmp 0x140074717
cmp dword [rcx + 0x1c], r8d
jae 0x140074711
mov rcx, qword [rcx + 0x10]
jmp 0x140074717
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], r12b
je 0x140074705
mov qword [rbp - 0x69], rax
cmp rdx, rax
je 0x14007472c
cmp r8d, dword [rdx + 0x1c]
jae 0x14007472f
mov rdx, rax
mov qword [rbp - 0x31], rax
cmp rdx, rax
je 0x14007473f
mov rax, qword [rbp + 0x7f]
mov byte [rax], 1
mov rax, qword [r14]
mov rcx, qword [rax + 0x70]
bts dword [rcx + 0x14c], 0xb
mov rax, qword [r14]
mov qword [r15], rax
mov rax, qword [r14 + 8]
mov qword [r15 + 8], rax
mov qword [r14], r12
mov qword [r14 + 8], r12
test rsi, rsi
je 0x14007479e
mov eax, ebx
lock xadd dword [rsi + 8], eax
add eax, ebx
jne 0x14007479e
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [str.__v__]
mov eax, ebx
lock xadd dword [rsi + 0xc], eax
add eax, ebx
jne 0x14007479e
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [str.__v__]
nop
mov rdi, qword [r14 + 8]
jmp 0x1400747f3
and qword [r15], 0
and qword [r15 + 8], 0
or ebx, 0xffffffff
test rsi, rsi
je 0x1400747eb
mov eax, ebx
lock xadd dword [rsi + 8], eax
add eax, ebx
jne 0x1400747eb
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [str.__v__]
mov eax, ebx
lock xadd dword [rsi + 0xc], eax
add eax, ebx
jne 0x1400747eb
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax + 8]
call qword [str.__v__]
nop
mov rax, qword [rbp + 0x77]
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x14007482d
mov eax, ebx
lock xadd dword [rdi + 8], eax
add eax, ebx
jne 0x14007482d
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [str.__v__]
mov eax, ebx
lock xadd dword [rdi + 0xc], eax
add eax, ebx
jne 0x14007482d
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [str.__v__]
mov rax, r15
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret