Function at 0x100e0d00
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10250627
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 0x100e0d47
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 0x100e0d64
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 0x100e0d9f
push str.SysWOW64
jmp 0x100e0da4
push str._system32
call fcn.1001a7c0
push ebx
push esi
push str.D3DX9_43.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 0x100e0f3c
push 0xd
xor eax, eax
mov dword [ebp - 0x2c], 0
push str.9.29.952.3111
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
call fcn.1001a600
push str.D3DX9_43.dll
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x54]
call fcn.1001e9d0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
push ecx
push eax
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 - 0x54]
mov bl, al
call fcn.1001a5a0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0
call fcn.1001a5a0
test bl, bl
je 0x100e0f3c
push str.d3dx10_43.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x54]
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 - 0x54]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100e0f3c
push str.9.29.952.3111
lea ecx, [ebp - 0x3c]
call fcn.1001a2f0
mov esi, eax
push str.d3dx10_43.dll
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x54]
call fcn.1001e9d0
push esi
push eax
mov byte [ebp - 4], 6
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 - 0x54]
mov bl, al
call fcn.1001a5a0
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0
call fcn.1001a5a0
test bl, bl
je 0x100e0f3c
push str.d3dx11_43.dll
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x54]
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 - 0x54]
mov bl, al
call fcn.1001a5a0
test bl, bl
je 0x100e0f3c
push str.9.29.952.3111
lea ecx, [ebp - 0x3c]
call fcn.1001a2f0
mov esi, eax
push str.d3dx11_43.dll
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x54]
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 - 0x54]
mov bl, al
call fcn.1001a5a0
lea ecx, [ebp - 0x3c]
call fcn.1001a5a0
test bl, bl
je 0x100e0f3c
mov bl, 1
jmp 0x100e0f3e
xor bl, bl
lea ecx, [ebp - 0x24]
call fcn.1001a5a0
mov ecx, dword [ebp - 0xc]
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret