Function at 0x100dcb30
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1024fd15
push eax
mov dword fs:[0], esp
lea eax, [ebp - 0x25c]
sub esp, 0x250
push eax
push 0
push 0
push 0x24
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x100dcb77
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 - 0x14], 0
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0x10], 7
mov word [ebp - 0x24], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100dcb94
sub ecx, edx
lea eax, [ebp - 0x25c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x24]
call fcn.1001a600
mov dword [ebp - 4], 0
call sym.WMCommon.dll_public:_static_bool___cdecl_WM::GMSoftwareDetect::IsWow64_void_
lea ecx, [ebp - 0x24]
push 9
test al, al
je 0x100dcbcf
push str.SysWOW64
jmp 0x100dcbd4
push str._system32
call fcn.1001a7c0
push ebx
push str.msvcp140.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x3c]
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 - 0x3c]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100dcd4b
push str._vcomp140.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x3c]
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 - 0x3c]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100dcd4b
push str.mfc140.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x3c]
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 - 0x3c]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100dcd4b
push str.mfc140u.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x3c]
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 - 0x3c]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100dcd4b
push str.mfcm140.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x3c]
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 - 0x3c]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100dcd4b
push str.mfcm140u.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x3c]
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 - 0x3c]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100dcd4b
push esi
push str.14.0.23026.0
lea ecx, [ebp - 0x54]
call fcn.1001a2f0
mov esi, eax
push str.mfc140.dll
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x3c]
call fcn.1001e9d0
push esi
push eax
mov byte [ebp - 4], 8
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 - 0x3c]
mov bl, al
call fcn.1001a5a0
lea ecx, [ebp - 0x54]
call fcn.1001a5a0
pop esi
jmp 0x100dcd4d
xor bl, bl
lea ecx, [ebp - 0x24]
call fcn.1001a5a0
mov ecx, dword [ebp - 0xc]
mov al, bl
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret