Function at 0x46e760
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x27
push 0
push 0
dec ecx
jne 0x46e768
push ecx
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x46ed51
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
jne 0x46ea9f
xor eax, eax
push ebp
push 0x46e7c2
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x46ed68
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4beb1a], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46e7d3
push 0
lea eax, [ebp - 0x120]
push eax
mov ecx, 0x46ed84
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x120]
mov eax, 0x4beb1e
call fcn.00403c1c
xor eax, eax
push ebp
push 0x46e82e
push dword fs:[eax]
mov dword fs:[eax], esp
push 6
mov ecx, 0x46ed90
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4beb22], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46e83f
xor eax, eax
push ebp
push 0x46e870
push dword fs:[eax]
mov dword fs:[eax], esp
push 3
mov ecx, 0x46eda4
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4beb23], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46e881
xor eax, eax
push ebp
push 0x46e8b2
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x46edb8
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4beb24], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46e8c3
xor eax, eax
push ebp
push 0x46e8f4
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x46edcc
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4beb25], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46e905
xor eax, eax
push ebp
push 0x46e936
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x46eddc
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4beb26], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46e947
push 0
lea eax, [ebp - 0x124]
push eax
mov ecx, 0x46edf0
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x124]
mov eax, 0x4beb27
call fcn.00403c1c
xor eax, eax
push ebp
push 0x46e9a2
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x46ee00
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov byte [0x4beb2b], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46e9b3
push 0
lea eax, [ebp - 0x128]
push eax
mov ecx, 0x46ee10
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x128]
mov eax, 0x4beb33
call fcn.00403c1c
push 0
lea eax, [ebp - 0x12c]
push eax
mov ecx, 0x46ee20
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x12c]
mov eax, 0x4beb37
call fcn.00403c1c
push 0
lea eax, [ebp - 0x130]
push eax
mov ecx, 0x46ee30
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x130]
mov eax, 0x4beb3b
call fcn.00403c1c
push 0
lea eax, [ebp - 0x134]
push eax
mov ecx, 0x46ee40
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x134]
mov eax, 0x4beb3f
call fcn.00403c1c
xor eax, eax
push ebp
push 0x46ea8c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x46ee50
mov edx, 0x46ed78
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov byte [0x4beb43], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46eaa7
mov eax, dword [ebp - 8]
mov dword [0x4beb1a], eax
push 0xff
lea eax, [ebp - 0x11b]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x11b]
call fcn.00408da8
lea edx, [ebp - 0x138]
mov eax, dword [0x4bcfa0]
mov eax, dword [eax]
call fcn.0044c340
mov eax, dword [ebp - 0x138]
lea edx, [ebp - 0x10]
call fcn.004089b4
lea eax, [ebp - 0x13c]
call fcn.0046c9f8
mov eax, dword [ebp - 0x13c]
mov edx, 0x46ee68
call fcn.00403f58
jne 0x46eb15
lea eax, [ebp - 0x18]
mov ecx, 0x46ee7c
mov edx, dword [ebp - 0x14]
call fcn.00403e94
jmp 0x46eb25
lea eax, [ebp - 0x18]
mov ecx, 0x46ee7c
mov edx, dword [ebp - 0x10]
call fcn.00403e94
mov ecx, dword [ebp - 0x18]
mov dl, 1
mov eax, dword [0x450418]
call fcn.004504c0
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x46eb69
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x46ee90
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0x46eea0
mov edx, 0x46eeb0
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46eb80
mov edx, dword [ebp - 0x1c]
mov eax, 0x46eebc
call fcn.00404134
test eax, eax
jle 0x46eb9a
mov byte [0x4beb32], 0
jmp 0x46ebe6
mov edx, dword [ebp - 0x1c]
mov eax, 0x46eec8
call fcn.00404134
test eax, eax
jle 0x46ebb4
mov byte [0x4beb32], 1
jmp 0x46ebe6
mov edx, dword [ebp - 0x1c]
mov eax, 0x46eed4
call fcn.00404134
test eax, eax
jle 0x46ebce
mov byte [0x4beb32], 2
jmp 0x46ebe6
mov edx, dword [ebp - 0x1c]
mov eax, 0x46eee4
call fcn.00404134
test eax, eax
jle 0x46ebe6
mov byte [0x4beb32], 3
cmp dword [0x4beb1a], 2
jne 0x46ec34
xor eax, eax
push ebp
push 0x46ec20
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x46eef4
mov edx, 0x46ef00
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4beb2e], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ec34
cmp dword [0x4beb1a], 3
jne 0x46ec82
xor eax, eax
push ebp
push 0x46ec6e
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x46eef4
mov edx, 0x46ef0c
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4beb2e], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ec82
cmp dword [0x4beb1a], 4
jne 0x46ecd0
xor eax, eax
push ebp
push 0x46ecbc
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x46eef4
mov edx, 0x46ef18
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4beb2e], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ecd0
cmp dword [0x4beb1a], 5
jne 0x46ed1e
xor eax, eax
push ebp
push 0x46ed0a
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x46eef4
mov edx, 0x46ef24
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4beb2e], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46ed1e
mov eax, dword [ebp - 0xc]
call fcn.00402ecc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46ed58
lea eax, [ebp - 0x13c]
mov edx, 8
call fcn.00403bec
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00403bec
ret