Function at 0x100dc8e0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1024fcc3
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 0x100dc92e
xor bl, bl
jmp 0x100dcafd
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 0x100dc950
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.msvcp140.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 0x100dcaf3
push str._vcomp140.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 0x100dcaf3
push str.mfc140.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 0x100dcaf3
push str.mfc140u.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 0x100dcaf3
push str.mfcm140.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 0x100dcaf3
push str.mfcm140u.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 0x100dcaf3
push esi
push str.14.0.23026.0
lea ecx, [ebp - 0x64]
call fcn.1001a2f0
mov esi, eax
push str.mfc140.dll
lea edx, [ebp - 0x3c]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push esi
push eax
mov byte [ebp - 4], 0x10
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 0x100dcaf5
xor bl, bl
lea ecx, [ebp - 0x3c]
call fcn.1001a5a0
mov dword [ebp - 4], 0x11
cmp byte [ebp - 0x40], 0
je 0x100dcb16
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x100dcb16
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