Function at 0x405803
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp byte [edi], bl
mov byte [ebp - 0x230], bl
je 0x405bce
push 0x3e
push edi
call fcn.0041c440
pop ecx
cmp eax, ebx
pop ecx
je 0x40584f
sub eax, edi
inc eax
mov esi, eax
lea eax, [ebp - 0x230]
push esi
push edi
push eax
call fcn.0041bd20
add esp, 0xc
mov byte [ebp + esi - 0x230], bl
jmp 0x40585e
lea eax, [ebp - 0x230]
push edi
push eax
call fcn.0041bb30
pop ecx
pop ecx
lea eax, [ebp - 0x230]
push str._Win_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x40588b
mov esi, 0x42b0b0
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
jmp 0x405be2
lea eax, [ebp - 0x230]
push str._Sys_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x4058bd
mov esi, 0x42b0b0
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.System
jmp 0x405b52
lea eax, [ebp - 0x230]
push str._Sys32_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x4058ef
mov esi, 0x42b0b0
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.System32
jmp 0x405b52
lea eax, [ebp - 0x230]
push str._AutoSys_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x40591c
mov esi, 0x42b0b0
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
jmp 0x405be2
lea eax, [ebp - 0x230]
push str._AppData_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405952
mov esi, 0x42b0b0
push esi
push 0x1a
call fcn.0040495c
pop ecx
test eax, eax
pop ecx
jne 0x405be2
push esi
push 5
jmp 0x405a34
lea eax, [ebp - 0x230]
push str._CommonAppData_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405973
mov esi, 0x42b0b0
push esi
push 0x23
jmp 0x405992
lea eax, [ebp - 0x230]
push str._LocalAppData_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x4059a3
mov esi, 0x42b0b0
push esi
push 0x1c
call fcn.0040495c
pop ecx
test eax, eax
pop ecx
jne 0x405be2
jmp 0x405938
lea eax, [ebp - 0x230]
push str._MyDocuments_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x4059c1
mov esi, 0x42b0b0
jmp 0x40594a
lea eax, [ebp - 0x230]
push str._CommonDocuments_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x4059e5
mov esi, 0x42b0b0
push esi
push 0x2e
jmp 0x40593b
lea eax, [ebp - 0x230]
push str._Desktop_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405a03
mov esi, 0x42b0b0
jmp 0x405a31
lea eax, [ebp - 0x230]
push str._CommonDesktop_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405a3e
mov esi, 0x42b0b0
push esi
push 0x19
call fcn.0040495c
pop ecx
test eax, eax
pop ecx
jne 0x405be2
push esi
push 0x10
call fcn.0040495c
jmp 0x405be0
lea eax, [ebp - 0x230]
push str._WinTemp_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405a8f
mov esi, 0x42b0b0
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push esi
call fcn.0041c080
cmp eax, ebx
pop ecx
je 0x405be2
cmp byte [eax + 0x42b0af], 0x5c
lea eax, [eax + 0x42b0af]
jne 0x405be2
mov byte [eax], bl
jmp 0x405be2
lea eax, [ebp - 0x230]
push str._Temp_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
je 0x405bc7
lea eax, [ebp - 0x230]
push str._ADTemp_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
je 0x405bc7
lea eax, [ebp - 0x230]
push str._ProgramFiles_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405aec
mov esi, 0x42b0b0
push esi
call fcn.0040480f
jmp 0x405be1
lea eax, [ebp - 0x230]
push str._CommonFiles_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405b13
mov esi, 0x42b0b0
push esi
call fcn.0040486b
jmp 0x405be1
lea eax, [ebp - 0x230]
push str._Fonts_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405b5d
mov esi, 0x42b0b0
push esi
push 0x14
call fcn.0040495c
pop ecx
test eax, eax
pop ecx
jne 0x405be2
push 0x104
push esi
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.Fonts
push esi
call fcn.00405453
jmp 0x405be0
lea eax, [ebp - 0x230]
push str._InstallFolder_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
je 0x405bc0
lea eax, [ebp - 0x230]
push str._Exe_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405b92
mov eax, 0x42e5a0
jmp 0x405be4
lea eax, [ebp - 0x230]
push str._PreviousFolder_
push eax
call fcn.00423160
pop ecx
test eax, eax
pop ecx
jne 0x405bce
cmp dword [0x42e1e0], ebx
je 0x405bc0
cmp byte [0x42cfa0], bl
je 0x405bc0
mov eax, 0x42cfa0
jmp 0x405be4
mov eax, 0x42cc40
jmp 0x405be4
push 0x42eb00
jmp 0x405bd5
lea eax, [ebp - 0x230]
push eax
mov esi, 0x42b0b0
push esi
call fcn.0041bb30
pop ecx
pop ecx
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret