Function at 0x14001a5c0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x14007c040]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov r9, rdx
mov r15, rcx
mov qword [rbp - 0x58], rcx
xor r12d, r12d
mov dword [rsp + 0x38], r12d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], 0xf
mov byte [rcx], r12b
mov dword [rsp + 0x38], 1
movups xmmword [rbp - 0x30], xmm0
mov word [rsp + 0x70], 0x2d9a
xor eax, eax
movups xmmword [rsp + 0x72], xmm0
mov dword [rbp - 0x7e], eax
mov byte [rbp - 0x7a], al
mov qword [rsp + 0x20], r12
mov rax, qword [rsp + 0x20]
movabs r10, 0x993670b8d74c86
nop word [rax + rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x70]
add rcx, r10
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x56
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x70], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x17
jb 0x14001a650
cmp qword [r9 + 0x18], 0xf
jbe 0x14001a6a2
mov r9, qword [r9]
lea rdx, [rsp + 0x70]
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__popen]
mov r14, rax
mov qword [rsp + 0x30], rax
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__pclose]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x70], r14
lea rax, [rbp - 0x38]
mov qword [rbp - 0x68], rax
mov byte [rbp - 0x60], 1
mov ecx, 0x20
call fcn.14006f924
mov rdi, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov rax, qword [rbp - 0x38]
movups xmmword [rdi], xmm0
mov dword [rdi + 8], 1
mov dword [rdi + 0xc], 1
lea rcx, vtable.std::_Ref_count_resource_struct__iobuf____ptr64__int____cdecl___struct__iobuf____ptr64__.0
mov qword [rdi], rcx
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], r14
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], rdi
mov byte [rbp - 0x60], 0
call fcn.140003760
movsx esi, al
call fcn.140003750
movsx ecx, al
imul esi, ecx
call fcn.140003790
movsx ebx, al
lea edx, [rsi + rsi*2]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ebx
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
lea r11d, [rsi + rsi*2]
cmp r8d, eax
je 0x14001a8b7
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r12
test r14, r14
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ebx
add eax, r11d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001a811
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
je 0x14001a811
mov r9d, 7
jmp 0x14001a882
lea ecx, [rsi + rbx]
movsx r8d, byte [reloc.OLEAUT32.dll_VariantCopy]
lea eax, [rcx + rsi*4]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001a87d
lea ecx, [rsi + rbx]
movsx r8d, byte [reloc.OLEAUT32.dll_VariantCopy]
lea eax, [rcx + rsi*8]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r9d, xmm0
jmp 0x14001a882
mov r9d, dword [rsp + 0x20]
imul eax, esi, 7
movsx r8d, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ebx
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
imul r8d, r9d
test r8d, r8d
jne 0x14001ada4
mov r13d, ebx
lea eax, [r11 + rbx]
mov dword [rsp + 0x20], eax
mov r14, 0xffffffffffffffff
mov r12d, dword [rsp + 0x20]
mov rdi, qword [rsp + 0x30]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14001a964
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14001a964
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0xdfc67779
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x14001a95f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x14001a940
cmp edx, 0x37b297f4
je 0x14001a969
test r9d, r9d
jne 0x14001a920
mov rax, qword [rax]
jmp 0x14001a8f0
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov r8, rdi
mov edx, 0x80
lea rcx, [rbp - 0x20]
call rax
mov r9, rax
mov dword [rsp + 0x40], 0x63646566
mov dword [rsp + 0x44], 0x6f606162
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rax
xor r10d, r10d
mov qword [rsp + 0x28], r10
mov rax, qword [rsp + 0x28]
movabs rdi, 0x376371978df08c31
nop word [rax + rax]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
movzx edx, byte [rsp + rax + 0x40]
add rcx, rdi
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x57
mov rax, qword [rsp + 0x28]
mov byte [rsp + rax + 0x40], r8b
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp rax, 0x20
jb 0x14001a9d0
mov rdi, qword [rsp + 0x30]
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r10
cmp r9, qword [rsp + 0x40]
setne al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x28], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
mov ebx, dword [rsp + 0x20]
add eax, ebx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001aac3
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
je 0x14001aac3
mov r12d, 7
jmp 0x14001ab2f
lea ecx, [rsi + r13]
movsx r8d, byte [reloc.OLEAUT32.dll_VariantCopy]
lea eax, [rcx + rsi*4]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001ab2f
lea ecx, [rsi + r13]
movsx r8d, byte [reloc.OLEAUT32.dll_VariantCopy]
lea eax, [rcx + rsi*8]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x28]
cvttsd2si r12d, xmm0
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ebx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
imul r8d, r12d
test r8d, r8d
je 0x14001ab7a
lea rax, [rbp - 0x20]
mov r8, r14
inc r8
cmp byte [rax + r8], r10b
jne 0x14001ab60
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.140002020
jmp 0x14001a8d3
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
call fcn.140003790
movsx ecx, al
lea r8d, [rcx + rdx*4]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
mov eax, r8d
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14007c0dc]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*2]
call fcn.140003790
movsx ecx, al
add r8d, ecx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
mov rdi, qword [rsp + 0x60]
je 0x14001ac79
call fcn.140003770
movsx edx, al
movsx eax, byte [0x14007d2e0]
imul edx, eax
shl edx, 3
call fcn.1400037a0
movsx ecx, al
sub edx, ecx
call fcn.140003780
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x14007c0dc]
add ecx, edx
jne 0x14001ad23
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*4]
call fcn.140003790
movsx ecx, al
add r8d, ecx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
cmp r8d, eax
je 0x14001ad1a
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r8d, [rdx + rdx*8]
call fcn.140003790
movsx ecx, al
add r8d, ecx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r8d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
mov r8d, eax
movsx eax, byte [0x14007c0db]
sub r8d, eax
mov eax, r8d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x14001ad1e
mov eax, dword [rsp + 0x20]
cmp r10d, eax
jge 0x14001ad52
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14001ad4d
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx]
lock xadd dword [rdi + 0xc], r14d
cmp r14d, 1
jne 0x14001ad4d
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
mov rax, r15
jmp 0x14001ad7d
mov eax, r14d
lock xadd dword [rdi + 8], eax
sub eax, 1
jne 0x14001ad7d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], r14d
cmp r14d, 1
jne 0x14001ad7d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.14006f780
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, [0x140073888]
lea rcx, [rbp - 0x50]
call fcn.1400014f0
lea rdx, [0x140078b10]
lea rcx, [rbp - 0x50]
call sub.VCRUNTIME140.dll__CxxThrowException
int3