Function at 0x405205
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x14
mov esi, dword [0x42f940]
push 6
call fcn.00406105
test eax, eax
je 0x405230
call eax
movzx eax, ax
push eax
push 0x439000
call fcn.00405c61
jmp 0x405285
push 0
mov dword [0x439000], 0x7830
push 0x42bcc8
push 0
push str.Control_PanelDesktopResourceLocale
push 0x80000001
call fcn.00405bee
cmp byte [0x42bcc8], 0
jne 0x405276
push 0
push 0x42bcc8
push 0x40a38e
push str..DEFAULTControl_PanelInternational
push 0x80000003
call fcn.00405bee
push 0x42bcc8
push 0x439000
call fcn.00405dc4
call fcn.00403b64
mov eax, dword [0x42f9a0]
and eax, 0x20
push 0x438400
mov dword [0x42f8e0], eax
call fcn.00405dfd
test eax, eax
jne 0x405336
cmp dword [esi + 0x48], 0
je 0x405336
mov eax, dword [0x42f968]
push 0
mov edx, eax
push 0x4302a0
add edx, dword [esi + 0x4c]
push edx
add eax, dword [esi + 0x48]
push eax
push dword [esi + 0x44]
call fcn.00405bee
mov al, byte [0x4302a0]
test al, al
je 0x405336
mov ebx, 0x4302a0
cmp al, 0x22
jne 0x4052f3
mov ebx, 0x4302a1
push 0x22
push ebx
call fcn.004059c9
mov byte [eax], 0
push ebx
call fcn.00405d36
lea eax, [ebx + eax - 4]
cmp eax, ebx
jbe 0x405325
push str..exe
push eax
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x405325
push ebx
call sub.KERNEL32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x40531f
test al, 0x10
jne 0x405325
push ebx
call fcn.00405d99
push ebx
call fcn.00405dcd
push eax
push 0x438400
call fcn.00405d1f
push 0x438400
call fcn.00405dfd
test eax, eax
jne 0x405354
push dword [esi + 0x118]
push 0x438400
call fcn.00405ea5
push 0x8040
push 0
push 0
push 1
push 0x67
push dword [0x42f9f0]
call sub.USER32.dll_LoadImageA
mov dword [0x430240], eax
mov edx, eax
cmp dword [esi + 0x50], 0xffffffff
je 0x405402
mov eax, dword [0x42f9f0]
lea ebx, [ebp - 0x1c]
mov dword [0x42bcac], edx
mov dword [ebp - 0x1c], 0x624e5f
mov dword [0x42bc9c], 0x401000
mov dword [0x42bca8], eax
mov dword [0x42bcbc], ebx
push 0x42bc98
call sub.USER32.dll_RegisterClassA
xor edx, edx
test ax, ax
je 0x4054e0
lea eax, [ebp - 0x18]
push 0
push eax
push 0
push 0x30
call sub.USER32.dll_SystemParametersInfoA
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
push 0
sub eax, ecx
push dword [0x42f9f0]
mov edx, dword [ebp - 0x18]
push 0
push 0
push eax
mov eax, dword [ebp - 0x10]
sub eax, edx
push eax
push ecx
push edx
push 0x80000000
push 0
push ebx
push pe_nt_image_headers32
call sub.USER32.dll_CreateWindowExA
mov dword [0x42ccf8], eax
push 0
call fcn.00402f71
mov edx, 2
test eax, eax
jne 0x4054e0
call fcn.00403b64
cmp dword [0x42f900], 0
jne 0x4054b5
push 5
push dword [0x42ccf8]
call sub.USER32.dll_ShowWindow
push str.RichEd20
call sub.KERNEL32.dll_LoadLibraryA
test eax, eax
jne 0x40544d
push str.RichEd32
call sub.KERNEL32.dll_LoadLibraryA
push 0x42bc98
push 0x40a3e7
push 0
call sub.USER32.dll_GetClassInfoA
test eax, eax
jne 0x405487
push 0x42bc98
push str.RichEdit
push 0
call sub.USER32.dll_GetClassInfoA
mov dword [0x42bcbc], 0x40a3e7
push 0x42bc98
call sub.USER32.dll_RegisterClassA
mov ax, word [0x430270]
push 0
add eax, 0x69
push 0x403c87
movzx eax, ax
push 0
push eax
push dword [0x42f9f0]
call sub.USER32.dll_DialogBoxParamA
mov ebx, eax
push 5
call fcn.00402f71
mov edx, ebx
jmp 0x4054e0
push 0
call fcn.00405195
test eax, eax
je 0x4054d7
cmp dword [0x430200], 0
jne 0x4054d0
push 2
call fcn.00402f71
mov edx, 2
jmp 0x4054e0
push 1
call fcn.00402f71
xor edx, edx
lea esp, [ebp - 8]
mov eax, edx
pop ebx
pop esi
pop ebp
ret