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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0041dec0
test eax, eax
jne 0x41a935
mov dword [esp], ebx
call fcn.004186e0
mov dword [esp + 0x18], 0
test eax, eax
sete cl
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
movzx edx, cl
lea esi, [edx - 1]
mov dword [esp + 8], 3
mov edx, dword [0x439298]
mov dword [esp + 4], 0x80000000
mov dword [esp], ebx
and esi, edx
call sub.KERNEL32.dll_CreateFileA
sub esp, 0x1c
mov edi, eax
cmp eax, 0xffffffff
je 0x41a730
mov dword [esp], eax
lea ecx, [esp + 0x50]
lea edx, [esp + 0x48]
mov dword [esp + 0xc], ecx
lea ebx, [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
call sub.KERNEL32.dll_GetFileTime
sub esp, 0x10
mov ebx, eax
mov dword [esp], edi
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
test ebx, ebx
je 0x41a730
test esi, esi
jne 0x41a82b
mov edx, dword [esp + 0x54]
xor ebx, ebx
lea esi, [ebp + 0x40]
mov ecx, dword [esp + 0x50]
mov edi, edx
xor edx, edx
add ecx, edx
adc ebx, edi
cmp ebx, 0x19db1de
ja 0x41a7df
jb 0x41a689
cmp ecx, 0xd53e7fff
ja 0x41a7df
mov dword [ebp + 0x40], 0
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x41a6a4
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x41a7d4
mov edx, dword [esp + 0x4c]
xor ebx, ebx
lea esi, [ebp + 0x38]
mov ecx, dword [esp + 0x48]
mov edi, edx
xor edx, edx
add ecx, edx
adc ebx, edi
cmp ebx, 0x19db1de
ja 0x41a788
jb 0x41a6d3
cmp ecx, 0xd53e7fff
ja 0x41a788
mov dword [ebp + 0x38], 0
lea esi, [esi]
mov esi, dword [esp + 0x40]
test esi, esi
jne 0x41a6f4
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x41a780
mov edx, dword [esp + 0x44]
xor ebx, ebx
lea esi, [ebp + 0x48]
mov ecx, dword [esp + 0x40]
mov edi, edx
xor edx, edx
add ecx, edx
adc ebx, edi
cmp ebx, 0x19db1de
ja 0x41a73a
jb 0x41a71b
cmp ecx, 0xd53e7fff
ja 0x41a73a
mov dword [ebp + 0x48], 0
lea esi, [esi]
lea edi, [edi]
xor eax, eax
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, 0x236485e
jb 0x41a754
ja 0x41a74c
cmp ecx, 0xd4a5e980
jbe 0x41a754
mov dword [esi], 0xffffffff
jmp 0x41a730
mov dword [esp + 8], 0x989680
sub ecx, 0xd53e8000
sbb ebx, 0x19db1de
mov dword [esp + 0xc], 0
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004258f0
mov dword [esi], eax
jmp 0x41a730
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x48], eax
jmp 0x41a730
cmp ebx, 0x236485e
jb 0x41a7a5
ja 0x41a79a
cmp ecx, 0xd4a5e980
jbe 0x41a7a5
mov dword [esi], 0xffffffff
jmp 0x41a6e0
mov dword [esp + 8], 0x989680
sub ecx, 0xd53e8000
sbb ebx, 0x19db1de
mov dword [esp + 0xc], 0
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004258f0
mov dword [esi], eax
jmp 0x41a6e0
mov ecx, dword [ebp + 0x40]
mov dword [ebp + 0x38], ecx
jmp 0x41a6e0
cmp ebx, 0x236485e
jb 0x41a7fc
ja 0x41a7f1
cmp ecx, 0xd4a5e980
jbe 0x41a7fc
mov dword [esi], 0xffffffff
jmp 0x41a690
mov dword [esp + 8], 0x989680
sub ecx, 0xd53e8000
sbb ebx, 0x19db1de
mov dword [esp + 0xc], 0
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.004258f0
mov dword [esi], eax
jmp 0x41a690
lea ecx, [esp + 0x50]
lea edi, [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], edi
call sub.KERNEL32.dll_FileTimeToLocalFileTime
sub esp, 8
lea edx, [esp + 0x64]
mov dword [esp], edi
lea ebx, [esp + 0x66]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
call sub.KERNEL32.dll_FileTimeToDosDateTime
sub esp, 0xc
movzx esi, word [esp + 0x66]
movzx eax, word [esp + 0x64]
shl esi, 0x10
or esi, eax
mov dword [esp], esi
call fcn.0040b130
mov dword [ebp + 0x40], eax
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x41a887
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x41a8d0
lea edi, [esp + 0x30]
lea ecx, [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], edi
call sub.KERNEL32.dll_FileTimeToLocalFileTime
sub esp, 8
lea edx, [esp + 0x60]
mov dword [esp], edi
lea ebx, [esp + 0x62]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
call sub.KERNEL32.dll_FileTimeToDosDateTime
sub esp, 0xc
movzx esi, word [esp + 0x62]
movzx eax, word [esp + 0x60]
shl esi, 0x10
or esi, eax
mov dword [esp], esi
call fcn.0040b130
mov dword [ebp + 0x38], eax
mov esi, dword [esp + 0x40]
test esi, esi
jne 0x41a8e7
mov eax, dword [esp + 0x44]
test eax, eax
je 0x41a780
lea esi, [esp + 0x28]
lea edi, [esp + 0x40]
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.KERNEL32.dll_FileTimeToLocalFileTime
sub esp, 8
lea ecx, [esp + 0x5c]
mov dword [esp], esi
lea edx, [esp + 0x5e]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call sub.KERNEL32.dll_FileTimeToDosDateTime
sub esp, 0xc
movzx edi, word [esp + 0x5e]
movzx ebx, word [esp + 0x5c]
shl edi, 0x10
or edi, ebx
mov dword [esp], edi
call fcn.0040b130
jmp 0x41a783
mov dword [esp], ebx
call sub.KERNEL32.dll_GetFileAttributesA
sub esp, 4
mov ebx, eax
cmp eax, 0xffffffff
je 0x41a94b
test al, 0x10
jne 0x41a955
mov eax, 0xffffffff
jmp 0x41a732
cld
xor eax, eax
mov ecx, 0x18
mov edi, ebp
rep stosd dword es:[edi], eax
mov dword [esp], 0x210000
call fcn.0040b130
mov dword [ebp + 0x40], eax
xor edx, edx
test bl, 1
sete dl
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x38], eax
dec edx
and edx, 0xffffff80
add edx, 0x4180
mov dword [ebp], edx
jmp 0x41a730