Function at 0x4692d4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x27
push 0
push 0
dec ecx
jne 0x4692dc
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4698bd
push dword fs:[eax]
mov dword fs:[eax], esp
test edx, edx
jne 0x46960d
xor eax, eax
push ebp
push 0x469330
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x4698d4
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4a0b2c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x469341
push 0
lea eax, [ebp - 0x11c]
push eax
mov ecx, 0x4698f0
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x11c]
mov eax, 0x4a0b30
call fcn.00403be4
xor eax, eax
push ebp
push 0x46939c
push dword fs:[eax]
mov dword fs:[eax], esp
push 6
mov ecx, 0x4698fc
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4a0b34], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4693ad
xor eax, eax
push ebp
push 0x4693de
push dword fs:[eax]
mov dword fs:[eax], esp
push 3
mov ecx, 0x469910
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4a0b35], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4693ef
xor eax, eax
push ebp
push 0x469420
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x469924
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4a0b36], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x469431
xor eax, eax
push ebp
push 0x469462
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x469938
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4a0b37], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x469473
xor eax, eax
push ebp
push 0x4694a4
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x469948
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov byte [0x4a0b38], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4694b5
push 0
lea eax, [ebp - 0x120]
push eax
mov ecx, 0x46995c
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x120]
mov eax, 0x4a0b3c
call fcn.00403be4
xor eax, eax
push ebp
push 0x469510
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x46996c
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov byte [0x4a0b40], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x469521
push 0
lea eax, [ebp - 0x124]
push eax
mov ecx, 0x46997c
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x124]
mov eax, 0x4a0b4c
call fcn.00403be4
push 0
lea eax, [ebp - 0x128]
push eax
mov ecx, 0x46998c
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x128]
mov eax, 0x4a0b50
call fcn.00403be4
push 0
lea eax, [ebp - 0x12c]
push eax
mov ecx, 0x46999c
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x12c]
mov eax, 0x4a0b54
call fcn.00403be4
push 0
lea eax, [ebp - 0x130]
push eax
mov ecx, 0x4699ac
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x130]
mov eax, 0x4a0b58
call fcn.00403be4
xor eax, eax
push ebp
push 0x4695fa
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov ecx, 0x4699bc
mov edx, 0x4698e4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov byte [0x4a0b5c], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x469613
mov dword [0x4a0b2c], edx
push 0xff
lea eax, [ebp - 0x117]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x117]
call fcn.00408c8c
lea edx, [ebp - 0x134]
mov eax, dword [0x49f008]
mov eax, dword [eax]
call fcn.00449394
mov eax, dword [ebp - 0x134]
lea edx, [ebp - 0xc]
call fcn.00408920
lea eax, [ebp - 0x138]
call fcn.00467374
mov eax, dword [ebp - 0x138]
mov edx, 0x4699d4
call fcn.00403f20
jne 0x469681
lea eax, [ebp - 0x14]
mov ecx, 0x4699e8
mov edx, dword [ebp - 0x10]
call fcn.00403e5c
jmp 0x469691
lea eax, [ebp - 0x14]
mov ecx, 0x4699e8
mov edx, dword [ebp - 0xc]
call fcn.00403e5c
mov ecx, dword [ebp - 0x14]
mov dl, 1
mov eax, dword [0x44d46c]
call fcn.0044d514
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4696d5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4699fc
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x469a0c
mov edx, 0x469a1c
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4696ec
mov edx, dword [ebp - 0x18]
mov eax, 0x469a28
call fcn.004040fc
test eax, eax
jle 0x469706
mov byte [0x4a0b48], 0
jmp 0x469752
mov edx, dword [ebp - 0x18]
mov eax, 0x469a34
call fcn.004040fc
test eax, eax
jle 0x469720
mov byte [0x4a0b48], 1
jmp 0x469752
mov edx, dword [ebp - 0x18]
mov eax, 0x469a40
call fcn.004040fc
test eax, eax
jle 0x46973a
mov byte [0x4a0b48], 2
jmp 0x469752
mov edx, dword [ebp - 0x18]
mov eax, 0x469a50
call fcn.004040fc
test eax, eax
jle 0x469752
mov byte [0x4a0b48], 3
cmp dword [0x4a0b2c], 2
jne 0x4697a0
xor eax, eax
push ebp
push 0x46978c
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x469a60
mov edx, 0x469a6c
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4a0b44], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4697a0
cmp dword [0x4a0b2c], 3
jne 0x4697ee
xor eax, eax
push ebp
push 0x4697da
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x469a60
mov edx, 0x469a78
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4a0b44], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4697ee
cmp dword [0x4a0b2c], 4
jne 0x46983c
xor eax, eax
push ebp
push 0x469828
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x469a60
mov edx, 0x469a84
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4a0b44], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46983c
cmp dword [0x4a0b2c], 5
jne 0x46988a
xor eax, eax
push ebp
push 0x469876
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
mov ecx, 0x469a60
mov edx, 0x469a90
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 8]
mov dword [0x4a0b44], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46988a
mov eax, dword [ebp - 8]
call fcn.00402e94
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4698c4
lea eax, [ebp - 0x138]
mov edx, 8
call fcn.00403bb4
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00403bb4
ret