Function at 0x10084bf0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x818
mov eax, dword [0x100ff900]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x101326e4], 0
je 0x10084c1c
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c5f50
mov esp, ebp
pop ebp
ret
push esi
xor esi, esi
cmp byte [ebp + 8], 0
push edi
mov dword [0x101326c4], esi
mov dword [0x101326c8], esi
mov dword [0x101326cc], esi
mov dword [0x101326d0], esi
mov dword [0x101326d4], esi
mov dword [0x101326d8], esi
mov dword [0x101326dc], esi
mov dword [0x101326e0], esi
mov dword [0x101326f4], esi
jne 0x10084ca1
call fcn.100834f0
test eax, eax
jne 0x10084ca1
mov ecx, 0x10083980
mov dword [0x101326e8], ecx
mov dword [0x101326ec], 0x100839a0
call ecx
shr eax, 8
cmp al, 1
jne 0x10084f16
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
mov dword [ebp - 0x814], esi
mov dword [ebp - 0x818], esi
xor ebx, ebx
jmp 0x10084e08
lea eax, [ebp - 0x804]
push str.wnaspi32.dll
push eax
mov dword [0x101326c4], esi
mov dword [0x101326c8], esi
mov dword [0x101326cc], esi
mov dword [0x101326d0], esi
mov dword [0x101326d4], esi
mov dword [0x101326d8], esi
mov dword [0x101326dc], esi
mov dword [0x101326e0], esi
mov dword [0x101326f4], esi
call fcn.10076b80
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add esp, 8
lea ecx, [ebp - 0x804]
push ecx
call edi
mov dword [0x101326f0], eax
cmp eax, esi
jne 0x10084d99
push 0x7ff
lea edx, [ebp - 0x804]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x804]
push 0x100e3974
push eax
call fcn.10076bd0
lea ecx, [ebp - 0x804]
push str.wnaspi32.dll
push ecx
call fcn.10076bd0
add esp, 0x10
lea edx, [ebp - 0x804]
push edx
call edi
mov dword [0x101326f0], eax
cmp eax, esi
jne 0x10084d99
push 0x7ff
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x804]
push 0x100e3974
push ecx
call fcn.10076bd0
lea edx, [ebp - 0x804]
push str.wnaspi32.dll
push edx
call fcn.10076bd0
add esp, 0x10
lea eax, [ebp - 0x804]
push eax
call edi
mov dword [0x101326f0], eax
cmp eax, esi
je 0x10084dd1
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetASPI32SupportInfo
push eax
call edi
mov ecx, dword [0x101326f0]
push str.SendASPI32Command
push ecx
mov dword [0x101326e8], eax
call edi
mov ecx, dword [0x101326e8]
mov dword [0x101326ec], eax
cmp ecx, esi
je 0x10084dd1
cmp eax, esi
jne 0x10084c7a
call fcn.100844b0
pop edi
mov eax, 3
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c5f50
mov esp, ebp
pop ebp
ret
xor esi, esi
mov dword [ebp - 0x818], esi
xor ebx, ebx
jmp 0x10084e08
xor esi, esi
xor ebx, ebx
jmp 0x10084e08
xor esi, esi
mov dl, byte [ebp - 0x814]
xor eax, eax
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x80c], eax
mov al, byte [ebp - 0x818]
lea ecx, [ebp - 0x810]
push ecx
mov byte [ebp - 0x810], 1
mov byte [ebp - 0x80e], dl
mov byte [ebp - 0x808], al
mov byte [ebp - 0x807], bl
call dword [0x101326ec]
add esp, 4
call edi
cmp byte [ebp - 0x80f], 0
mov esi, eax
jne 0x10084e7e
mov edi, edi
call edi
sub eax, esi
cmp eax, 0x2710
jae 0x10084e7e
push 1
call fcn.10085210
add esp, 4
cmp byte [ebp - 0x80f], 0
je 0x10084e60
mov al, byte [ebp - 0x806]
cmp al, 5
je 0x10084e8c
cmp al, 4
jne 0x10084ea3
mov edx, dword [ebp - 0x818]
mov eax, dword [ebp - 0x814]
push ebx
push edx
push eax
call fcn.10084200
add esp, 0xc
inc ebx
cmp ebx, 8
jl 0x10084e06
mov eax, dword [ebp - 0x818]
inc eax
mov dword [ebp - 0x818], eax
cmp eax, 0xc
jl 0x10084e00
mov eax, dword [ebp - 0x814]
inc eax
mov dword [ebp - 0x814], eax
cmp eax, 0x10
jl 0x10084df0
cmp dword [0x101326f4], 1
pop ebx
jge 0x10084efd
call fcn.100844b0
pop edi
mov eax, 7
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c5f50
mov esp, ebp
pop ebp
ret
pop edi
mov byte [0x101326e4], 1
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c5f50
mov esp, ebp
pop ebp
ret
call fcn.100844b0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov eax, 4
pop esi
call fcn.100c5f50
mov esp, ebp
pop ebp
ret