Function at 0x10096e60
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
push ebp
lea ebp, [esp - 0xa2c]
sub esp, 0xa2c
push 0xfffffffffffffffe
push 0x101845b0
push 0x10132540
mov eax, dword fs:[0]
push eax
sub esp, 0x10
mov eax, dword [0x10189710]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0xa28], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
mov byte [ebp + 0x820], bl
push 0x207
push ebx
lea eax, [ebp + 0x821]
push eax
call fcn.1012e060
mov byte [ebp + 0x410], bl
push 0x207
push ebx
lea ecx, [ebp + 0x411]
push ecx
call fcn.1012e060
mov byte [ebp + 0x208], bl
push 0x207
push ebx
lea edx, [ebp + 0x209]
push edx
call fcn.1012e060
mov byte [ebp + 0x618], bl
push 0x207
push ebx
lea eax, [ebp + 0x619]
push eax
call fcn.1012e060
mov byte [ebp], bl
push 0x207
push ebx
lea ecx, [ebp + 1]
push ecx
call fcn.1012e060
mov dword [0x101b86f4], ebx
push 0x208
lea edx, [ebp + 0x618]
push edx
push 0x1014d5e3
mov edx, str.InstallDirectory
mov ecx, str.eScan
call fcn.1005ffb0
add esp, 0x48
cmp byte [ebp + 0x618], bl
jne 0x10096f5d
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x1009714d
lea ecx, [ebp + 0x618]
call fcn.10065200
lea eax, [ebp + 0x618]
push eax
push str._sVistaMonInter.dll
lea ecx, [ebp + 0x410]
push ecx
call fcn.10127dc0
add esp, 0xc
cmp byte [ebp + 0x410], bl
je 0x10097138
lea ecx, [ebp + 0x410]
call fcn.10060bf0
cmp eax, 1
jne 0x10097138
mov dword [ebp - 0x20], ebx
lea edx, [ebp - 0x20]
push edx
push str.NWSwiftScan
mov ecx, str.SoftwareMicroWorldeScan_For_WindowsMwMonitor
mov edx, reloc.WS2_32.dll_bind
call fcn.10059e30
cmp dword [ebp - 0x20], ebx
je 0x10096f4f
lea eax, [ebp + 0x410]
push eax
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call edi
mov dword [0x101b87fc], eax
cmp eax, ebx
je 0x10096f4f
push str.MSI_ReloadMwMon
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call esi
mov dword [0x101a768c], eax
cmp eax, ebx
je 0x10097138
push 0x208
lea ecx, [ebp + 0x820]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
cmp byte [ebp + 0x820], bl
je 0x10097138
lea ecx, [ebp + 0x820]
call fcn.10065200
lea edx, [ebp + 0x820]
push edx
push str._sMpr.dll
lea eax, [ebp + 0x208]
push eax
call fcn.10127dc0
lea ecx, [ebp + 0x820]
push ecx
push str._sUser32.dll
lea edx, [ebp]
push edx
call fcn.10127dc0
add esp, 0x18
cmp byte [ebp + 0x208], bl
je 0x10097138
lea ecx, [ebp + 0x208]
call fcn.10060bf0
cmp eax, 1
jne 0x10097138
lea eax, [ebp + 0x208]
push eax
call edi
mov dword [0x101b9020], eax
cmp eax, ebx
je 0x10097138
push str.WNetOpenEnumA
push eax
call esi
mov dword [0x101a7690], eax
push str.WNetCloseEnum
mov ecx, dword [0x101b9020]
push ecx
call esi
mov dword [0x101a7688], eax
push str.WNetEnumResourceA
mov edx, dword [0x101b9020]
push edx
call esi
mov dword [0x101a7680], eax
cmp dword [0x101a7690], ebx
je 0x10097138
cmp dword [0x101a7688], ebx
je 0x10097138
cmp eax, ebx
je 0x10097138
cmp byte [ebp], bl
je 0x10097138
lea ecx, [ebp]
call fcn.10060bf0
cmp eax, 1
jne 0x10097138
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x101b9024], eax
cmp eax, ebx
je 0x10097138
push str.RegisterDeviceNotificationA
push eax
call esi
mov dword [0x101a7684], eax
cmp eax, ebx
je 0x10097138
call fcn.100972b0
test eax, eax
je 0x10097116
call dword [0x101a768c]
mov dword [ebp - 0x1c], 1
jmp 0x10097138
mov dword [ebp - 4], 0xfffffffe
mov esi, dword [ebp - 0x1c]
cmp esi, ebx
jne 0x1009714b
call fcn.10096dc0
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xa28]
xor ecx, ebp
call fcn.10127db1
add ebp, 0xa2c
mov esp, ebp
pop ebp
ret