Function at 0x140003b70
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 - 0x27]
sub rsp, 0x100
mov r12, rdx
mov qword [rsp + 0x40], rdx
mov r15, rcx
mov qword [rbp - 0x79], rcx
mov qword [rbp + 0x17], rcx
xor ebx, ebx
mov dword [rsp + 0x48], ebx
call fcn.140003760
movsx ecx, al
mov dword [rsp + 0x50], ecx
call fcn.140003750
movsx eax, al
mov dword [rsp + 0x4c], eax
mov r13d, eax
imul r13d, ecx
call fcn.140003790
movsx r11d, al
mov dword [rsp + 0x54], r11d
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r11d
lea eax, [rax + r13*4]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
je 0x140004284
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 ecx, ebx
mov eax, dword [0x14007d2c0]
cmp dword [0x14007d2c4], eax
setg cl
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
lea ecx, [r11 + r13*2]
add ecx, r13d
mov dword [rsp + 0x58], ecx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140003cb2
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 0x140003cb2
lea r9d, [rbx + 7]
lea r10d, [r13*4]
add r10d, r13d
jmp 0x140003d1f
lea r10d, [r13*4]
add r10d, r13d
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, r11d
add eax, r10d
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140003d1a
lea ecx, [r11 + r13]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + r13*8]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r9d, xmm0
jmp 0x140003d1f
mov r9d, dword [rsp + 0x38]
lea ecx, [r11 + r10]
mov dword [rsp + 0x38], ecx
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140004284
mov dword [rbp - 0x49], 0x63646566
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x45], xmm0
mov qword [rbp - 0x35], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x30]
movabs r9, 0x471e7ded2f31
nop dword [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rbp + rax - 0x49]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x57
mov rax, qword [rsp + 0x30]
mov byte [rbp + rax - 0x49], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x1c
jb 0x140003d80
mov r14, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x140003dd7
mov r14, qword [r12]
mov dword [rbp - 0x29], 0xb0a0d0c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x25], xmm0
mov word [rbp - 0x15], ax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x30]
movabs r9, 0xdf681202fb5216aa
nop
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rbp + rax - 0x29]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x5a
mov rax, qword [rsp + 0x30]
mov byte [rbp + rax - 0x29], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x16
jb 0x140003e00
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140003ed7
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140003ed7
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0xc9d0ae21
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140003ed2
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140003eb0
cmp edx, 0x6bcded4e
je 0x14000423b
test r8d, r8d
jne 0x140003e90
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x140003eed
cmp qword [rax + 0x30], 0
jne 0x140003e60
xor ebx, ebx
mov r10d, ebx
mov eax, dword [rbp - 0x49]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, dword [r12 + 0x10]
mov r8, r14
mov edx, dword [rbp - 0x29]
mov ecx, 0xfde9
call r10
movsxd r12, eax
mov dword [rbp - 0x69], 0x93909196
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x65], xmm0
mov qword [rbp - 0x55], rax
mov dword [rbp - 0x4d], eax
mov qword [rsp + 0x30], rbx
mov rcx, qword [rsp + 0x30]
cmp rcx, 0x20
jae 0x140003f98
movabs r9, 0xd374d9a0129cd143
nop word [rax + rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rbp + rax - 0x69]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x2b
mov rax, qword [rsp + 0x30]
mov byte [rbp + rax - 0x69], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x20
jb 0x140003f50
xorps xmm0, xmm0
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], rbx
mov r8, r12
movzx edx, word [rbp - 0x69]
mov rcx, r15
call fcn.14005e700
mov dword [rsp + 0x48], 1
mov rax, qword [rbp - 0x79]
cmp qword [rax + 0x18], 7
jbe 0x140003fcc
mov r15, qword [rax]
mov rax, qword [rsp + 0x40]
mov r14, rax
cmp qword [rax + 0x18], 0xf
jbe 0x140003fde
mov r14, qword [rax]
mov dword [rbp - 9], 0xbbb8b9b6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 5], xmm0
mov word [rbp + 0xb], ax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x30]
cmp rax, 0x16
jae 0x140004057
movabs r9, 0xdfe004e4bd4a76b7
nop dword [rax]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movzx edx, byte [rbp + rax - 9]
add rcx, r9
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
dec r8b
mov rax, qword [rsp + 0x30]
mov byte [rbp + rax - 9], r8b
mov rax, qword [rsp + 0x30]
inc rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp rax, 0x16
jb 0x140004010
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1400040e7
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400040e7
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + r11]
add rcx, r9
mov edx, 0xa8b2b28c
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400040e2
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x1400040c0
cmp edx, 0x1ad93131
je 0x14000425a
test r8d, r8d
jne 0x1400040a0
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x1400040fd
cmp qword [rax + 0x30], 0
jne 0x140004070
xor ebx, ebx
mov eax, ebx
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r15
mov r9, qword [rsp + 0x40]
mov r9d, dword [r9 + 0x10]
mov r8, r14
mov edx, dword [rbp - 9]
mov ecx, 0xfde9
call rax
mov edx, dword [rsp + 0x4c]
imul edx, dword [rsp + 0x50]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
mov r9d, dword [rsp + 0x54]
add eax, r9d
lea eax, [rax + rdx*8]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
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 + 0x40], xmm1
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, dword [rsp + 0x58]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x1400041e1
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 0x140004280
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
add eax, dword [rsp + 0x38]
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
cmp eax, ecx
je 0x140004278
lea ecx, [r9 + r13]
movsx eax, byte [reloc.OLEAUT32.dll_VariantCopy]
lea ecx, [rcx + r13*8]
add eax, ecx
movsx ecx, byte [reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
div ecx
movsx ecx, byte [0x14007c0db]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si eax, xmm0
jmp 0x14000427c
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r10d, dword [rcx + rax*4]
add r10, r9
xor ebx, ebx
jmp 0x140003ef2
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
xor ebx, ebx
jmp 0x140004101
mov eax, dword [rsp + 0x38]
cmp ebx, eax
jge 0x140004284
mov rax, qword [rbp - 0x79]
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret