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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10054
call fcn.0041bfa0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0x10054], edx
mov dword [ebp - 0x10050], eax
push edi
test esi, esi
je 0x403a19
cmp byte [ecx + 0x36], 0
je 0x403a2a
cmp byte [ecx + 0x39], 0
mov esi, str.pythonw.exe
mov eax, str.python.exe
cmove esi, eax
lea eax, [ebp - 0x10044]
push eax
push 0
push 0
push 0x1c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x403ce2
mov edi, dword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchCombineEx]
lea eax, [ebp - 0x10044]
push 1
push str.MicrosoftWindowsApps
push eax
push 0x8000
push eax
call edi
test eax, eax
js 0x403ce2
push 1
push ebx
lea eax, [ebp - 0x10044]
push eax
push 0x8000
push eax
call edi
test eax, eax
js 0x403ce2
push 1
push esi
lea eax, [ebp - 0x10044]
push eax
push 0x8000
push eax
call edi
test eax, eax
js 0x403ce2
lea eax, [ebp - 0x10044]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x403ac7
pop edi
pop esi
mov eax, 0x67
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405fcc
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x10050]
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.0040eea6
add esp, 0xc
call fcn.004012a0
mov esi, 0xaa64
cmp ax, si
jne 0x403afd
push str._arm64
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.0040ef0a
add esp, 0xc
lea edx, [ebp - 0x44]
mov ecx, str.PythonCore
call fcn.00402ea0
mov edi, eax
test edi, edi
jne 0x403b24
lea eax, [edi + 0x68]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405fcc
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x14], eax
call fcn.004012a0
mov ecx, 0x8664
cmp ax, cx
jne 0x403b85
lea esi, [edi + 0x24]
test esi, esi
je 0x403be0
push 0x7fff
push str.64bit
call fcn.00409554
mov dword [ebp - 0x10048], eax
inc eax
mov dword [ebp - 0x1004c], eax
lea ecx, [eax + eax]
push ecx
call fcn.0040f4ae
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x403be0
push dword [ebp - 0x10048]
push str.64bit
push dword [ebp - 0x1004c]
jmp 0x403bd5
call fcn.004012a0
cmp ax, si
jne 0x403be0
lea esi, [edi + 0x24]
test esi, esi
je 0x403be0
push 0x7fff
push str.ARM64
call fcn.00409554
mov dword [ebp - 0x1004c], eax
inc eax
mov dword [ebp - 0x10048], eax
lea ecx, [eax + eax]
push ecx
call fcn.0040f4ae
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x403be0
push dword [ebp - 0x1004c]
push str.ARM64
push dword [ebp - 0x10048]
push ebx
call fcn.0040f587
mov dword [esi], ebx
add esp, 0x10
lea esi, [edi + 0x1c]
test esi, esi
je 0x403c35
lea eax, [ebp - 0x10044]
push 0x7fff
push eax
call fcn.00409554
mov dword [ebp - 0x1004c], eax
inc eax
mov dword [ebp - 0x10048], eax
lea ecx, [eax + eax]
push ecx
call fcn.0040f4ae
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x403c35
push dword [ebp - 0x1004c]
lea eax, [ebp - 0x10044]
push eax
push dword [ebp - 0x10048]
push ebx
call fcn.0040f587
add esp, 0x10
mov dword [esi], ebx
push dword [ebp - 0x10050]
lea eax, [ebp - 0x10044]
push str.Python__s__Store_
push 0x8000
push eax
call fcn.00401070
add esp, 0x10
test eax, eax
je 0x403cad
lea esi, [edi + 0x28]
test esi, esi
je 0x403cad
lea eax, [ebp - 0x10044]
push 0x7fff
push eax
call fcn.00409554
mov dword [ebp - 0x1004c], eax
inc eax
mov dword [ebp - 0x10048], eax
lea ecx, [eax + eax]
push ecx
call fcn.0040f4ae
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x403cad
push dword [ebp - 0x1004c]
lea eax, [ebp - 0x10044]
push eax
push dword [ebp - 0x10048]
push ebx
call fcn.0040f587
add esp, 0x10
mov dword [esi], ebx
mov ecx, dword [ebp - 0x10054]
mov edx, edi
call fcn.00403160
mov esi, eax
test esi, esi
je 0x403ccf
mov ecx, edi
call fcn.00402fb0
xor eax, eax
cmp esi, 0x6e
cmove esi, eax
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00405fcc
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0x6d
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00405fcc
mov esp, ebp
pop ebp
ret