Function at 0x46a7b3
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x4a1d78]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 0xdc], ecx
xor eax, eax
lea edi, [ebp - 0xd4]
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
stosd dword es:[edi], eax
mov dword [ebx], 0x74
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xd4]
mov edi, ecx
push eax
push 0x40ec60
push edi
mov esi, dword [edi]
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46a83c
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
cmp dword [ebp - 0xc0], 0
je 0x46a83c
or dword [ebx + 4], 1
xor eax, eax
cmp dword [ebp - 0xc0], 2
sete al
or dword [ebx + 8], eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xd4]
push eax
push 0x40ec10
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46a89c
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
cmp dword [ebp - 0xc0], 0
je 0x46a89c
or dword [ebx + 4], 2
cmp dword [ebp - 0xc0], 2
jne 0x46a897
push 2
pop eax
jmp 0x46a899
xor eax, eax
or dword [ebx + 8], eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xd4]
push eax
push 0x40ee08
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46a8f9
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
cmp dword [ebp - 0xc0], 0
je 0x46a8f9
push 4
pop eax
or dword [ebx + 4], eax
cmp dword [ebp - 0xc0], 2
je 0x46a8f6
xor eax, eax
or dword [ebx + 8], eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xd4]
push eax
push 0x40ec24
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46a956
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
cmp dword [ebp - 0xc0], 0
je 0x46a956
push 8
pop eax
or dword [ebx + 4], eax
cmp dword [ebp - 0xc0], 2
je 0x46a953
xor eax, eax
or dword [ebx + 8], eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xd4]
push eax
push 0x40eaac
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46a9c1
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
mov ecx, dword [ebp - 0xc0]
test ecx, ecx
je 0x46a9c1
or dword [ebx + 4], 0x30000
cmp ecx, 1
je 0x46a9c1
xor eax, eax
cmp ecx, 2
mov ecx, 0x10000
setne al
dec eax
and eax, ecx
add eax, ecx
or dword [ebx + 8], eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xd4]
push eax
push 0x40e998
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46aa78
push 0x20
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToString]
push 0x40efc8
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x46aa78
lea eax, [ebp - 0x4c]
push eax
push 0x20
lea ecx, [ebx + 0x1a]
pop edx
call fcn.004158fd
or dword [ebx + 4], 0x20000000
lea eax, [ebp - 0xbc]
push 0x5c
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xa0]
push eax
push 0x20
pop edx
call fcn.004158fd
lea ecx, [ebp - 0xbc]
mov byte [ebp - 0xa5], 1
call fcn.0046a77b
mov al, byte [ebp - 0xa5]
cmp al, 1
je 0x46aa78
or dword [ebx + 4], 0x8000000
mov byte [ebx + 0x18], al
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xd4]
push eax
push 0x40ede4
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46ab02
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
lea esi, [ebp - 0xd4]
lea edi, [ebp - 0x5c]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x5c]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.OLEAUT32.dll_VarDateFromI1]
fldz
fld qword [ebp - 0xf4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x46ab00
fmul qword [0x413168]
or dword [ebx + 4], 0x80000000
call sub.msvcrt.dll__ftol2_sse
mov dword [ebx + 0xc], eax
jmp 0x46ab02
fstp st(0)
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
xor eax, eax
lea edi, [ebp - 0xec]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0xd4]
mov edi, dword [ebp - 0xdc]
push eax
push 0x40eca8
push edi
mov esi, dword [edi]
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
mov esi, 0x40000000
test eax, eax
js 0x46ab68
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
cmp dword [ebp - 0xc0], 1
jne 0x46ab68
or dword [ebx + 4], esi
or dword [ebx + 8], esi
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xec]
push eax
push 0x40eaf8
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46abb8
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xec]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
mov eax, dword [ebp - 0xd8]
or dword [ebx + 4], 0x40000000
mov dword [ebx + 0x14], eax
lea eax, [ebp - 0xec]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xd4]
push eax
push 0x40ed28
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
mov esi, 0x4000000
test eax, eax
js 0x46ac0c
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
cmp dword [ebp - 0xc0], 0
jne 0x46ac0c
or dword [ebx + 4], esi
or dword [ebx + 8], esi
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov esi, dword [edi]
lea eax, [ebp - 0xec]
push eax
push 0x40ec38
push edi
mov ecx, dword [esi + 0x14]
call dword [0x4a60bc]
call dword [esi + 0x14]
test eax, eax
js 0x46ac5c
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0xec]
push eax
call dword [sym.imp.PROPSYS.dll_PropVariantToUInt32]
mov eax, dword [ebp - 0xd8]
or dword [ebx + 4], 0x4000000
mov dword [ebx + 0x60], eax
lea eax, [ebp - 0xec]
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_1.dll_PropVariantClear]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048e170
mov esp, ebp
pop ebp
ret 4