Function at 0x404a10
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x20014
call fcn.00421fc0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x2c], 0
je 0x404cf0
cmp dword [ebx + 0x30], 0
je 0x404cf0
cmp byte [ebx + 0x34], 0
mov ecx, dword [sym.imp.KERNEL32.dll_CompareStringEx]
jne 0x404ab7
mov esi, dword [ebx + 0x24]
test esi, esi
je 0x404ab7
mov edi, dword [ebx + 0x28]
test edi, edi
je 0x404ab7
push 0
push 0
push 0
push 0xffffffffffffffff
push str.PythonCore
push edi
push esi
push 9
push 0x428e9c
call ecx
sub eax, 1
je 0x404a99
sub eax, 1
je 0x404ab1
sub eax, 1
je 0x404a99
push str.PythonCore
push 0xffffffffffffffff
push esi
push edi
push str.Error_comparing__.s_and__.s__compare_
push 0
call fcn.00401200
add esp, 0x18
push dword [ebx + 0x24]
push dword [ebx + 0x28]
push str._Cannot_install_for_company__.s_n
call fcn.00401130
add esp, 0xc
jmp 0x404cfd
mov ecx, dword [sym.imp.KERNEL32.dll_CompareStringEx]
mov esi, dword [0x42e970]
mov eax, 0x42e970
mov dword [ebp - 0x2000c], eax
test esi, esi
je 0x404cfd
mov edi, dword [ebx + 0x2c]
test edi, edi
je 0x404b2a
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x20010], eax
test eax, eax
je 0x404b26
test esi, esi
je 0x404b2a
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
push eax
push edi
push 9
push 0x428e9c
call ecx
sub eax, 1
je 0x404b2a
sub eax, 1
je 0x404b4b
sub eax, 1
je 0x404b2a
push esi
push 0xffffffffffffffff
push edi
push dword [ebp - 0x20010]
push str.Error_comparing__.s_and__.s__compare_
push 0
call fcn.00401200
add esp, 0x18
jmp 0x404b2a
test esi, esi
je 0x404b4b
mov esi, dword [ebp - 0x2000c]
add esi, 8
mov dword [ebp - 0x2000c], esi
mov esi, dword [esi]
test esi, esi
je 0x404cfd
mov ecx, dword [sym.imp.KERNEL32.dll_CompareStringEx]
jmp 0x404ad0
mov eax, dword [ebp - 0x2000c]
mov esi, dword [eax + 4]
test esi, esi
je 0x404cfd
lea eax, [ebp - 0x10008]
push eax
push 0
push 0
push 0x1c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x404c0d
push 1
push str.MicrosoftWindowsAppsMicrosoft.DesktopAppInstaller_8wekyb3d8bbwewinget.exe
lea eax, [ebp - 0x10008]
push eax
push 0x8000
push eax
call dword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchCombineEx]
test eax, eax
js 0x404c0d
push esi
push str.install__q__s___exact___accept_package_agreements___source_msstore
lea eax, [ebp - 0x20008]
push 0x8000
push eax
call fcn.00401080
add esp, 0x10
test eax, eax
je 0x404c0d
lea eax, [ebp - 0x10008]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x404c65
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 0x8000
lea ecx, [ebp - 0x20008]
push ecx
push 0x400
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
lea eax, [ebp - 0x20008]
push eax
lea eax, [ebp - 0x10008]
push eax
push str._Skipping__s:__s_n
call fcn.00401130
add esp, 0xc
push esi
push str.ms_windows_store:__pdp__productid_s
lea eax, [ebp - 0x10008]
push 0x8000
push eax
call fcn.00401080
add esp, 0x10
test eax, eax
je 0x404cfd
push 2
call fcn.0040ee4d
add esp, 4
push eax
push str.Opening_the_Microsoft_Store_to_install_Python._After_installation__please_run_your_command_again._n
call fcn.00414c03
add esp, 8
lea ecx, [ebp - 0x10008]
xor edx, edx
call fcn.00404880
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040649c
mov esp, ebp
pop ebp
ret
push 1
call fcn.0040ee4d
add esp, 4
push eax
push str.Launching_winget_to_install_Python._The_following_output_is_from_the_install_process_n_n
call fcn.00414c03
add esp, 8
lea edx, [ebp - 0x20008]
lea ecx, [ebp - 0x10008]
call fcn.00404880
cmp eax, 0x6f
jne 0x404cc1
push 2
call fcn.0040ee4d
add esp, 4
push eax
push str._nPlease_check_the_install_status_and_run_your_command_again.
call fcn.00414c03
add esp, 8
mov eax, 0x6f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040649c
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x404d02
push 1
call fcn.0040ee4d
add esp, 4
push eax
push str._nInstall_appears_to_have_succeeded._Searching_for_new_matching_installs._n
call fcn.00414c03
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040649c
mov esp, ebp
pop ebp
ret
push str._Cannot_install_Python_with_no_tag_specified_n
call fcn.00401130
add esp, 4
mov eax, 0x67
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040649c
mov esp, ebp
pop ebp
ret