Function at 0xb5f207
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x6bc
mov eax, dword [0xc940a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov ebx, edx
push edi
mov dword [ebp - 0x688], esi
call fcn.00a85cf7
mov edx, eax
xor eax, eax
mov dword [ebp - 0x694], edx
mov cl, al
mov dword [ebp - 0x68c], ecx
test edx, edx
js 0xb5f3d9
xor edi, edi
mov dword [ebp - 0x690], eax
inc edi
push 0x104
lea eax, [ebp - 0x210]
mov edx, edi
push eax
mov ecx, esi
call fcn.00b5ef8e
test eax, eax
je 0xb5f3ae
push 0xa14fa8
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
jne 0xb5f28d
or dword [ebx + 8], 1
jmp 0xb5f561
push 0xa14fb0
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
jne 0xb5f2ac
or dword [ebx + 8], 0x10
jmp 0xb5f561
push 0xa14fc0
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
jne 0xb5f2cb
or dword [ebx + 8], 8
jmp 0xb5f561
push 0xa14fc8
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
lea eax, [ebp - 0x210]
jne 0xb5f426
mov ecx, dword [ebp - 0x688]
xor esi, esi
push 0x104
inc edi
mov dword [ebp - 0x684], esi
push eax
mov edx, edi
call fcn.00b5ef8e
test eax, eax
je 0xb5f590
lea eax, [ebp - 0x680]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHCORE.dll_Ordinal_200]
test eax, eax
lea eax, [ebp - 0x210]
je 0xb5f3f3
push eax
push 0x27
pop edx
lea ecx, [ebp - 0x260]
call fcn.00a535e0
mov ecx, dword [ebp - 0x688]
lea eax, [ebp - 0x210]
push 0x104
inc edi
push eax
mov edx, edi
call fcn.00b5ef8e
test eax, eax
jne 0xb5f378
push ecx
lea edx, [ebp - 0x210]
lea ecx, [ebp - 0x260]
call fcn.00b5ee34
test eax, eax
je 0xb5f590
push esi
push esi
lea eax, [ebp - 0x684]
push eax
push esi
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_shell_namespace_l1_1_0.dll_SHParseDisplayName]
mov esi, dword [ebp - 0x688]
mov eax, dword [ebp - 0x684]
test eax, eax
je 0xb5f3a1
mov dword [ebx], eax
cmp dword [ebp - 0x690], 0
je 0xb5f561
xor eax, eax
cmp dword [ebx], eax
jne 0xb5f3c2
push ebx
push eax
push eax
push 5
push eax
call dword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderLocation]
xor eax, eax
cmp dword [ebp - 0x694], 0
jne 0xb5f3d3
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
xor eax, eax
mov ecx, dword [ebp - 0x68c]
cmp dword [ebx], eax
jne 0xb5f3e1
test cl, cl
je 0xb5f3e4
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00ab3c50
leave
ret
push 0xa14fd4
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
jne 0xb5f378
mov esi, dword [ebp - 0x688]
inc edi
mov edx, edi
mov dword [ebp - 0x690], 1
mov ecx, esi
call fcn.00b5ef38
jmp 0xb5f39b
push 0xa14fe4
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
jne 0xb5f43f
or dword [ebx + 8], 4
jmp 0xb5f561
push 0xa14fd4
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
je 0xb5f567
push 0xa14ff4
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
jne 0xb5f47b
mov dword [ebx + 4], 1
jmp 0xb5f561
push 0xa15008
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
jne 0xb5f4e7
inc edi
lea eax, [ebp - 0x6b8]
push eax
mov edx, edi
mov dword [ebp - 0x684], edi
mov ecx, esi
call fcn.00b5eddc
mov esi, eax
lea edi, [ebp - 0x6a4]
lea ecx, [ebx + 0xc]
mov edx, 0x9f752c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
lea esi, [ebp - 0x6a4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00a562cb
mov edi, dword [ebp - 0x684]
neg eax
mov esi, dword [ebp - 0x688]
sbb al, al
inc al
mov dword [ebp - 0x68c], eax
jmp 0xb5f561
push 0x9f3904
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrCmpICW]
test eax, eax
je 0xb5f561
cmp dword [ebx], 0
jne 0xb5f561
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
mov dword [ebp - 0x684], eax
test eax, eax
jne 0xb5f55f
lea eax, [ebp - 0x468]
push eax
push 0x104
call dword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x670]
push eax
call dword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathCombineW]
test eax, eax
je 0xb5f559
lea eax, [ebp - 0x670]
push eax
call dword [sym.imp.SHELL32.dll_ILCreateFromPathW]
jmp 0xb5f55f
mov eax, dword [ebp - 0x684]
mov dword [ebx], eax
inc edi
jmp 0xb5f251
lea edx, [edi + 1]
mov ecx, esi
call fcn.00b5ef38
mov esi, eax
test esi, esi
je 0xb5f586
push dword [ebx]
call dword [sym.imp.api_ms_win_shell_namespace_l1_1_0.dll_ILFree]
mov dword [ebx], esi
jmp 0xb5f3ae
xor eax, eax
cmp dword [ebx], eax
jne 0xb5f3c2
xor eax, eax
jmp 0xb5f3e4