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

Disassembly:
push ebp
sub esp, 0x578
lea ebp, [esp - 4]
mov eax, dword [0x4212e0]
xor eax, ebp
mov dword [ebp + 0x578], eax
push 0x48
mov eax, 0x41b2c9
call fcn.00417062
mov esi, str._date
lea edi, [ebp + 0x568]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, str._server
lea edi, [ebp + 0x538]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, str._name
lea edi, [ebp + 0x560]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str._parent
lea edi, [ebp + 0x544]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, str._acceptany
lea edi, [ebp + 0x514]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, str._slot
lea edi, [ebp + 0x558]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str._path
lea edi, [ebp + 0x550]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str._arg
lea edi, [ebp + 0x570]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, str._autorun
lea edi, [ebp + 0x52c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, str._manualrun
lea edi, [ebp + 0x520]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0x568]
mov ebx, ecx
push eax
push ebx
mov dword [ebp - 0x10], ebx
movsd dword es:[edi], dword [esi]
call fcn.0040b561
test eax, eax
pop ecx
pop ecx
je 0x402b0d
push 0
push 0x41df9c
push str.Dec_30_2006_15:32:16
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x402e28
push 0x104
lea eax, [ebp + 0x30c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str..dat
lea eax, [ebp + 0x30c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionA]
lea eax, [ebp + 0x30c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x402e28
lea edi, [ebp - 0x54]
call fcn.00401634
and dword [ebp - 4], 0
mov eax, str.1F246B34_FD72_47ff_9640_24DD6664AAF6
lea edi, [ebp + 0x30c]
lea esi, [ebp - 0x54]
call fcn.00404fcb
test eax, eax
je 0x402e1b
lea eax, [ebp + 0x538]
push eax
lea eax, [ebp + 0x410]
push ebx
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
je 0x402b9a
lea eax, [ebp + 0x410]
push eax
mov eax, esi
push eax
call fcn.00404b51
lea eax, [ebp + 0x560]
push eax
lea eax, [ebp + 0x410]
push ebx
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
je 0x402bf7
push 3
xor edx, edx
lea ecx, [ebp - 0x54]
call fcn.00403255
push 1
xor edx, edx
lea ecx, [ebp - 0x54]
mov edi, eax
call fcn.00403255
test eax, eax
je 0x402bd8
mov eax, dword [eax + 4]
jmp 0x402bda
xor eax, eax
mov ecx, edi
add edi, 8
neg ecx
sbb ecx, ecx
and ecx, edi
push ecx
lea ecx, [ebp + 0x410]
mov edi, eax
push ecx
lea eax, [ebp - 0x54]
call fcn.00404b17
lea eax, [ebp + 0x544]
push eax
lea eax, [ebp + 0x410]
push ebx
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
je 0x402c54
push 2
xor edx, edx
lea ecx, [ebp - 0x54]
call fcn.00403255
push 1
xor edx, edx
lea ecx, [ebp - 0x54]
mov edi, eax
call fcn.00403255
test eax, eax
je 0x402c35
mov eax, dword [eax + 4]
jmp 0x402c37
xor eax, eax
lea ecx, [ebp + 0x410]
push ecx
mov ecx, edi
add edi, 8
neg ecx
sbb ecx, ecx
and ecx, edi
mov edi, eax
push ecx
lea eax, [ebp - 0x54]
call fcn.00404b17
lea eax, [ebp + 0x514]
push eax
lea eax, [ebp + 0x410]
push ebx
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
je 0x402c98
lea eax, [ebp + 0x410]
push eax
call fcn.0040b7fc
pop ecx
xor ecx, ecx
test eax, eax
setne cl
push 8
xor eax, eax
mov edi, ecx
lea ecx, [ebp - 0x54]
call fcn.0040532a
mov dword [ebp - 0x14], 1
lea eax, [ebp + 0x558]
push eax
lea eax, [ebp + 0x208]
push ebx
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
mov ebx, 0x102
je 0x402d4d
lea eax, [ebp + 0x550]
push eax
push dword [ebp - 0x10]
lea eax, [ebp + 0x104]
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
je 0x402d4d
lea eax, [ebp + 0x208]
push eax
call fcn.0040b7fc
mov edi, eax
test edi, edi
pop ecx
je 0x402d4d
push ebx
mov edx, edi
lea ecx, [ebp - 0x54]
call fcn.00403255
test eax, eax
je 0x402d00
mov eax, dword [eax + 4]
jmp 0x402d02
xor eax, eax
test eax, eax
je 0x402d4d
lea eax, [ebp + 0x570]
push eax
push dword [ebp - 0x10]
lea eax, [ebp]
push eax
call fcn.004029dc
add esp, 0xc
mov esi, eax
neg esi
sbb esi, esi
lea eax, [ebp]
and esi, eax
lea eax, [ebp + 0x104]
push eax
push 0x105
push edi
lea eax, [ebp - 0x54]
push eax
call fcn.00404ec8
push esi
push 0x106
push edi
lea eax, [ebp - 0x54]
push eax
call fcn.00404ec8
lea eax, [ebp + 0x52c]
push eax
push dword [ebp - 0x10]
lea eax, [ebp + 0x410]
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
je 0x402dac
lea eax, [ebp + 0x410]
push eax
call fcn.0040b7fc
mov esi, eax
test esi, esi
pop ecx
je 0x402dac
push ebx
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.00403255
test eax, eax
je 0x402d91
mov eax, dword [eax + 4]
jmp 0x402d93
xor eax, eax
test eax, eax
je 0x402dac
xor edi, edi
push 0x112
inc edi
mov eax, esi
lea ecx, [ebp - 0x54]
call fcn.0040532a
mov dword [ebp - 0x14], edi
lea eax, [ebp + 0x520]
push eax
push dword [ebp - 0x10]
lea eax, [ebp + 0x410]
push eax
call fcn.004029dc
add esp, 0xc
test eax, eax
je 0x402e0e
lea eax, [ebp + 0x410]
push eax
call fcn.0040b7fc
mov esi, eax
test esi, esi
pop ecx
je 0x402e0e
push ebx
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.00403255
test eax, eax
je 0x402df0
mov eax, dword [eax + 4]
jmp 0x402df2
xor eax, eax
test eax, eax
je 0x402e0e
push 0x112
xor edi, edi
mov eax, esi
lea ecx, [ebp - 0x54]
call fcn.0040532a
mov dword [ebp - 0x14], 1
lea esi, [ebp - 0x54]
call fcn.0040502d
call fcn.004031ec
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x54]
push eax
call fcn.0040315f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x578]
xor ecx, ebp
call fcn.0040b0c5
add ebp, 0x57c
leave
ret