Function at 0x403f20
Capabilities:
Get common file path

Disassembly:
push ebp
mov ecx, 0x404190
mov ebp, esp
push edi
lea edx, [ebp - 0x18]
push esi
mov esi, 0x407b40
push ebx
sub esp, 0x1bc
mov ebx, 0x416f4a
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], esp
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x170], ebx
mov dword [esp], eax
call fcn.0040c840
mov dword [esp], 0
lea eax, [ebp - 0x128]
xor edx, edx
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 0x1a
mov dword [esp + 4], eax
mov eax, 0xffffffff
mov dword [esp + 0xc], edx
mov dword [ebp - 0x188], eax
call sub.SHELL32.DLL_SHGetFolderPathA
sub esp, 0x14
test eax, eax
js 0x404200
mov edx, dword [ebp - 0x190]
lea eax, [ebp - 0x138]
add edx, 0x1c
mov dword [ebp - 0x198], edx
lea edx, [ebp - 0x158]
mov dword [esp + 8], eax
lea eax, [ebp - 0x128]
mov dword [esp + 4], eax
mov eax, 4
mov dword [esp], edx
mov dword [ebp - 0x188], eax
call fcn.00415de0
mov eax, dword [str.VisualVM_]
lea edx, [ebp - 0x158]
mov edi, 3
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x148]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [ebp - 0x188], edi
call fcn.00415e90
mov edx, dword [ebp - 0x19c]
mov esi, 2
mov dword [esp], edx
call sub.msvcrt.dll_strlen
mov dword [esp + 8], eax
lea edx, [ebp - 0x148]
mov eax, dword [ebp - 0x19c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [ebp - 0x188], esi
call fcn.00414300
lea eax, [ebp - 0x148]
mov ebx, 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x198]
mov dword [esp], eax
mov dword [ebp - 0x188], ebx
call fcn.004147b0
lea eax, [ebp - 0x148]
mov edx, 3
mov dword [esp], eax
mov dword [ebp - 0x188], edx
call fcn.00416600
lea eax, [ebp - 0x158]
mov dword [esp], eax
mov eax, 4
mov dword [ebp - 0x188], eax
call fcn.00416600
mov edx, dword [ebp - 0x190]
mov eax, 0xffffffff
add edx, 0x1c
mov dword [ebp - 0x1a0], edx
mov dword [esp + 8], eax
mov eax, 0x5c
mov dword [esp + 4], eax
mov eax, 0xffffffff
mov dword [esp], edx
mov dword [ebp - 0x188], eax
call fcn.004131c0
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0x1c]
mov edx, dword [ebp - 0x1a4]
cmp dword [eax - 0xc], edx
jb 0x404241
mov edx, dword [ebp - 0x190]
xor esi, esi
mov ebx, 0xffffffff
mov edi, dword [ebp - 0x1a4]
mov eax, dword [edx + 0x1c]
mov eax, dword [eax - 0xc]
mov dword [esp + 0xc], esi
sub eax, edi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1a4]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1a0]
mov dword [esp], edx
mov dword [ebp - 0x188], ebx
call fcn.00415ba0
mov edx, dword [ebp - 0x190]
mov ecx, 0xffffffff
mov eax, dword [edx + 0x1c]
mov dword [esp], str.Default_Userdir_Root:__s
mov dword [esp + 4], eax
mov dword [ebp - 0x188], ecx
call fcn.00401970
mov eax, dword [ebp - 0x1a0]
mov dword [esp + 4], eax
mov edx, dword [ebp + 8]
mov dword [esp], edx
call fcn.00415e90
lea eax, [ebp - 0x18c]
mov dword [esp], eax
call fcn.0040c920
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea eax, [ebp - 0x138]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov edx, dword [ebp + 8]
mov eax, 5
mov dword [esp], edx
mov dword [ebp - 0x188], eax
call fcn.00415de0
lea eax, [ebp - 0x18c]
mov dword [esp], eax
call fcn.0040c920
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov dword [esp], 0x4299c6
call fcn.00409a70
jmp 0x4040fa