Function at 0x454154
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcd8
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x31c], edx
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x308], edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x454646
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, 0x45465c
call fcn.00403ee4
lea edx, [ebp - 4]
mov ecx, 5
mov eax, dword [0x458cd8]
call fcn.004043f4
lea edx, [ebp - 4]
mov ecx, 0x2b
mov eax, 0x454688
call fcn.004043f4
push dword [ebp - 4]
push 0x454694
push 0x4546bc
push 0x4546e8
push dword [0x458cd8]
push 0x454688
lea eax, [ebp - 0x308]
mov edx, 6
call fcn.004041cc
mov edx, dword [ebp - 0x308]
mov eax, dword [ebx + 0x310]
call fcn.00432b30
push 0x104
push 0x458bd8
call sub.kernel32.dll_GetSystemDirectoryA
movzx eax, ax
cmp byte [eax + 0x458bd7], 0x5c
je 0x454243
push 0x4546f8
push 0x458bd8
call sub.kernel32.dll_lstrcatA
push 0x458bd8
lea eax, [ebp - 0x104]
push eax
call sub.kernel32.dll_lstrcpyA
push pe_nt_image_headers32
lea eax, [ebp - 0x304]
push eax
push 0x12c
mov eax, dword [0x458664]
push eax
call sub.user32.dll_LoadStringA_1
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [ebp - 0x30c]
lea edx, [ebp - 0x104]
mov ecx, pe_nt_image_headers32
call fcn.004040bc
mov ecx, dword [ebp - 0x30c]
mov edx, 0x454704
mov eax, 0x454714
call fcn.004539e8
test al, al
jne 0x454308
lea edx, [ebp - 0x310]
mov esi, dword [ebx + 0x310]
mov eax, esi
call fcn.00432b00
lea eax, [ebp - 0x310]
mov edx, 0x454724
call fcn.00404114
mov edx, dword [ebp - 0x310]
mov eax, esi
call fcn.00432b30
mov eax, dword [ebx + 0x324]
mov edx, dword [eax + 0x40]
mov eax, dword [ebx + 0x320]
call fcn.00432270
xor edx, edx
mov eax, dword [ebx + 0x324]
call fcn.00432a20
jmp 0x4545df
push dword [ebp - 4]
push 0x454694
push 0x454780
push 0x4546e8
push dword [0x458cd8]
push 0x454688
lea eax, [ebp - 0x314]
mov edx, 6
call fcn.004041cc
mov edx, dword [ebp - 0x314]
mov eax, dword [ebx + 0x310]
call fcn.00432b30
push 0x458bd8
lea eax, [ebp - 0x104]
push eax
call sub.kernel32.dll_lstrcpyA
push pe_nt_image_headers32
lea eax, [ebp - 0x304]
push eax
push 0x190
mov eax, dword [0x458664]
push eax
call sub.user32.dll_LoadStringA_1
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [ebp - 0x318]
lea edx, [ebp - 0x104]
mov ecx, pe_nt_image_headers32
call fcn.004040bc
mov ecx, dword [ebp - 0x318]
mov edx, 0x4547ac
mov eax, 0x454714
call fcn.004539e8
test al, al
jne 0x45440b
lea edx, [ebp - 0x31c]
mov esi, dword [ebx + 0x310]
mov eax, esi
call fcn.00432b00
lea eax, [ebp - 0x31c]
mov edx, 0x4547bc
call fcn.00404114
mov edx, dword [ebp - 0x31c]
mov eax, esi
call fcn.00432b30
mov eax, dword [ebx + 0x324]
mov edx, dword [eax + 0x40]
mov eax, dword [ebx + 0x320]
call fcn.00432270
xor edx, edx
mov eax, dword [ebx + 0x324]
call fcn.00432a20
jmp 0x4545df
push dword [ebp - 4]
push 0x454694
push 0x454780
push 0x454818
push dword [0x458cd8]
push 0x454688
lea eax, [ebp - 0x320]
mov edx, 6
call fcn.004041cc
mov edx, dword [ebp - 0x320]
mov eax, dword [ebx + 0x310]
call fcn.00432b30
push 0x458bd8
lea eax, [ebp - 0x104]
push eax
call sub.kernel32.dll_lstrcpyA
push pe_nt_image_headers32
lea eax, [ebp - 0x304]
push eax
push 0x12c
mov eax, dword [0x458664]
push eax
call sub.user32.dll_LoadStringA_1
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x104]
push eax
call sub.kernel32.dll_lstrcatA
push pe_nt_image_headers32
lea eax, [ebp - 0x204]
push eax
push 0x64
mov eax, dword [0x458664]
push eax
call sub.user32.dll_LoadStringA_1
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
call sub.imm32.dll_ImmInstallIMEA
test eax, eax
jne 0x454542
lea eax, [ebp - 4]
mov edx, 0x454830
call fcn.00403ee4
lea edx, [ebp - 4]
mov ecx, 0x17
mov eax, dword [0x458cd8]
call fcn.004043f4
lea edx, [ebp - 4]
mov ecx, 0x2b
mov eax, 0x454688
call fcn.004043f4
lea edx, [ebp - 0x324]
mov esi, dword [ebx + 0x310]
mov eax, esi
call fcn.00432b00
lea eax, [ebp - 0x324]
mov edx, dword [ebp - 4]
call fcn.00404114
mov edx, dword [ebp - 0x324]
mov eax, esi
call fcn.00432b30
mov eax, dword [ebx + 0x324]
mov edx, dword [eax + 0x40]
mov eax, dword [ebx + 0x320]
call fcn.00432270
xor edx, edx
mov eax, dword [ebx + 0x324]
call fcn.00432a20
jmp 0x4545df
lea eax, [ebp - 4]
mov edx, 0x454874
call fcn.00403ee4
lea edx, [ebp - 4]
mov ecx, 6
mov eax, dword [0x458cd8]
call fcn.004043f4
lea edx, [ebp - 4]
mov ecx, 0x2c
mov eax, 0x454688
call fcn.004043f4
lea edx, [ebp - 0x328]
mov esi, dword [ebx + 0x310]
mov eax, esi
call fcn.00432b00
lea eax, [ebp - 0x328]
mov edx, dword [ebp - 4]
call fcn.00404114
mov edx, dword [ebp - 0x328]
mov eax, esi
call fcn.00432b30
mov eax, dword [ebx + 0x324]
mov edx, dword [eax + 0x40]
mov eax, dword [ebx + 0x30c]
call fcn.00432270
mov edx, 0x4548a4
mov eax, dword [ebx + 0x30c]
call fcn.00432b30
xor edx, edx
mov eax, dword [ebx + 0x320]
call fcn.00432a20
xor edx, edx
mov eax, dword [ebx + 0x324]
call fcn.00432a20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45464d
lea eax, [ebp - 0x328]
mov edx, 2
call fcn.00403e70
lea eax, [ebp - 0x320]
call fcn.00403e4c
lea eax, [ebp - 0x31c]
call fcn.00403e4c
lea eax, [ebp - 0x318]
mov edx, 2
call fcn.00403e70
lea eax, [ebp - 0x310]
call fcn.00403e4c
lea eax, [ebp - 0x30c]
mov edx, 2
call fcn.00403e70
lea eax, [ebp - 4]
call fcn.00403e4c
ret