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

Disassembly:
sub esp, 0x10
push esi
push edi
mov edi, dword [0x439564]
push 2
call fcn.00408ae0
test eax, eax
je 0x4078e8
call eax
movzx eax, ax
push eax
push 0x453000
call fcn.004086e0
jmp 0x407944
xor eax, eax
mov dword [0x453000], 0x780030
push eax
push 0x428240
push eax
push str.Control_PanelDesktopResourceLocale
push 0x80000001
mov word [0x453004], ax
call fcn.00408b90
cmp word [0x428240], 0
jne 0x407935
push 0
push 0x428240
push 0x40c97c
push str..DEFAULTControl_PanelInternational
push 0x80000003
call fcn.00408b90
push 0x428240
push 0x453000
call sub.KERNEL32.dll_lstrcatW
call fcn.004077d0
mov eax, dword [0x439560]
and eax, 0x20
mov dword [0x43963c], 0x10000
push 0x450000
mov dword [0x439620], eax
call fcn.00408700
test eax, eax
jne 0x407a0b
mov edx, dword [edi + 0x48]
test edx, edx
je 0x407a0b
mov ecx, dword [0x439598]
push eax
mov eax, dword [edi + 0x4c]
push 0x4354c0
lea eax, [ecx + eax*2]
push eax
lea eax, [ecx + edx*2]
push eax
push dword [edi + 0x44]
call fcn.00408b90
mov ax, word [0x4354c0]
test ax, ax
je 0x407a0b
mov esi, 0x4354c0
cmp ax, 0x22
jne 0x4079c4
push 0x22
mov esi, 0x4354c2
push esi
call fcn.004086a0
xor ecx, ecx
mov word [eax], cx
push esi
call sub.KERNEL32.dll_lstrlenW
add eax, 0xfffffffc
lea eax, [esi + eax*2]
cmp eax, esi
jbe 0x4079fa
push str..exe
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4079fa
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4079f4
test al, 0x10
jne 0x4079fa
push esi
call fcn.00408fa0
push esi
call fcn.004085d0
push eax
push 0x450000
call fcn.00408dc0
push 0x450000
call fcn.00408700
test eax, eax
jne 0x407a29
push dword [edi + 0x118]
push 0x450000
call fcn.00407d70
push 0x8040
push 0
push 0
push 1
push 0x67
push dword [0x437514]
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x4374f8], eax
cmp dword [edi + 0x50], 0xffffffff
mov edi, dword [sym.imp.USER32.dll_RegisterClassW]
je 0x407add
mov ecx, dword [0x437514]
push 0x4374c0
mov dword [0x4374c4], 0x401000
mov dword [0x4374d0], ecx
mov dword [0x4374d4], eax
mov dword [0x4374e4], 0x40c9e8
call edi
test ax, ax
je 0x407bc0
push 0
lea eax, [esp + 0xc]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
sub eax, edx
mov ecx, dword [esp + 8]
push 0
push dword [0x437514]
push 0
push 0
push eax
mov eax, dword [esp + 0x24]
sub eax, ecx
push eax
push edx
push ecx
push 0x80000000
push 0
push 0x40c9e8
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x42c248], eax
push 0
call fcn.00401590
test eax, eax
jne 0x407bae
call fcn.004077d0
cmp dword [0x439640], 0
jne 0x407b93
push 5
push dword [0x42c248]
call dword [sym.imp.USER32.dll_ShowWindow]
push str.RichEd20
call fcn.004080d0
test eax, eax
jne 0x407b24
push str.RichEd32
call fcn.004080d0
mov esi, dword [sym.imp.USER32.dll_GetClassInfoW]
push 0x4374c0
push str.RichEdit20W
push 0
call esi
test eax, eax
jne 0x407b5a
push 0x4374c0
push str.RichEdit
push eax
call esi
push 0x4374c0
mov dword [0x4374e4], 0x40ca08
call edi
mov eax, dword [0x4374f4]
push 0
push 0x406cc0
add eax, 0x69
push 0
movzx eax, ax
push eax
push dword [0x437514]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
push 5
mov esi, eax
call fcn.00401590
push 1
call fcn.00405850
pop edi
mov eax, esi
pop esi
add esp, 0x10
ret
push 0
call fcn.00407690
test eax, eax
je 0x407bb9
cmp dword [0x43750c], 0
jne 0x407bae
push 2
call fcn.00401590
pop edi
mov eax, 2
pop esi
add esp, 0x10
ret
push 1
call fcn.00401590
pop edi
xor eax, eax
pop esi
add esp, 0x10
ret