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

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x14
mov esi, dword [0x424c90]
push 6
call fcn.00406c80
test eax, eax
je 0x405e4e
call eax
movzx eax, ax
push eax
push 0x42e000
call fcn.004066c9
call fcn.00403f4e
push 0x42d400
mov eax, dword [0x424ce0]
and eax, 0x20
mov dword [0x424c30], eax
call fcn.004062c0
test eax, eax
jne 0x405bf8
cmp dword [esi + 0x48], 0
jne 0x405dbd
push 0x42d400
call fcn.004062c0
test eax, eax
je 0x405da8
push 0x8040
push 0
push 0
push 1
push 0x67
push dword [0x424d30]
call sub.USER32.dll_LoadImageA
mov dword [0x425580], eax
mov edx, eax
cmp dword [esi + 0x50], 0xffffffff
je 0x405cbd
mov eax, dword [0x424d30]
lea ebx, [ebp - 0x1c]
push 0x4221e0
mov dword [0x4221f4], edx
mov dword [ebp - 0x1c], 0x624e5f
mov dword [0x4221e4], 0x401000
mov dword [0x4221f0], eax
mov dword [0x422204], ebx
call sub.USER32.dll_RegisterClassA
xor edx, edx
test ax, ax
jne 0x405c77
lea esp, [ebp - 8]
mov eax, edx
pop ebx
pop esi
pop ebp
ret
push 0
lea eax, [ebp - 0x18]
push eax
push 0
push 0x30
call sub.USER32.dll_SystemParametersInfoA
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
push 0
sub eax, ecx
push dword [0x424d30]
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 [0x423240], eax
push 0
call fcn.00401494
mov edx, 2
test eax, eax
jne 0x405c6e
call fcn.00403f4e
cmp dword [0x424c50], 0
jne 0x405d73
push 5
push dword [0x423240]
call sub.USER32.dll_ShowWindow
push 0x405b75
call sub.KERNEL32.dll_LoadLibraryA
test eax, eax
je 0x405d67
push 0x4221e0
push 0x405b87
push 0
call sub.USER32.dll_GetClassInfoA
test eax, eax
je 0x405d40
mov ax, word [0x4255b0]
push 0
push 0x404094
add eax, 0x69
push 0
movzx eax, ax
push eax
push dword [0x424d30]
call sub.USER32.dll_DialogBoxParamA
mov ebx, eax
push 5
call fcn.00401494
mov edx, ebx
jmp 0x405c6e
push 0x4221e0
push 0x405b93
push 0
call sub.USER32.dll_GetClassInfoA
mov dword [0x422204], 0x405b87
push 0x4221e0
call sub.USER32.dll_RegisterClassA
jmp 0x405d0f
push 0x405b7e
call sub.KERNEL32.dll_LoadLibraryA
jmp 0x405cfa
push 0
call fcn.00405691
test eax, eax
je 0x405d9a
cmp dword [0x425540], 0
je 0x405d91
mov edx, 2
jmp 0x405c6e
push 2
call fcn.00401494
jmp 0x405d87
push 1
call fcn.00401494
xor edx, edx
jmp 0x405c6e
push dword [esi + 0x118]
push 0x42d400
call fcn.0040683a
jmp 0x405c0a
push 0
mov eax, dword [0x424cb8]
push 0x4255e0
mov edx, eax
add edx, dword [esi + 0x4c]
push edx
add eax, dword [esi + 0x48]
push eax
push dword [esi + 0x44]
call fcn.0040664e
mov al, byte [0x4255e0]
test al, al
je 0x405bf8
mov ebx, 0x4255e0
cmp al, 0x22
je 0x405e3c
push ebx
call fcn.004067a5
lea eax, [eax + ebx - 4]
cmp eax, ebx
ja 0x405e15
push ebx
call fcn.004061a9
push eax
push 0x42d400
call fcn.0040678e
jmp 0x405bf8
push 0x405b9c
push eax
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x405dff
push ebx
call sub.KERNEL32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x405e34
and eax, 0x10
jne 0x405dff
push ebx
call fcn.00406204
jmp 0x405dff
push 0x22
mov ebx, 0x4255e1
push ebx
call fcn.004061d9
mov byte [eax], 0
jmp 0x405df1
push 0
push 0x422210
push 0
push 0x405b10
push 0x80000001
mov dword [0x42e000], 0x7830
call fcn.0040664e
cmp byte [0x422210], 0
je 0x405e8d
push 0x422210
push 0x42e000
call fcn.004067ae
jmp 0x405bce
push 0
push 0x422210
push 0x405b2e
push 0x405b50
push 0x80000003
call fcn.0040664e
jmp 0x405e79