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

Disassembly:
sub ebp, 0x14
push ebx
push ebp
push esi
mov esi, dword [edi]
jo 0x4035c6
inc edx
add byte [edi + 0x6a], dl
push cs
call 0x4405e06
xor ebx, ebx
cmp eax, ebx
je 0x4035aa
call eax
movzx eax, ax
push eax
push 0x42a000
call 0x406a17
jecxz 0x4035f4
mov edi, 0x520460
push ebx
push edi
push ebx
push str.Control_PanelDesktopResourceLocale
push 0x80000001
mov dword [0x42a000], 0x7830
add byte [eax + 1], ch
add byte [eax], al
add bh, 5
add byte [eax + 0x78300042], ah
add byte [eax], al
call 0x8059a0
cmp byte [0x420464], bl
jne 0x4035e9
push edi
push edi
push 0x407302
push str..DEFAULTControl_PanelInternational
push 0x80000003
call 0x14059a0
push edi
js 0x4035ec
mov al, byte [0xe9e80042]
and al, 0
add al, ch
dec esi
add al, byte [eax]
add byte [ecx + 0x4c3e79], ah
call 0x403847
mov eax, dword [0x4c3e79]
mov ebp, 0x429400
and eax, 0x20
push ebp
mov dword [0x423ee0], eax
mov dword [0x8622efc], 0x10000
call fcn.00405686
test eax, eax
jne 0x4036a4
imul esp, dword [eax], 0
add byte [ebp - 0x7e7af040], al
add byte [eax], al
add byte [ebx - 0x34c4b7b2], cl
mov ecx, dword [esi + 0x48]
cmp ecx, ebx
push esp
jp 0x4035b6
push esi
dec esp
mov eax, dword [0x423e98]
mov edi, 0x422e00
push ebx
add edx, eax
push edi
add ecx, eax
push edx
push ecx
div dword [esi + 0x44]
in al, dx
pop ecx
add eax, dword [eax]
add byte [eax + 0x422e00], ah
cmp al, bl
je 0x4036a4
cmp al, 0x22
jne 0x403663
mov edi, 0x422e01
push 0x22
xlatb
call fcn.004055aa
mov byte [eax], bl
push edi
call fcn.00405ad0
lea eax, [eax + edi - 4]
cmp eax, edi
jbe 0x403617
push str..exe
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x403697
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4036a1
test al, 0x10
jns 0x403697
push edi
call fcn.004055ea
push edi
call 0x40d5a3
push eax
push ebp
call fcn.00405aba
and al, 0
add byte [ebp - 0x18], dl
int3
push ebp
call fcn.00405676
test eax, eax
jne 0x4036ba
push dword [esi + 0x118]
push ebp
call fcn.004056ee
push 0x8040
push ebx
push ebx
push 1
push 0x67
push dword [0x423e60]
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [0x423648], eax
cmp dword [esi + 0x50], 0x7f
mov edi, 0x423600
je 0x40376e
mov ecx, dword [eax]
inc edx
add byte [ebx + 0x423614], ah
lea eax, [esp + 0x10]
push edi
mov dword [esp + 0x1c], 0x724e5f
mov dword [0x423604], 0x401000
mov dword [0x423610], ecx
mov dword [0x423624], eax
call dword [0x44071bc]
test ax, ax
je 0x40383d
lea eax, [esp + 0x14]
push ebx
push eax
push ebx
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
push ebx
push dword [0x421e60]
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x20]
inc ebx
push ebx
push eax
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
inc eax
lea eax, [esp + 0x28]
push dword [eax + 0x24]
xor bh, bh
je 0x40377a
xor byte [eax], ch
inc eax
add byte [eax - 0x7f97afad], al
add byte [eax], al
add bh, bh
adc eax, sym.imp.USER32.dll_CreateWindowExA
mov dword [0x442043c], eax
push ebx
call fcn.00401430
test eax, eax
je 0x403780
dec edx
add bl, byte [eax - 0x17]
mov edi, 0xe8000000
ret 0
pop eax
jmp 0x40383f
call 0x403847
cmp byte [0x423f00], bl
jne 0x403814
push 5
push dword [0x42063c]
call dword [sym.imp.VERSION.dll_VerQueryValueA]
mov edx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.RichEd20
call esi
test eax, eax
jne 0x4037b7
push str.RichEd32
call esi
mov esi, dword [sym.imp.USER32.dll_GetClassInfoA]
mov ebp, str.RichEdit20A
push edi
push ebp
push ebx
invalid
push ebx
call 0x404ef5
test eax, eax
je 0x403836
cmp dword [0x42362c], ebx
jne 0x403778
push 2
call fcn.00401430
jmp 0x80403778
outsb dx, byte [esi]
add eax, ebp
mov bl, 0xdb
invalid
xor eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
rcl dword [ebx + 0x55], 0x56
push edi
mov edi, 0x42a000
mov ebx, pe_overlay
push edi
call fcn.00405a30
mov esi, dword [0x423ea4]
mov ecx, esi
dec esi
test ecx, ecx
je 0x4038af
mov ecx, dword [0x423e70]
mov ecx, dword [ecx + 0x64]
mov edx, ecx
imul ecx, esi
neg edx
add ecx, dword [0x10423ea1]
mov bp, word [ecx]
xor bp, ax
and ebp, ebx
test bp, bp
je 0x403896
mov ebp, esi
dec esi
add ecx, dword [edx - 0x158a127b]
jmp 0x4038af
mov edx, dword [ebp + 0x42]
mov dword [0x423640], edx
mov edx, dword [ecx + 6]
mov dword [0x423f08], edx
lea edx, [ecx + 0xa]
test edx, edx
jne 0x4038c1
cmp bx, 0xffff
jne 0x4038bd
mov ebx, 0x3ff
jmp 0x40385b
xor ebx, ebx
jmp 0x40385b
mov dword [0x42363c], edx
movzx eax, word [ecx]
push eax
push edi
call fcn.00405a17
push 0xfffffffffffffffe
push 0x423660
call fcn.00405ade
add byte [eax - 1], dl
xor eax, 0x42043c