Function at 0x504658
Capabilities:
Get common file path

Disassembly:
push ebp
push ebx
mov edx, 0xc
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x50465f
call fcn.00408600
push dword [esp + 0x3c]
call fcn.00401220
push esp
push 0x34
call fcn.00409350
add esp, 8
push 0x200290
call fcn.00521f18
push 0x200291
call fcn.00521f18
lea edx, [esp]
push edx
push 0
push 0xb
push 1
mov eax, 1
push 2
call fcn.00521fae
call fcn.00407c95
push 0x200292
call fcn.00521f18
push 0
push 0
call sub.KERNEL32.dll_GetWindowsDirectoryW
push 0x200292
call fcn.00522048
mov dword [esp + 0x28], eax
push 0x200293
call fcn.00521f18
mov ebx, dword [esp + 0x28]
and ebx, ebx
jne 0x504728
push 0x200294
call fcn.00521f18
mov edx, 0x4c31a6
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
pop eax
push eax
call fcn.004011e0
pop edx
add eax, edx
jmp 0x50493c
push 0x200295
call fcn.00521f18
push 0x200296
call fcn.00521f18
mov ebx, dword [esp + 0x28]
shl ebx, 2
mov dword [esp + 0x28], ebx
push 0x200297
call fcn.00521f18
mov eax, dword [esp + 0x28]
inc eax
lea edx, [esp]
push edx
push eax
call fcn.00521fae
call fcn.00407e52
push 0x200298
call fcn.00521f18
mov ebx, dword [esp + 0x28]
add ebx, ebx
push ebx
mov eax, 0
mov edx, dword [esp + 4]
mov edx, dword [edx - 8]
call fcn.00521fbb
mov ebp, dword [esp + 4]
lea eax, [ebp]
push eax
call fcn.00408030
call fcn.00408310
push 0x200299
call fcn.00521f18
push dword [esp + 0x28]
mov eax, 0
mov edx, dword [esp + 4]
mov edx, dword [edx - 8]
call fcn.00521fbb
lea eax, [ebp]
push eax
call sub.KERNEL32.dll_GetWindowsDirectoryW
push 0x200299
call fcn.00522048
mov dword [esp + 0x28], eax
push 0x20029a
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
push 0x19
push 0xffffffff
mov eax, 0
mov edx, dword [esp + 0x10]
mov edx, dword [edx - 8]
call fcn.00521fbb
mov ebp, dword [esp + 0x10]
lea eax, [ebp]
push eax
call fcn.00408140
call fcn.004083b0
mov edx, 0x4c3372
push edx
call fcn.00408640
lea eax, [esp + 0x30]
push eax
call fcn.00408560
push 0x20029b
call fcn.00521f18
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408730
pop edx
push eax
mov eax, 0x4c3318
push eax
push 1
push dword [esp + 0x3c]
call fcn.00401ed0
call fcn.004029d0
lea eax, [esp + 0x30]
push eax
call fcn.00408560
push 0x20029c
call fcn.00521f18
call fcn.004052fd
mov ebx, eax
cmp ebx, 0x32
jne 0x5048bb
push 0x20029d
call fcn.00521f18
mov edx, dword [esp + 0x2c]
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
mov edx, str.:winnt_
push edx
call fcn.00408640
lea eax, [esp + 0x30]
push eax
call fcn.00408560
push 0x20029e
call fcn.00521f18
jmp 0x5048f6
push 0x20029e
call fcn.00521f18
push 0x20029f
call fcn.00521f18
mov edx, dword [esp + 0x2c]
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
mov edx, str.:windows_
push edx
call fcn.00408640
lea eax, [esp + 0x30]
push eax
call fcn.00408560
push 0x2002a0
call fcn.00521f18
push 0x2002a1
call fcn.00521f18
mov edx, dword [esp + 0x2c]
push edx
call fcn.00408730
pop edx
push eax
push edx
call fcn.00408640
pop eax
push eax
call fcn.004011e0
pop edx
add eax, edx
jmp 0x50493c
push edx
push eax
call fcn.00409480
pop eax
push dword [esp + 0x30]
call fcn.00408690
push eax
push dword [esp + 8]
call fcn.00407e02
pop eax
pop edx
add esp, 0x30
pop ebx
pop ebp
ret