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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [0x1404fa650]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r15, r9
mov r14, r8
mov rsi, rdx
mov r12d, ecx
xor r13d, r13d
cmp qword [rdx + 0x10], r13
je 0x1400ad2c6
call qword [sym.imp.msvcp_win.dll__Query_perf_frequency]
nop dword [rax + rax]
mov rbx, rax
call qword [sym.imp.msvcp_win.dll__Query_perf_counter]
nop dword [rax + rax]
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
movzx edi, r13b
cmp qword [r14 + 0x10], r13
je 0x1400ad397
lea rcx, [rbp - 0x70]
call fcn.1400ad7cc
mov r9d, r12d
mov r8, r14
lea rdx, [rsp + 0x58]
mov rcx, qword [rax]
call fcn.1400ad444
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400aceeb
call fcn.14008a1a0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x1400ad30f
lea r12d, [rcx + 1]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400acf0c
call fcn.14008a1a0
test dil, dil
jne 0x1400acf39
call fcn.1400adfcc
mov r9, rax
mov rcx, qword [rax]
mov rax, qword [rcx + 0x10]
movabs r10, 0xabe9260c5056d270
mov r8, r15
mov rdx, rsi
mov rcx, r9
call qword [case.0x140084480.0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.1400ad7a0
mov rcx, rax
call fcn.1400e0580
mov qword [rbp], 9
mov qword [rbp + 8], SafeArrayUnlock
movups xmm0, xmmword [str.PathUtils]
movups xmmword [rax], xmm0
movzx ecx, word [reloc.WS2_32.dll_WSAStartup]
mov word [rax + 0x10], cx
mov word [rax + 0x12], r13w
mov qword [rbp - 0x10], rax
mov rax, qword [0x1404fb2f0]
test rax, rax
je 0x1400ad376
mov rdi, qword [rax]
mov r15, qword [rax + 8]
cmp rdi, r15
je 0x1400acfec
mov dword [rsp + 0x20], r13d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, qword [rdi]
call sub.api_ms_win_crt_private_l1_1_0.dll___RTDynamicCast
mov r14, rax
test rax, rax
jne 0x1400acfd8
mov r14, r13
mov rsi, r13
test r14, r14
jne 0x1400acff2
test rsi, rsi
je 0x1400acfd2
mov rcx, rsi
call fcn.14008a1a0
add rdi, 0x10
jmp 0x1400acf90
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x1400acfc0
lock add dword [rsi + 8], r12d
mov rsi, qword [rdi + 8]
jmp 0x1400acfc0
mov r14, r13
mov rsi, r13
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_f46d1ef066ea587a49006ebbb1b49c8a___class_std::shared_ptr_class_sense::Common::Counter____.0
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x60]
mov qword [rbp - 0x28], rax
lea rcx, [0x1404d1d10]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll___std_type_info_hash]
nop dword [rax + rax]
mov rdi, rax
lea r15, [r14 + 0xf8]
mov rcx, r15
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
nop dword [rax + rax]
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rdx, qword [rbp - 0x10]
movabs r8, 0xcbf29ce484222325
mov r9, r8
mov rcx, qword [rbp]
lea r10, [rcx + rcx]
mov rcx, r13
movabs r11, 0x100000001b3
mov r12d, 1
test r10, r10
je 0x1400ad087
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r11
add rcx, r12
cmp rcx, r10
jb 0x1400ad074
mov rcx, rdi
shl rcx, 6
mov rdx, rdi
shr rdx, 2
add rcx, r9
mov eax, 0x9e3779b9
add rdx, rax
add rdx, rcx
xor rdx, rdi
mov qword [rsp + 0x40], rdx
add r14, 0xb8
mov rcx, r13
movzx eax, byte [rsp + rcx + 0x40]
xor r8, rax
imul r8, r11
add rcx, r12
cmp rcx, 8
jb 0x1400ad0b5
mov rcx, qword [r14 + 0x30]
and rcx, r8
mov r8, qword [r14 + 0x18]
mov rax, rcx
add rax, rax
mov rax, qword [r8 + rax*8 + 8]
cmp rax, qword [r14 + 8]
je 0x1400ad3a2
add rcx, rcx
mov r9, qword [r8 + rcx*8]
cmp rdx, qword [rax + 0x10]
je 0x1400ad103
cmp rax, r9
jne 0x1400ad306
mov rax, r13
test rax, rax
je 0x1400ad3a2
cmp rax, qword [r14 + 8]
je 0x1400ad3a2
mov rdi, qword [rax + 0x20]
test rdi, rdi
jne 0x1400ad2e7
mov r14, qword [rax + 0x18]
test r15, r15
je 0x1400ad13c
mov rcx, r15
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400ad16a
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
cmp rcx, rdx
setne dl
movabs r10, 0xed1dae5b305f0370
mov rax, qword [rax + 0x20]
call qword [case.0x140084480.0]
mov qword [rbp - 0x28], r13
mov dword [rsp + 0x20], r13d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, r14
call sub.api_ms_win_crt_private_l1_1_0.dll___RTDynamicCast
mov r14, rax
test rax, rax
je 0x1400ad33d
test rdi, rdi
jne 0x1400ad2fc
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rdi
lea rdx, [0x1404faf10]
lea rcx, [0x1404d1d10]
call sub.api_ms_win_crt_private_l1_1_0.dll__o___std_type_info_name
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rdx, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x68]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
lea rax, str.Could_not_find_a_Counter_with_name__ws_and_type__s
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, str.amcoreWCDSourceCommonincCounter.h
mov edx, 0x43
call fcn.140076770
test rdi, rdi
je 0x1400ad204
mov rcx, rdi
call fcn.14008a1a0
test rsi, rsi
je 0x1400ad211
mov rcx, rsi
call fcn.14008a1a0
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x1400ad23c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jae 0x1400ad350
call fcn.140157b74
call qword [sym.imp.msvcp_win.dll__Query_perf_frequency]
nop dword [rax + rax]
mov rdi, rax
call qword [sym.imp.msvcp_win.dll__Query_perf_counter]
nop dword [rax + rax]
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rcx, rcx, 0x3b9aca00
add rcx, rax
sub rcx, rbx
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lock add qword [r14 + 0x30], r12
mov rax, qword [rsp + 0x48]
lock xadd qword [rax + 0x38], rdx
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x1400ad2f5
call qword [sym.imp.msvcp_win.dll__Query_perf_frequency]
nop dword [rax + rax]
call qword [sym.imp.msvcp_win.dll__Query_perf_counter]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140157600
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lock add dword [rdi + 8], r12d
mov rdi, qword [rax + 0x20]
jmp 0x1400ad123
call fcn.14008a1a0
jmp 0x1400ad2ad
lock add dword [rdi + 8], r12d
jmp 0x1400ad19c
mov rax, qword [rax + 8]
jmp 0x1400ad0f1
mov rax, qword [rcx]
movabs r10, 0xabe9260c5056d270
mov r8, r15
mov rdx, rsi
mov rax, qword [rax + 0x10]
call qword [case.0x140084480.0]
test al, al
mov r12d, 1
cmovne edi, r12d
jmp 0x1400acefd
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
mov r14, qword [rsp + 0x48]
jmp 0x1400ad1a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ad237
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
nop dword [rax + rax]
int3
mov ecx, DispGetParam
call fcn.140157bbc
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
mov qword [0x1404fb2f0], rax
jmp 0x1400acf89
mov r12d, 1
jmp 0x1400acf11
mov rcx, qword [rbp - 0x28]
test rcx, rcx
jne 0x1400ad3b8
call qword [sym.imp.msvcp_win.dll_void___cdecl_std::_Xbad_function_call_void_]
nop dword [rax + rax]
int3
mov rax, qword [rcx]
movabs r10, 0xe5958f5e345a2970
lea rdx, [rsp + 0x70]
mov rax, qword [rax + 0x10]
call qword [case.0x140084480.0]
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.140174d28
mov rdx, qword [rax]
movaps xmm1, xmmword [rsp + 0x70]
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
movq qword [rdx + 0x18], xmm1
psrldq xmm1, 8
mov rcx, qword [rdx + 0x20]
movq qword [rdx + 0x20], xmm1
test rcx, rcx
je 0x1400ad413
call fcn.14008a1a0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400ad422
call fcn.14008a1a0
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.1401104a8
mov rax, qword [rax]
jmp 0x1400ad116