Function at 0x58e730
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x27
push 0
push 0
dec ecx
jne 0x58e738
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404d9c
xor eax, eax
push ebp
push 0x58e9ef
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x41c720]
call fcn.00403a4c
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 4]
call fcn.0058eb00
mov ecx, dword [ebp - 0x120]
mov dl, 1
mov eax, dword [0x47789c]
call fcn.0047794c
mov ebx, eax
mov ecx, dword [ebp - 0x18]
mov edx, 0x58ea08
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0x40]
mov eax, ebx
call fcn.00403a7c
push 0xff
lea eax, [ebp - 0x11a]
push eax
call sub.KERNEL32.dll_GetSystemDirectoryA
lea edx, [ebp - 0xc]
lea eax, [ebp - 0x11a]
call fcn.0040a400
push 0xff
lea eax, [ebp - 0x11a]
push eax
call sub.KERNEL32.dll_GetWindowsDirectoryA
lea edx, [ebp - 8]
lea eax, [ebp - 0x11a]
call fcn.0040a400
mov dl, 1
mov eax, dword [0x41c720]
call fcn.00403a4c
mov esi, eax
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test ax, ax
jl 0x58e964
inc eax
mov word [ebp - 0x1a], ax
xor ebx, ebx
lea ecx, [ebp - 0x128]
movsx edx, bx
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x128]
lea edx, [ebp - 0x124]
call fcn.0040a034
mov eax, dword [ebp - 0x124]
lea edx, [ebp - 0x10]
call fcn.00409334
mov eax, dword [ebp - 0x10]
mov edx, 0x58ea24
call fcn.00404cf8
je 0x58e855
mov eax, dword [ebp - 0x10]
mov edx, 0x58ea34
call fcn.00404cf8
jne 0x58e865
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0xc]
call fcn.00404984
jmp 0x58e927
mov eax, dword [ebp - 0x10]
mov edx, 0x58ea44
call fcn.00404cf8
jne 0x58e889
lea eax, [ebp - 0x14]
mov ecx, 0x58ea54
mov edx, dword [ebp - 0xc]
call fcn.00404bf8
jmp 0x58e927
mov eax, dword [ebp - 0x10]
mov edx, 0x58ea68
call fcn.00404cf8
je 0x58e8a7
mov eax, dword [ebp - 0x10]
mov edx, 0x58ea78
call fcn.00404cf8
jne 0x58e8b9
lea eax, [ebp - 0x14]
mov ecx, 0x58ea88
mov edx, dword [ebp - 8]
call fcn.00404bf8
jmp 0x58e927
mov eax, dword [ebp - 0x10]
mov edx, 0x58ea98
call fcn.00404cf8
jne 0x58e8da
lea eax, [ebp - 0x14]
mov ecx, 0x58eaa8
mov edx, dword [ebp - 0xc]
call fcn.00404bf8
jmp 0x58e927
mov eax, dword [ebp - 0x10]
mov edx, 0x58eac8
call fcn.00404cf8
jne 0x58e8fb
lea eax, [ebp - 0x14]
mov ecx, 0x58ead8
mov edx, dword [ebp - 8]
call fcn.00404bf8
jmp 0x58e927
mov eax, dword [ebp - 0x10]
mov edx, 0x58eae8
call fcn.00404cf8
jne 0x58e91c
lea eax, [ebp - 0x14]
mov ecx, 0x58eaf8
mov edx, dword [ebp - 8]
call fcn.00404bf8
jmp 0x58e927
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0xc]
call fcn.00404984
lea ecx, [ebp - 0x130]
movsx edx, bx
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x130]
lea ecx, [ebp - 0x12c]
mov eax, dword [ebp - 0x14]
call fcn.0058e5c8
mov edx, dword [ebp - 0x12c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc ebx
dec word [ebp - 0x1a]
jne 0x58e807
lea edx, [ebp - 0x134]
mov eax, dword [ebp - 4]
call fcn.0058eb00
mov edx, dword [ebp - 0x134]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
cmp bx, 0
jl 0x58e9ba
lea ecx, [ebp - 0x138]
movsx edx, bx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 0x138], 0
jne 0x58e9b2
movsx edx, bx
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x48]
dec ebx
cmp bx, 0xffff
jne 0x58e98f
mov eax, dword [ebp - 0x18]
call fcn.00403a7c
mov ebx, esi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x58e9f6
lea eax, [ebp - 0x138]
mov edx, 7
call fcn.00404910
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00404910
ret