Function at 0x497568
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x35
push 0
push 0
dec ecx
jne 0x497571
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x14], edx
xor eax, eax
push ebp
push 0x497967
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x417e50]
call fcn.00403bec
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x497932
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x64
lea eax, [ebp - 0x8d]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea eax, [ebp - 4]
lea edx, [ebp - 0x8d]
mov ecx, 0x65
call fcn.00404db4
lea eax, [ebp - 0x94]
mov ecx, 0x497980
mov edx, dword [ebp - 4]
call fcn.00404e5c
mov eax, dword [ebp - 0x94]
call fcn.004095cc
test al, al
je 0x49791c
lea eax, [ebp - 0x98]
mov ecx, 0x497980
mov edx, dword [ebp - 4]
call fcn.00404e5c
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x68]
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x49790c
lea eax, [ebp - 0x10]
call fcn.00404b44
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
call dword [esi + 0xc]
inc ebx
lea ecx, [ebp - 8]
mov edx, 5
mov eax, dword [ebp - 4]
call fcn.0043a138
mov eax, dword [ebp - 8]
mov edx, 0x497998
call fcn.00404f6c
jne 0x49790c
push 1
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 4]
mov cl, 1
mov edx, 0x4979a8
call fcn.004700d4
push 1
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
mov cl, 1
mov edx, 0x4979b4
call fcn.004700d4
mov eax, dword [ebp - 8]
mov edx, 0x4979c0
call fcn.00404f6c
je 0x4976a9
mov eax, dword [ebp - 8]
mov edx, 0x4979d0
call fcn.00404f6c
jne 0x49790c
mov eax, ebx
dec eax
mov dword [ebp - 0x20], eax
mov esi, 1
mov eax, dword [ebp - 8]
mov edx, 0x4979d0
call fcn.00404f6c
jne 0x497866
mov esi, 2
push 1
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
mov cl, 1
mov edx, 0x4979e4
call fcn.004700d4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x4976f8
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x24]
sub ecx, 4
mov edx, 5
mov eax, dword [ebp - 0xc]
call fcn.0043a180
mov edx, dword [ebp - 0xa0]
lea eax, [ebp - 0xc]
call fcn.00404bdc
jmp 0x497866
lea ecx, [ebp - 4]
mov edx, ebx
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
inc ebx
lea ecx, [ebp - 0xa4]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0043a138
mov eax, dword [ebp - 0xa4]
mov edx, 0x4979f0
call fcn.00404f6c
jne 0x497782
cmp esi, 2
je 0x497763
cmp dword [ebp - 0x10], 0
jne 0x497779
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x13
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.0043a180
cmp esi, 3
je 0x497876
lea ecx, [ebp - 0xa8]
mov edx, 5
mov eax, dword [ebp - 4]
call fcn.0043a138
mov eax, dword [ebp - 0xa8]
mov edx, 0x497998
call fcn.00404f6c
jne 0x497866
push 1
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 4]
mov cl, 1
mov edx, 0x4979a8
call fcn.004700d4
push 1
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
mov cl, 1
mov edx, 0x4979b4
call fcn.004700d4
mov eax, dword [ebp - 8]
mov edx, 0x4979d0
call fcn.00404f6c
jne 0x49784d
cmp esi, 2
jl 0x4977f2
dec ebx
jmp 0x497876
mov esi, 2
push 1
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
mov cl, 1
mov edx, 0x4979e4
call fcn.004700d4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x497823
mov eax, dword [ebp - 0x28]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x28]
sub ecx, 4
mov edx, 5
mov eax, dword [ebp - 0xc]
call fcn.0043a180
mov edx, dword [ebp - 0xb0]
lea eax, [ebp - 0xc]
call fcn.00404bdc
jmp 0x497866
mov eax, dword [ebp - 8]
mov edx, 0x4979fc
call fcn.00404f6c
jne 0x497863
mov esi, 3
jmp 0x497866
dec ebx
jmp 0x497876
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x497725
dec esi
jle 0x49790c
inc dword [ebp - 0x1c]
lea eax, [ebp - 0x1b0]
mov edx, dword [ebp - 0x10]
mov ecx, 0xff
call fcn.00404de0
lea edx, [ebp - 0x1b0]
mov eax, dword [ebp - 0x1c]
add eax, eax
add eax, eax
lea eax, [eax + eax*2]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax*8]
mov cl, 0x14
call fcn.0040342c
lea eax, [ebp - 0x1b0]
mov edx, dword [ebp - 0xc]
mov ecx, 0xff
call fcn.00404de0
lea edx, [ebp - 0x1b0]
mov eax, dword [ebp - 0x1c]
add eax, eax
add eax, eax
lea eax, [eax + eax*2]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax*8 + 0x15]
mov cl, 0x40
call fcn.0040342c
mov eax, dword [ebp - 0x1c]
add eax, eax
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
mov dword [edx + eax*8 + 0x58], ecx
mov eax, dword [ebp - 0x1c]
add eax, eax
add eax, eax
lea eax, [eax + eax*2]
mov edx, dword [ebp - 0x14]
mov ecx, ebx
sub ecx, dword [ebp - 0x20]
inc ecx
mov dword [edx + eax*8 + 0x5c], ecx
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x497621
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x497939
mov eax, dword [ebp - 0x18]
call fcn.00403c1c
ret