Function at 0x100de9c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10250125
push eax
mov dword fs:[0], esp
lea eax, [ebp - 0x25c]
sub esp, 0x250
push eax
push 0
push 0
push 0x25
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x100dea07
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100dea24
sub ecx, edx
lea eax, [ebp - 0x25c]
push ebx
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x3c]
call fcn.1001a600
push str.msvcp120.dll
lea edx, [ebp - 0x3c]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 1
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], 0
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100debef
push str.msvcr120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 2
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], 0
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100debef
push str._vcomp120.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], 0
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100debef
push str.mfc120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 4
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], 0
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100debef
push str.mfc120u.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], 0
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100debef
push str.mfcm120.dll
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push eax
mov byte [ebp - 4], 6
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], 0
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100debef
push str.mfcm120u.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], 0
lea ecx, [ebp - 0x24]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100debef
push esi
push str.12.0.21005.1
lea ecx, [ebp - 0x54]
call fcn.1001a2f0
mov esi, eax
push str.mfc120.dll
lea edx, [ebp - 0x3c]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x24]
call fcn.1001e9d0
push esi
push eax
mov byte [ebp - 4], 9
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 - 0x54]
call fcn.1001a5a0
pop esi
jmp 0x100debf1
xor bl, bl
lea ecx, [ebp - 0x3c]
call fcn.1001a5a0
mov ecx, dword [ebp - 0xc]
mov al, bl
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret