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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x40a004]
mov esi, dword [eax]
push 2
call fcn.00406d65
mov ecx, dword [0x40ae14]
mov ebx, dword [ecx]
lea edi, [ebx + 0x60000]
test eax, eax
je 0x40475b
call eax
movzx eax, ax
push eax
push edi
call fcn.00407d5e
jmp 0x4047b6
mov dword [ebx + 0x60000], 0x780030
mov word [ebx + 0x60004], 0
xor eax, eax
push eax
push 0x44c2b8
push eax
push str.Control_PanelDesktopResourceLocale
push 0x80000001
call fcn.00407cd7
cmp word [0x44c2b8], 0
jne 0x4047ab
push 0
push 0x44c2b8
push 0x40b234
push str..DEFAULTControl_PanelInternational
push 0x80000003
call fcn.00407cd7
push 0x44c2b8
push edi
call sub.KERNEL32.dll_lstrcatW
call fcn.004069bc
mov ebp, dword [0x40b398]
mov eax, dword [ebp]
and eax, 0x20
mov ecx, dword [0x40b044]
mov dword [ecx], eax
mov dword [ecx + 0x1c], 0x10000
add ebx, 0x54000
push ebx
call fcn.0040719e
test eax, eax
je 0x40490d
push ebx
call fcn.0040719e
test eax, eax
jne 0x404800
push dword [esi + 0x118]
push ebx
call fcn.00407938
test byte [ebp], 0x10
je 0x404820
mov eax, dword [0x40b1dc]
cmp dword [eax], 0
jne 0x404820
call fcn.004046fc
mov eax, dword [0x40ae20]
mov dword [eax], 1
mov ebx, dword [0x40ae0c]
xor eax, eax
push 0x8040
push eax
push eax
push 1
push 0x67
push dword [ebx]
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x45c2b8], eax
cmp dword [esi + 0x50], 0xffffffff
je 0x4048bd
mov dword [0x44c294], section..text
mov ecx, dword [ebx]
mov dword [0x44c2a0], ecx
mov dword [0x44c2a4], eax
mov dword [0x44c2b4], 0x40b296
push 0x44c290
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x404a40
xor esi, esi
mov edi, esp
push esi
push edi
push esi
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
sub edx, eax
mov edi, dword [edi + 0xc]
sub edi, ecx
push esi
push dword [ebx]
push esi
push esi
push edi
push edx
push ecx
push eax
push 0x80000000
push esi
push 0x40b296
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x45c2bc], eax
push 0
call fcn.004036fd
mov esi, 2
test eax, eax
jne 0x404a42
call fcn.004069bc
mov eax, dword [0x40b044]
cmp dword [eax + 0x20], 0
je 0x4049aa
push 0
call fcn.004050eb
test eax, eax
je 0x404a39
cmp dword [0x45c2c4], 0
jne 0x404a42
push 2
call fcn.004036fd
jmp 0x404a42
mov eax, dword [esi + 0x48]
test eax, eax
je 0x4047ea
mov ecx, dword [0x40a00c]
mov ecx, dword [ecx + 0x18]
lea eax, [ecx + eax*2]
mov edx, dword [esi + 0x4c]
lea ecx, [ecx + edx*2]
mov edi, dword [0x40b3a0]
push 0
push edi
push ecx
push eax
push dword [esi + 0x44]
call fcn.00407cd7
movzx eax, word [edi]
test eax, eax
je 0x4047ea
cmp eax, 0x22
jne 0x404963
mov edi, dword [0x40b3a0]
add edi, 2
push 0x22
push edi
call fcn.00407351
mov word [eax], 0
push edi
call sub.KERNEL32.dll_lstrlenW
lea eax, [edi + eax*2 - 8]
cmp eax, edi
jbe 0x404998
push str..exe
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x404998
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x404992
and eax, 0x10
jne 0x404998
push edi
call fcn.00407255
push edi
call fcn.00407322
push eax
push ebx
call fcn.00407239
jmp 0x4047ea
push 5
push dword [0x45c2bc]
call dword [sym.imp.USER32.dll_ShowWindow]
push str.RichEd20
call fcn.004080ab
test eax, eax
jne 0x4049d0
push str.RichEd32
call fcn.004080ab
push 0x44c290
push 0x40b2b0
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
test eax, eax
jne 0x404a0a
mov esi, 0x44c290
push esi
push str.RichEdit
push 0
call dword [sym.imp.USER32.dll_GetClassInfoW]
mov dword [0x44c2b4], 0x40b2b0
push esi
call dword [sym.imp.USER32.dll_RegisterClassW]
mov eax, dword [0x45c2c0]
add eax, 0x69
movzx eax, ax
xor ecx, ecx
push ecx
push 0x404a4c
push ecx
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov esi, eax
push 5
call fcn.004036fd
push 1
call fcn.00404628
jmp 0x404a42
push 1
call fcn.004036fd
xor esi, esi
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret