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

Disassembly:
sub esp, 0x10
push esi
push edi
mov edi, dword [0x439544]
push 2
call fcn.004088e0
test eax, eax
je 0x4077c8
call eax
movzx eax, ax
push eax
push 0x453000
call fcn.004084e0
jmp 0x407824
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.00408990
cmp word [0x428240], 0
jne 0x407815
push 0
push 0x428240
push 0x40c92c
push str..DEFAULTControl_PanelInternational
push 0x80000003
call fcn.00408990
push 0x428240
push 0x453000
call sub.KERNEL32.dll_lstrcatW
call fcn.004076b0
mov eax, dword [0x439540]
and eax, 0x20
mov dword [0x43961c], 0x10000
push 0x450000
mov dword [0x439600], eax
call fcn.00408500
test eax, eax
jne 0x4078eb
mov edx, dword [edi + 0x48]
test edx, edx
je 0x4078eb
mov ecx, dword [0x439578]
push eax
mov eax, dword [edi + 0x4c]
push str.ShowInstall
lea eax, [ecx + eax*2]
push eax
lea eax, [ecx + edx*2]
push eax
push dword [edi + 0x44]
call fcn.00408990
mov ax, word [str.ShowInstall]
test ax, ax
je 0x4078eb
mov esi, str.ShowInstall
cmp ax, 0x22
jne 0x4078a4
push 0x22
mov esi, 0x4354c2
push esi
call fcn.004084a0
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 0x4078da
push str..exe
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4078da
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4078d4
test al, 0x10
jne 0x4078da
push esi
call fcn.00408d70
push esi
call fcn.004083d0
push eax
push 0x450000
call fcn.00408b90
push 0x450000
call fcn.00408500
test eax, eax
jne 0x407909
push dword [edi + 0x118]
push 0x450000
call fcn.00407c50
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 0x4079bd
mov ecx, dword [0x437514]
push 0x4374c0
mov dword [0x4374c4], 0x401000
mov dword [0x4374d0], ecx
mov dword [0x4374d4], eax
mov dword [str.RichEdit20W], 0x40c998
call edi
test ax, ax
je 0x407aa0
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 0x40c998
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x42c248], eax
push 0
call fcn.00401490
test eax, eax
jne 0x407a8e
call fcn.004076b0
cmp dword [0x439620], 0
jne 0x407a73
push 5
push dword [0x42c248]
call dword [sym.imp.USER32.dll_ShowWindow]
push str.RichEd20
call fcn.00407f20
test eax, eax
jne 0x407a04
push str.RichEd32
call fcn.00407f20
mov esi, dword [sym.imp.USER32.dll_GetClassInfoW]
push 0x4374c0
push str.RichEdit20W
push 0
call esi
test eax, eax
jne 0x407a3a
push 0x4374c0
push str.RichEdit
push eax
call esi
push 0x4374c0
mov dword [str.RichEdit20W], 0x40c9b8
call edi
mov eax, dword [0x4374f4]
push 0
push 0x406c10
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.00401490
push 1
call fcn.00405790
pop edi
mov eax, esi
pop esi
add esp, 0x10
ret
push 0
call fcn.00407570
test eax, eax
je 0x407a99
cmp dword [0x43750c], 0
jne 0x407a8e
push 2
call fcn.00401490
pop edi
mov eax, 2
pop esi
add esp, 0x10
ret
push 1
call fcn.00401490
pop edi
xor eax, eax
pop esi
add esp, 0x10
ret