Function at 0x4d5eac
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffb24
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
lea edi, [ebp - 0x1dc]
xor eax, eax
push ebp
push 0x4d69c2
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x6e
lea eax, [ebp - 0x2e7]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
lea edx, [ebp - 0x45c]
lea eax, [ebp - 0x2e7]
call fcn.0040a14c
mov edx, dword [ebp - 0x45c]
lea eax, [ebp - 0x458]
mov ecx, 0xff
call fcn.00404ee8
lea edx, [ebp - 0x458]
lea eax, [ebp - 0x356]
mov cl, 0x6e
call fcn.004032e4
lea eax, [ebp - 8]
call fcn.00404c4c
mov eax, 0x4eef68
mov edx, 0x4d69dc
call fcn.00404ca0
mov eax, 0x4eef6c
mov edx, 0x4d69ec
call fcn.00404ca0
call fcn.004d6d84
lea edx, [ebp - 0x356]
lea eax, [ebp - 0x4dc]
call fcn.004032d8
mov edx, 0x4d69f8
lea eax, [ebp - 0x4dc]
mov cl, 0x7a
call fcn.004032a8
lea edx, [ebp - 0x4dc]
lea eax, [ebp - 0x460]
call fcn.00404eb0
mov edx, dword [ebp - 0x460]
mov eax, edi
call fcn.00403188
mov eax, edi
call fcn.00402f18
call fcn.00402d00
lea eax, [ebp - 8]
call fcn.00404c4c
jmp 0x4d695a
lea edx, [ebp - 0xc]
mov eax, edi
call fcn.00403580
mov eax, edi
call fcn.004035ec
call fcn.00402d00
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6a10
call fcn.00405250
test eax, eax
jle 0x4d5fe1
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6a28
call fcn.00405250
test eax, eax
jle 0x4d601a
mov ebx, 0xb
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef60
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6a3c
call fcn.00405250
test eax, eax
jle 0x4d6053
mov ebx, 0xb
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef5c
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6a50
call fcn.00405250
test eax, eax
jle 0x4d608c
mov ebx, 0xb
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef64
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6a64
call fcn.00405250
test eax, eax
jle 0x4d60c5
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef78
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6a78
call fcn.00405250
test eax, eax
jle 0x4d60fe
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef7c
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6a8c
call fcn.00405250
test eax, eax
jle 0x4d6137
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef80
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6aa0
call fcn.00405250
test eax, eax
jle 0x4d6170
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef84
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6ab4
call fcn.00405250
test eax, eax
jle 0x4d61a9
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef88
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6ac8
call fcn.00405250
test eax, eax
jle 0x4d61e2
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef98
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6adc
call fcn.00405250
test eax, eax
jle 0x4d621b
mov ebx, 9
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef9c
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6af0
call fcn.00405250
test eax, eax
jle 0x4d6254
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef8c
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b04
call fcn.00405250
test eax, eax
jle 0x4d628d
mov ebx, 9
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef90
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b18
call fcn.00405250
test eax, eax
jle 0x4d62c6
mov ebx, 9
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eef94
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b2c
call fcn.00405250
test eax, eax
jle 0x4d62ff
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
push 0x4eefa0
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b40
call fcn.00405250
test eax, eax
jle 0x4d6344
mov ebx, 9
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
mov eax, 0x4eefb0
mov edx, dword [ebp - 8]
call fcn.00404ca0
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b54
call fcn.00405250
test eax, eax
jle 0x4d6389
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
mov eax, 0x4eefa8
mov edx, dword [ebp - 8]
call fcn.00404ca0
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b68
call fcn.00405250
test eax, eax
jle 0x4d63ce
mov ebx, 9
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
mov eax, 0x4eefa4
mov edx, dword [ebp - 8]
call fcn.00404ca0
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b7c
call fcn.00405250
test eax, eax
jle 0x4d6413
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
mov eax, 0x4eefac
mov edx, dword [ebp - 8]
call fcn.00404ca0
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6b90
call fcn.00405250
test eax, eax
jle 0x4d6458
mov ebx, 0xa
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
mov eax, 0x4eefb4
mov edx, dword [ebp - 8]
call fcn.00404ca0
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6ba4
call fcn.00405250
test eax, eax
jle 0x4d649d
mov ebx, 8
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
mov eax, 0x4eefb8
mov edx, dword [ebp - 8]
call fcn.00404ca0
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6bb8
call fcn.00405250
test eax, eax
jle 0x4d64e5
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefbc], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6bd4
call fcn.00405250
test eax, eax
jle 0x4d652d
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefc0], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6bf0
call fcn.00405250
test eax, eax
jle 0x4d6575
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefc4], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6c0c
call fcn.00405250
test eax, eax
jle 0x4d65bd
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefc4], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6c28
call fcn.00405250
test eax, eax
jle 0x4d6605
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefc8], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6c44
call fcn.00405250
test eax, eax
jle 0x4d664d
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefcc], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6c60
call fcn.00405250
test eax, eax
jle 0x4d6695
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefd0], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6c7c
call fcn.00405250
test eax, eax
jle 0x4d66dd
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefd4], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6c98
call fcn.00405250
test eax, eax
jle 0x4d6725
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eeff4], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6cb4
call fcn.00405250
test eax, eax
jle 0x4d676d
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefd8], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6cd0
call fcn.00405250
test eax, eax
jle 0x4d67b5
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefdc], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6cec
call fcn.00405250
test eax, eax
jle 0x4d67fd
mov ebx, 0x12
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefe0], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6d08
call fcn.00405250
test eax, eax
jle 0x4d6845
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefe4], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6d24
call fcn.00405250
test eax, eax
jle 0x4d688d
mov ebx, 0x12
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefe8], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6d40
call fcn.00405250
test eax, eax
jle 0x4d68d5
mov ebx, 0x12
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eefec], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6d5c
call fcn.00405250
test eax, eax
jle 0x4d691a
mov ebx, 0x10
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00405cd8
mov dword [0x4eeff0], eax
jmp 0x4d695a
mov edx, dword [ebp - 0xc]
mov eax, 0x4d6d78
call fcn.00405250
test eax, eax
jle 0x4d695a
mov ebx, 9
mov eax, dword [ebp - 0xc]
call fcn.00404f0c
mov esi, eax
lea eax, [ebp - 8]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0xc]
call fcn.0040516c
mov eax, 0x4ef040
mov edx, dword [ebp - 8]
call fcn.00404ca0
mov eax, edi
call fcn.004033f4
call fcn.00402d00
test al, al
je 0x4d5fad
mov eax, edi
call fcn.00403250
call fcn.00402d00
cmp dword [0x4eef68], 0
jne 0x4d6992
mov eax, 0x4eef68
mov edx, 0x4d69dc
call fcn.00404ca0
call fcn.004d5b58
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d69c9
lea eax, [ebp - 0x460]
mov edx, 2
call fcn.00404c70
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404c70
ret