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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffcfc
lea eax, [ebp - 0x624]
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
push eax
mov edi, 0x45db94
call fcn.004262c0
lea edx, [ebp - 0x61c]
push edx
call fcn.004262c0
test ebx, ebx
jne 0x41452e
push 0x4656f0
call fcn.0042333c
test eax, eax
jne 0x414493
push 0x30
push 0x65
call fcn.00408028
push eax
push 0x14c
call fcn.00408028
push eax
mov ecx, dword [0x4656d8]
push ecx
call sub.USER32.dll_MessageBoxA
jmp 0x414865
lea eax, [ebp - 0xa74]
push eax
push 0x4656f0
call fcn.00423384
test al, al
je 0x414865
test byte [ebp - 0x614], 0x10
jne 0x414865
push edi
xor eax, eax
lea edi, [ebp - 0xa74]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x600]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x600]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push eax
push 0x263
call fcn.00408028
push eax
lea edx, [ebp - 0x200]
push edx
call fcn.00456f9c
add esp, 0xc
push 0x24
push 0x262
call fcn.00408028
push eax
lea ecx, [ebp - 0x200]
push ecx
mov eax, dword [0x4656d8]
push eax
call sub.USER32.dll_MessageBoxA
cmp eax, 7
jne 0x414555
jmp 0x414865
push edi
xor eax, eax
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x600]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
lea eax, [ebp - 0x600]
push eax
push 3
call fcn.00412700
push 0x264
call fcn.00408028
push eax
call fcn.00413e78
lea edx, [ebp - 0xaaa]
push edx
call fcn.004262c0
lea ecx, [ebp - 0xaa2]
push ecx
call fcn.004262c0
push 1
lea eax, [ebp - 0x600]
push eax
push 0x465fe5
call fcn.0041e548
dec eax
je 0x4146b3
or ebx, 0xffffffff
push 0x2e
lea eax, [ebp - 0x600]
push eax
call fcn.00453124
add esp, 8
mov esi, eax
test esi, esi
je 0x414639
lea eax, [edi + 0x1fa4]
push eax
push esi
call fcn.00453000
add esp, 8
test eax, eax
jne 0x4145d5
xor ebx, ebx
lea eax, [edi + 0x1fa9]
push eax
push esi
call fcn.00453000
add esp, 8
test eax, eax
jne 0x4145ee
mov ebx, 1
lea eax, [edi + 0x1fae]
push eax
push esi
call fcn.00453000
add esp, 8
test eax, eax
jne 0x414607
mov ebx, 3
lea eax, [edi + 0x1fb3]
push eax
push esi
call fcn.00453000
add esp, 8
test eax, eax
jne 0x414620
mov ebx, 2
lea eax, [edi + 0x1fb8]
push eax
push esi
call fcn.00453000
add esp, 8
test eax, eax
jne 0x414639
mov ebx, 4
cmp ebx, 0xffffffff
jne 0x414665
lea eax, [ebp - 0x600]
mov edx, dword [0x4656e4]
push eax
push 0x414870
push edx
lea ecx, [edi + 0x1fbd]
push ecx
mov eax, dword [0x466a00]
push eax
call sub.USER32.dll_DialogBoxParamA
mov ebx, eax
mov eax, ebx
sub eax, 0xffffffff
je 0x41469a
dec eax
je 0x414674
dec eax
je 0x414687
jmp 0x4146ab
push edi
lea esi, [edi + 0x1fcb]
lea edi, [ebp - 0xb00]
mov eax, edi
movsd dword es:[edi], dword [esi]
pop edi
jmp 0x4146ab
push edi
lea esi, [edi + 0x1fcf]
lea edi, [ebp - 0xb00]
mov eax, edi
movsd dword es:[edi], dword [esi]
pop edi
jmp 0x4146ab
mov edx, dword [0x4656e4]
push edx
call sub.USER32.dll_DestroyWindow
jmp 0x414865
mov dword [ebp - 0xaf6], ebx
jmp 0x4146c4
lea ecx, [ebp - 0xb00]
push ecx
push 0x465fe5
call fcn.0041efa0
lea eax, [ebp - 0xb00]
push eax
lea edx, [edi + 0x1fd3]
push edx
lea ecx, [ebp - 0x200]
push ecx
call fcn.00456f9c
add esp, 0xc
lea eax, [ebp - 0x200]
push eax
call fcn.00413e78
lea edx, [edi + 0x1fdb]
push edx
call fcn.00413e78
mov eax, dword [ebp - 0xaf6]
test eax, eax
je 0x41473b
dec eax
je 0x41473b
push 0x10
push 0x262
call fcn.00408028
push eax
push 0x266
call fcn.00408028
push eax
mov edx, dword [0x4656d8]
push edx
call sub.USER32.dll_MessageBoxA
mov ecx, dword [0x4656e4]
push ecx
call sub.USER32.dll_DestroyWindow
jmp 0x414865
push edi
xor eax, eax
lea edi, [ebp - 0x600]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0xf04]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0xaf6], 0
sete al
and eax, 1
pop edi
mov dword [ebp - 0xb04], eax
call fcn.004131fc
lea edx, [ebp - 0xf04]
push edx
push 0x465fe5
call fcn.0041f074
mov byte [ebp - 0x1304], 0
cmp dword [ebp - 0xaf6], 1
jne 0x4147ca
lea ecx, [edi + 0x1fdc]
push ecx
call sub.KERNEL32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x41481e
push edi
lea esi, [edi + 0x1fe9]
lea edi, [ebp - 0x1304]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
jmp 0x41481e
lea edx, [edi + 0x1ff6]
push edx
call sub.KERNEL32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x4147f5
push edi
lea esi, [edi + 0x2003]
lea edi, [ebp - 0x1304]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
jmp 0x41481e
lea edx, [edi + 0x2010]
push edx
call sub.KERNEL32.dll_GetFileAttributesA
cmp eax, 0xffffffff
je 0x41481e
push edi
lea esi, [edi + 0x201d]
lea edi, [ebp - 0x1304]
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
lea edx, [edi + 0x202a]
push edx
call fcn.00413e78
cmp dword [0x466aa4], 0
je 0x41483f
push 0x271
call fcn.00408028
jmp 0x414849
push 0x270
call fcn.00408028
push eax
call fcn.00413e78
call fcn.00413ec0
lea ecx, [ebp - 0x1304]
push ecx
push 0x4656f0
call fcn.0041f7c4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4