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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
mov r9, qword [rdi + 0x30]
xor r15d, r15d
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14001f2a8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14001f2a8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xd9527cb4
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14001f2a3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14001f280
cmp edx, 0xecf39c1a
je 0x14001f4f6
test r8d, r8d
jne 0x14001f260
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14001f2bd
cmp qword [rax + 0x30], r15
jne 0x14001f232
mov rax, r15
xor ecx, ecx
call rax
xor eax, eax
mov dword [rbp - 0x30], 0xf8f8fceb
mov qword [rbp - 0xf], rax
xorps xmm0, xmm0
mov word [rbp - 7], ax
movabs r9, 0xa264a06f5b2dbf33
movups xmmword [rbp - 0x1f], xmm0
mov dword [rbp - 0x2c], 0xeeeaece8
mov dword [rbp - 0x28], 0xe6f3b9e0
mov dword [rbp - 0x24], 0x969695ba
mov byte [rbp - 0x20], 0x26
mov qword [rbp + 0x20], r15
mov rax, qword [rbp + 0x20]
nop word [rax + rax]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x20]
add rcx, r9
movzx edx, byte [rbp + rax - 0x30]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rbp + 0x20]
add r8, rcx
add r8, rdx
sub r8b, 0x65
mov byte [rbp + rax - 0x30], r8b
mov rax, qword [rbp + 0x20]
inc rax
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
cmp rax, 0x2b
jb 0x14001f310
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop dword [rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x14001f3e8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x14001f3e8
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x61c8ab70
lea rax, [r11 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14001f3e3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14001f3c0
cmp edx, 0x5f87a138
je 0x14001f512
test r8d, r8d
jne 0x14001f3a0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x14001f3fd
cmp qword [rax + 0x30], r15
jne 0x14001f370
mov rax, r15
lea rcx, [rbp - 0x30]
call rax
call fcn.140003760
movsx esi, al
call fcn.140003750
movsx r14d, al
mov ebx, r14d
imul ebx, esi
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx edi, al
add ecx, edi
lea eax, [rcx + rbx*4]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001f6df
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r15
lea r11d, [rdi + rbx*2]
test eax, eax
xorps xmm2, xmm2
movsx eax, byte [0x14007c0da]
setne cl
add r11d, ebx
xor edx, edx
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtsi2sd xmm2, rcx
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp + 0x20], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r11d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001f52e
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 0x14001f52e
mov r9d, 7
jmp 0x14001f58e
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x14001f2c0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x14001f400
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rbx + rdi]
lea ecx, [rcx + rbx*4]
xor edx, edx
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001f58a
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rbx + rdi]
lea ecx, [rcx + rbx*8]
xor edx, edx
add eax, ecx
xorps xmm0, xmm0
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x20]
cvttsd2si r9d, xmm0
jmp 0x14001f58e
mov r9d, dword [rbp + 0x20]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea r10d, [rdi + rbx*8]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add r10d, ebx
add eax, r10d
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14001f6df
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea edx, [rbx + rbx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, edi
xorps xmm2, xmm2
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
xor edx, edx
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp + 0x20], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r11d
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001f66d
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 0x14001f6d8
call fcn.140003790
movsx eax, al
mov edx, esi
imul edx, r14d
lea ecx, [rdx + rdx*4]
xor edx, edx
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001f6d0
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
add eax, r10d
div ecx
movsx ecx, byte [0x14007c0db]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14001f6d3
mov eax, dword [rbp + 0x20]
cmp r15d, eax
jge 0x14001f6df
mov al, 1
jmp 0x14001f86a
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140003790
movsx ecx, al
xorps xmm2, xmm2
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
xor edx, edx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14007c0da]
movd xmm1, eax
movsx eax, byte [0x14007c0dc]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp + 0x20], xmm1
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001f7cd
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 0x14001f868
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x14001f860
call fcn.140003760
movsx edx, al
call fcn.140003750
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140003790
movsx ecx, byte [reloc.OLEAUT32.dll_VariantCopy]
xor edx, edx
movsx eax, al
xorps xmm0, xmm0
add eax, r9d
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0x20]
cvttsd2si eax, xmm0
jmp 0x14001f863
mov eax, dword [rbp + 0x20]
cmp r15d, eax
jge 0x14001f86a
xor al, al
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret