Function at 0x4092b2
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54c
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [ebp + 8]
lea eax, [ebp - 0x204]
push eax
call edi
mov ebx, str..
lea eax, [ebp - 0x54c]
push ebx
push eax
call edi
lea eax, [ebp - 0x204]
push 0x2a
push eax
call fcn.0040bf9f
pop ecx
test eax, eax
pop ecx
jne 0x409307
lea eax, [ebp - 0x204]
push 0x3f
push eax
call fcn.0040bf9f
pop ecx
test eax, eax
pop ecx
je 0x40932e
lea eax, [ebp - 0x204]
push eax
call fcn.0040b692
pop ecx
lea ecx, [ebp - 0x204]
cmp eax, ecx
jbe 0x40932e
lea esi, [eax - 1]
lea eax, [ebp - 0x54c]
push esi
push eax
call edi
and byte [esi], 0
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 4
jl 0x40954e
lea eax, [ebp - 0x104]
push 0x100
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x204]
push eax
call esi
test eax, eax
je 0x40954e
lea eax, [ebp - 0x104]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x204]
push eax
call esi
test eax, eax
je 0x40954e
mov eax, dword [0x416804]
test eax, eax
je 0x4093b9
push eax
lea eax, [ebp - 0x204]
push eax
call esi
test eax, eax
je 0x40954e
mov eax, dword [0x416bc0]
cmp byte [eax], 0
je 0x4093d5
push eax
lea eax, [ebp - 0x204]
push eax
call esi
test eax, eax
je 0x40954e
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x104]
push ebx
push eax
call esi
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x104]
push 0x17
push eax
call fcn.0040a851
add esp, 0xc
mov ebx, 0x41310c
test eax, eax
jne 0x409482
test byte [ebp - 0x34c], 0x10
je 0x409473
cmp byte [ebp - 0x44c], 0x2e
je 0x409473
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
call edi
lea eax, [ebp - 0x104]
push ebx
push eax
call esi
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp - 0x104]
push eax
call esi
push dword [ebp + 0xc]
lea eax, [ebp - 0x104]
push eax
call fcn.004092b2
pop ecx
pop ecx
lea eax, [ebp - 0x44c]
push eax
call fcn.0040a893
pop ecx
jmp 0x409412
lea eax, [ebp - 0x44c]
push eax
call fcn.0040a8d0
cmp dword [ebp + 0xc], 0
pop ecx
je 0x409541
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
call edi
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x104]
push 7
push eax
call fcn.0040a851
add esp, 0xc
test eax, eax
jne 0x409534
test byte [ebp - 0x34c], 0x10
jne 0x409525
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x104]
push eax
call edi
lea eax, [ebp - 0x104]
push ebx
push eax
call esi
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x104]
push eax
call esi
lea eax, [ebp - 0x104]
push 0
push eax
call fcn.0040a82e
lea eax, [ebp - 0x104]
push eax
call fcn.0040a593
add esp, 0xc
lea eax, [ebp - 0x44c]
push eax
call fcn.0040a893
pop ecx
jmp 0x4094d1
lea eax, [ebp - 0x44c]
push eax
call fcn.0040a8d0
pop ecx
lea eax, [ebp - 0x204]
push eax
call fcn.0040a552
pop ecx
pop edi
pop esi
pop ebx
leave
ret