Function at 0x418a04
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
mov esi, ecx
push edi
lea eax, [esi + 0x58]
push eax
lea eax, [esi + 0x4c]
push eax
push 2
call fcn.00418e00
lea eax, [esi + 0x70]
mov ecx, esi
push eax
lea eax, [esi + 0x64]
push eax
push 7
call fcn.00418e00
lea eax, [esi + 0x88]
mov ecx, esi
push eax
lea eax, [esi + 0x7c]
push eax
push 0x10
call fcn.00418e00
xor ebx, ebx
lea eax, [esi + 0x94]
push ebx
push eax
push 0x14
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0x40]
mov ecx, esi
push eax
lea eax, [esi + 0x34]
push eax
push 0xb
call fcn.00418e00
cmp dword [0x48261c], ebx
lea eax, [esi + 0xac]
push ebx
push eax
je 0x418aae
push 0x17
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0xb8]
push ebx
push eax
push 0x18
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0xc4]
push ebx
push eax
push 0x19
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0xa0]
push ebx
push eax
push 0x16
jmp 0x418ae3
push 2
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0xb8]
push ebx
push eax
push 7
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0xc4]
push ebx
push eax
push 0x10
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0xa0]
push ebx
push eax
push 0xb
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0x118]
push ebx
push eax
push 5
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0x164]
push ebx
push eax
push 0x23
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0x17c]
push ebx
push eax
push 0x1c
mov ecx, esi
call fcn.00418e00
lea eax, [esi + 0x170]
push ebx
push eax
push 0x1a
mov ecx, esi
call fcn.00418e00
lea eax, [ebp - 0xc]
mov edi, 0x80000002
push eax
push str.ProgramFilesDir
push str.SoftwareMicrosoftWindowsCurrentVersion
push edi
call fcn.00420dd8
add esp, 0x10
test eax, eax
jle 0x418b6b
lea eax, [esi + 0x28]
mov ecx, esi
push eax
lea eax, [esi + 0x1c]
push eax
push dword [ebp - 0xc]
call fcn.0041898f
push dword [ebp - 0xc]
call fcn.00428bce
pop ecx
jmp 0x418b85
push str.C:Program_Files
lea ecx, [esi + 0x1c]
call fcn.0041f0d8
lea ecx, [esi + 0x28]
push str.C:Progra1
call fcn.0041f0d8
lea eax, [ebp - 0xc]
push eax
push str.CommonFilesDir
push str.SoftwareMicrosoftWindowsCurrentVersion
push edi
call fcn.00420dd8
add esp, 0x10
test eax, eax
jle 0x418bc3
lea eax, [esi + 0xdc]
mov ecx, esi
push eax
lea eax, [esi + 0xd0]
push eax
push dword [ebp - 0xc]
call fcn.0041898f
push dword [ebp - 0xc]
call fcn.00428bce
pop ecx
jmp 0x418be0
push str.C:Program_FilesCommon_Files
lea ecx, [esi + 0xd0]
call fcn.0041f0d8
push str.C:Progra1Common1
lea ecx, [esi + 0x28]
call fcn.0041f0d8
mov edi, 0x104
push edi
call fcn.00428bd9
cmp eax, ebx
pop ecx
mov dword [ebp - 8], eax
jne 0x418c04
mov ecx, 0x482e04
call fcn.0041ff07
push eax
call fcn.00420bbf
pop ecx
push edi
push ebx
push dword [ebp - 8]
call fcn.00428300
push edi
push dword [ebp - 8]
call fcn.00421921
add esp, 0x14
lea eax, [esi + 0x10]
mov ecx, esi
push eax
lea eax, [esi + 4]
push eax
push dword [ebp - 8]
call fcn.0041898f
push ebx
lea eax, [esi + 0x158]
push ebx
push eax
call fcn.004233f5
push edi
push ebx
push dword [ebp - 8]
call fcn.00428300
add esp, 0x18
push edi
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [esi + 0xf4]
lea eax, [esi + 0xe8]
push ecx
push eax
push dword [ebp - 8]
mov ecx, esi
call fcn.0041898f
push edi
push ebx
push dword [ebp - 8]
call fcn.00428300
add esp, 0xc
push dword [ebp - 8]
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esi + 0x10c]
mov ecx, esi
push eax
lea eax, [esi + 0x100]
push eax
push dword [ebp - 8]
call fcn.0041898f
push dword [ebp - 8]
call fcn.00428bce
pop ecx
push ebx
lea ecx, [esi + 0xe8]
call fcn.0041f1a9
mov byte [ebp - 4], al
lea eax, [ebp - 4]
push eax
lea ecx, [esi + 0x130]
mov byte [ebp - 3], 0x3a
mov byte [ebp - 2], bl
call fcn.0041f0d8
mov edi, dword [sym.imp.KERNEL32.dll_GetDateFormatA]
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x800
call edi
push eax
lea eax, [ebp - 0x30]
push eax
push ebx
push ebx
push ebx
push 0x800
call edi
lea eax, [ebp - 0x30]
push eax
lea ecx, [esi + 0x13c]
call fcn.0041f0d8
push 0x58
call fcn.00428bd9
cmp eax, ebx
pop ecx
je 0x418d0d
mov ecx, eax
call fcn.00409c59
mov esi, eax
jmp 0x418d0f
xor esi, esi
cmp esi, ebx
jne 0x418d24
mov ecx, 0x482e04
call fcn.0041ff07
push eax
call fcn.00420bbf
pop ecx
push str._DS2000_
mov ecx, esi
call fcn.0041f0d8
or dword [esi + 0x10], 0xffffffff
push 0x7d0
mov dword [esi + 0x44], ebx
mov dword [esi + 0xc], 1
call fcn.00421238
push 0x3c
xor edx, edx
pop ecx
div ecx
push 0x18
xor edx, edx
pop ecx
push 0xa
div ecx
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov dword [esi + 0x54], eax
call fcn.0042b969
add esp, 0x10
lea eax, [ebp - 0x1c]
lea ecx, [esi + 0x48]
push eax
call fcn.0041f0d8
mov edi, 0x482980
push 0xffffffffffffffff
push esi
mov ecx, edi
call fcn.00422019
push 0x58
call fcn.00428bd9
cmp eax, ebx
pop ecx
je 0x418d9a
mov ecx, eax
call fcn.00409c59
mov esi, eax
jmp 0x418d9c
xor esi, esi
cmp esi, ebx
jne 0x418db1
mov ecx, 0x482e04
call fcn.0041ff07
push eax
call fcn.00420bbf
pop ecx
push str._IsAdmin_
mov ecx, esi
call fcn.0041f0d8
or dword [esi + 0x10], 0xffffffff
mov dword [esi + 0x44], ebx
mov dword [esi + 0xc], 1
call fcn.004216e6
movzx eax, al
lea ecx, [ebp - 0x1c]
push 0xa
push ecx
push eax
mov dword [esi + 0x54], eax
call fcn.0042b969
add esp, 0xc
lea eax, [ebp - 0x1c]
lea ecx, [esi + 0x48]
push eax
call fcn.0041f0d8
push 0xffffffffffffffff
push esi
mov ecx, edi
call fcn.00422019
pop edi
pop esi
pop ebx
leave
ret