Function at 0x100de740
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102500cb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
push ebx
lea ecx, [ebp - 0x4c]
call sym.WMCommon.dll_public:_void___thiscall_WM::GMWowFsRedirectionHelper::constructor_void_
lea eax, [ebp - 0x26c]
mov dword [ebp - 4], 0
push eax
push 0
push 0
push 0x24
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x100de78e
xor bl, bl
jmp 0x100de990
xor eax, eax
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100de7b0
sub ecx, edx
lea eax, [ebp - 0x26c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.1001a600
push 9
push str._system32
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 2
call fcn.1001a7c0
push str.msvcp120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 3
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMFilePathUtils::IsExistsFile_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100de986
push str.msvcr120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 5
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMFilePathUtils::IsExistsFile_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100de986
push str._vcomp120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 7
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMFilePathUtils::IsExistsFile_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100de986
push str.mfc120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 9
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMFilePathUtils::IsExistsFile_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100de986
push str.mfc120u.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 0xb
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMFilePathUtils::IsExistsFile_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100de986
push str.mfcm120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 0xd
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMFilePathUtils::IsExistsFile_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100de986
push str.mfcm120u.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 0xf
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMFilePathUtils::IsExistsFile_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100de986
push esi
push str.12.0.21005.1
lea ecx, [ebp - 0x64]
call fcn.1001a2f0
mov esi, eax
push str.mfc120.dll
lea edx, [ebp - 0x3c]
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push esi
push eax
mov byte [ebp - 4], 0x12
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMSoftwareDetect::CheckVersion_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____
add esp, 0xc
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
lea ecx, [ebp - 0x64]
call fcn.1001a5a0
pop esi
jmp 0x100de988
xor bl, bl
lea ecx, [ebp - 0x3c]
call fcn.1001a5a0
mov dword [ebp - 4], 0x13
cmp byte [ebp - 0x40], 0
je 0x100de9a9
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x100de9a9
push dword [ebp - 0x44]
call eax
mov ecx, dword [ebp - 0xc]
mov al, bl
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret