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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2000c
call fcn.0041bfa0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
cmp dword [ebx + 0x2c], 0
je 0x4045a8
cmp dword [ebx + 0x30], 0
je 0x4045a8
cmp byte [ebx + 0x34], 0
mov ecx, dword [sym.imp.KERNEL32.dll_CompareStringEx]
push esi
push edi
jne 0x404378
mov esi, dword [ebx + 0x24]
test esi, esi
je 0x404378
mov edi, dword [ebx + 0x28]
test edi, edi
je 0x404378
push 0
push 0
push 0
push 0xffffffffffffffff
push str.PythonCore
push edi
push esi
push 9
push 0x422a6c
call ecx
sub eax, 1
je 0x404349
sub eax, 1
je 0x404372
sub eax, 1
je 0x404349
push str.PythonCore
push 0xffffffffffffffff
push esi
push edi
push str.Error_comparing__.s_and__.s__compare_
push 0
call fcn.004011c0
add esp, 0x18
push dword [ebx + 0x24]
push dword [ebx + 0x28]
push str._Cannot_install_for_company__.s_n
call fcn.004010f0
add esp, 0xc
mov eax, 0x67
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405fcc
mov esp, ebp
pop ebp
ret
mov ecx, dword [sym.imp.KERNEL32.dll_CompareStringEx]
mov esi, dword [0x427940]
mov eax, 0x427940
mov dword [ebp - 0x20008], eax
test esi, esi
je 0x40435c
nop dword [eax]
mov edi, dword [ebx + 0x2c]
test edi, edi
je 0x4043ea
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x2000c], eax
test eax, eax
je 0x4043e6
test esi, esi
je 0x4043ea
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
push eax
push edi
push 9
push 0x422a6c
call ecx
sub eax, 1
je 0x4043ea
sub eax, 1
je 0x40440b
sub eax, 1
je 0x4043ea
push esi
push 0xffffffffffffffff
push edi
push dword [ebp - 0x2000c]
push str.Error_comparing__.s_and__.s__compare_
push 0
call fcn.004011c0
add esp, 0x18
jmp 0x4043ea
test esi, esi
je 0x40440b
mov esi, dword [ebp - 0x20008]
add esi, 8
mov dword [ebp - 0x20008], esi
mov esi, dword [esi]
test esi, esi
je 0x40435c
mov ecx, dword [sym.imp.KERNEL32.dll_CompareStringEx]
jmp 0x404390
mov eax, dword [ebp - 0x20008]
mov esi, dword [eax + 4]
test esi, esi
je 0x40435c
lea eax, [ebp - 0x10004]
push eax
push 0
push 0
push 0x1c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x4044cd
push 1
push str.MicrosoftWindowsAppsMicrosoft.DesktopAppInstaller_8wekyb3d8bbwewinget.exe
lea eax, [ebp - 0x10004]
push eax
push 0x8000
push eax
call dword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchCombineEx]
test eax, eax
js 0x4044cd
push esi
push str.install__q__s___exact___accept_package_agreements___source_msstore
lea eax, [ebp - 0x20004]
push 0x8000
push eax
call fcn.00401070
add esp, 0x10
test eax, eax
je 0x4044cd
lea eax, [ebp - 0x10004]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x404522
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 0x8000
lea ecx, [ebp - 0x20004]
push ecx
push 0x400
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
lea eax, [ebp - 0x20004]
push eax
lea eax, [ebp - 0x10004]
push eax
push str._Skipping__s:__s_n
call fcn.004010f0
add esp, 0xc
push esi
push str.ms_windows_store:__pdp__productid_s
lea eax, [ebp - 0x10004]
push 0x8000
push eax
call fcn.00401070
add esp, 0x10
test eax, eax
je 0x40435c
push 2
call fcn.0040e96d
push eax
push str.Opening_the_Microsoft_Store_to_install_Python._After_installation__please_run_your_command_again._n
call fcn.0040ee22
add esp, 0xc
lea ecx, [ebp - 0x10004]
xor edx, edx
call fcn.00404140
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405fcc
mov esp, ebp
pop ebp
ret
push 1
call fcn.0040e96d
push eax
push str.Launching_winget_to_install_Python._The_following_output_is_from_the_install_process_n_n
call fcn.0040ee22
add esp, 0xc
lea edx, [ebp - 0x20004]
lea ecx, [ebp - 0x10004]
call fcn.00404140
cmp eax, 0x6f
jne 0x404578
push 2
call fcn.0040e96d
push eax
push str._nPlease_check_the_install_status_and_run_your_command_again.
call fcn.0040ee22
add esp, 0xc
mov eax, 0x6f
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405fcc
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x404361
push 1
call fcn.0040e96d
push eax
push str._nInstall_appears_to_have_succeeded._Searching_for_new_matching_installs._n
call fcn.0040ee22
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405fcc
mov esp, ebp
pop ebp
ret
push str._Cannot_install_Python_with_no_tag_specified_n
call fcn.004010f0
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
mov eax, 0x67
pop ebx
call fcn.00405fcc
mov esp, ebp
pop ebp
ret