Function at 0x403be0
Capabilities:
Get common file path

Disassembly:
push ebp
mov edx, 0x407b40
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1bc
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x174], edx
lea edx, [ebp - 0x18]
mov dword [ebp - 0x190], eax
mov eax, 0x416f3c
mov dword [ebp - 0x170], eax
mov eax, 0x403e50
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x164], esp
mov dword [esp], eax
call fcn.0040c840
mov dword [esp], 0
lea eax, [ebp - 0x128]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 0x1c
mov dword [esp + 4], eax
mov eax, 0xffffffff
mov dword [ebp - 0x188], eax
call sub.SHELL32.DLL_SHGetFolderPathA
sub esp, 0x14
test eax, eax
js 0x403ec0
mov edx, dword [ebp - 0x190]
lea eax, [ebp - 0x138]
mov ebx, 4
add edx, 0x20
mov dword [ebp - 0x198], edx
lea edx, [ebp - 0x158]
mov dword [esp + 8], eax
lea eax, [ebp - 0x128]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x188], ebx
call fcn.00415de0
mov eax, dword [str.VisualVMCache_]
lea edx, [ebp - 0x158]
mov ecx, 3
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x148]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [ebp - 0x188], ecx
call fcn.00415e90
mov edx, dword [ebp - 0x19c]
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 edx, 2
mov dword [esp + 4], eax
mov dword [ebp - 0x188], edx
call fcn.00414300
lea eax, [ebp - 0x148]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x198]
mov dword [esp], eax
mov eax, 1
mov dword [ebp - 0x188], eax
call fcn.004147b0
lea eax, [ebp - 0x148]
mov dword [esp], eax
mov eax, 3
mov dword [ebp - 0x188], eax
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 edi, 0xffffffff
mov esi, 0x5c
mov ebx, 0xffffffff
add edx, 0x20
mov dword [ebp - 0x1a0], edx
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [ebp - 0x188], ebx
call fcn.004131c0
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0x20]
mov edx, dword [ebp - 0x1a4]
cmp dword [eax - 0xc], edx
jb 0x403f01
mov edx, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [edx + 0x20]
xor edx, edx
mov eax, dword [eax - 0xc]
mov dword [esp + 0xc], edx
sub eax, ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1a4]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x1a0]
mov eax, 0xffffffff
mov dword [esp], edx
mov dword [ebp - 0x188], eax
call fcn.00415ba0
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0x20]
mov dword [esp], str.Default_Cachedir_Root:__s
mov dword [esp + 4], eax
mov eax, 0xffffffff
mov dword [ebp - 0x188], eax
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]
xor edi, edi
mov esi, 5
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov edx, dword [ebp + 8]
mov dword [esp], edx
mov dword [ebp - 0x188], esi
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 0x403dba