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

Disassembly:
sub esp, 0xa8
push ebx
push esi
lea ebx, [ecx + 0x6c]
push edi
lea edi, [ecx + 0x70]
push ebp
mov esi, ecx
xor ebp, ebp
mov dword [ebx], ebp
mov dword [edi], ebp
push str.main
mov dword [esi + 0x64], ebp
mov dword [esi + 0x68], ebp
mov dword [esi + 0x7c], ebp
mov dword [esi + 0x80], ebp
call fcn.0040b310
push 0x10
mov ecx, esi
push str.bufsize
call fcn.0040b470
push 8
mov ecx, esi
push str.max_transize
mov dword [esi + 8], eax
call fcn.0040b470
push 0x100
mov ecx, esi
push str.max_openfiles
mov dword [esi + 0xc], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.nonbuf_minsize_ntfs
mov dword [esi + 0x10], eax
call fcn.0040b470
push pe_nt_image_headers32
mov ecx, esi
push str.nonbuf_minsize_fat
mov dword [esi + 0x14], eax
call fcn.0040b470
push 0xa
mov ecx, esi
push str.max_history
mov dword [esi + 0x18], eax
call fcn.0040b470
push 1
mov ecx, esi
push str.default_copy_mode
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.default_copy_flags
mov dword [esi + 0x24], eax
call fcn.0040b470
push 1
mov dword [esi + 0x28], eax
push str.skip_empty_dir
mov ecx, esi
call fcn.0040b470
push ebp
mov ecx, esi
push str.force_start
mov dword [esi + 0x2c], eax
call fcn.0040b470
push 1
mov ecx, esi
push str.ignore_error
mov dword [esi + 0x30], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.estimate_mode
mov dword [esi + 0x34], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.disk_mode
mov dword [esi + 0x38], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.is_toplevel
mov dword [esi + 0x3c], eax
call fcn.0040b470
push 1
mov ecx, esi
push str.is_errlog
mov dword [esi + 0x44], eax
call fcn.0040b470
push 1
mov ecx, esi
push str.is_samedir_rename
mov dword [esi + 0x48], eax
call fcn.0040b470
push 1
mov ecx, esi
push str.shext_autoclose
mov dword [esi + 0x4c], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.shext_tasktray
mov dword [esi + 0x50], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.shext_dd_noconfirm
mov dword [esi + 0x54], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.shext_right_noconfirm
mov dword [esi + 0x58], eax
call fcn.0040b470
push ebp
mov ecx, esi
push str.exec_confirm
mov dword [esi + 0x5c], eax
call fcn.0040b470
push 0xffffffffffffffff
mov ecx, esi
push str.lcid
mov dword [esi + 0x60], eax
call fcn.0040b470
mov dword [esp + 0x44], str.src_history
lea ecx, [esi + 0x68]
mov dword [esi + 0x40], eax
mov dword [esp + 0x48], str.dst_history
mov dword [esp + 0x4c], str.include_history
lea eax, [esi + 0x64]
push 0x8000
mov dword [esp + 0x54], str.exclude_history
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edi
call sub.MSVCRT40.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov edi, eax
push 0x4000
call sub.MSVCRT40.dll_void____cdecl_operator_new_unsigned_int_
mov dword [esp + 0x18], ebp
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax + 0x18]
mov edx, dword [esp + eax + 0x44]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.0040b310
push 4
mov ecx, dword [esi + 0x1c]
push ecx
xor ebp, ebp
call dword [sym.imp.MSVCRT40.dll_calloc]
mov ecx, dword [esp + 0x18]
add esp, 8
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
add eax, 0x1e
test eax, eax
jle 0x40b820
lea eax, [esp + 0x54]
push ebp
push 0x415b54
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [esi + 0x1c], ebp
jle 0x40b805
lea eax, [esp + 0x54]
push 0x4155d0
push 0x8000
mov ecx, esi
push edi
push eax
call fcn.0040b400
push ebx
mov ecx, esi
push edi
call fcn.0040c000
push ebx
call dword [0x4165c4]
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx]
mov dword [edx + ebp*4], eax
jmp 0x40b815
lea eax, [esp + 0x54]
mov ecx, esi
push eax
call fcn.0040b360
test eax, eax
je 0x40b820
inc ebp
mov eax, dword [esi + 0x1c]
add eax, 0x1e
cmp eax, ebp
jg 0x40b7b7
add dword [esp + 0x14], 4
cmp dword [esp + 0x14], 0x10
jl 0x40b77e
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x10]
push eax
push str.job__d
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
mov dword [esp + 0x4c], ebp
add esp, 0xc
mov ecx, esi
push edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebp
call fcn.0040b310
push 0x4155d0
mov ecx, esi
push 0x8000
push edi
push str.title
call fcn.0040b400
test eax, eax
je 0x40ba91
push ebx
mov ecx, esi
push edi
call fcn.0040c000
push ebx
call dword [0x4165c4]
mov dword [esp + 0x1c], eax
add esp, 4
mov ecx, esi
push 0x4155d0
push 0x8000
push edi
push 0x415bdc
call fcn.0040b400
push ebx
mov ecx, esi
push edi
call fcn.0040c000
push ebx
call dword [0x4165c4]
mov dword [esp + 0x20], eax
add esp, 4
mov ecx, esi
push 0x4155d0
push 0x8000
push edi
push 0x415bd8
call fcn.0040b400
push ebx
mov ecx, esi
push edi
call fcn.0040c000
push ebx
call dword [0x4165c4]
mov dword [esp + 0x24], eax
add esp, 4
mov ecx, esi
push 0x4155d0
push 0x8000
push edi
push 0x415bd4
call fcn.0040b400
push ebx
mov ecx, esi
push edi
call fcn.0040c000
push ebx
call dword [0x4165c4]
mov dword [esp + 0x28], eax
add esp, 4
mov ecx, esi
push 0x4155d0
push 0x8000
push edi
push str.include_filter
call fcn.0040b400
push ebx
mov ecx, esi
push edi
call fcn.0040c000
push ebx
call dword [0x4165c4]
mov dword [esp + 0x40], eax
add esp, 4
mov ecx, esi
push 0x4155d0
push 0x8000
push edi
push str.exclude_filter
call fcn.0040b400
push ebx
mov ecx, esi
push edi
call fcn.0040c000
push ebx
call dword [0x4165c4]
mov dword [esp + 0x44], eax
add esp, 4
mov ecx, esi
push ebp
push str.estimate_mode
call fcn.0040b470
push ebp
mov ecx, esi
mov dword [esp + 0x30], eax
push str.disk_mode
call fcn.0040b470
push 1
mov ecx, esi
mov dword [esp + 0x34], eax
push str.ignore_error
call fcn.0040b470
push ebp
mov ecx, esi
mov dword [esp + 0x38], eax
push str.filter
call fcn.0040b470
push 0x10
mov ecx, esi
mov dword [esp + 0x3c], eax
push str.bufsize
call fcn.0040b470
mov ecx, esi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x18]
push eax
call fcn.0040c160
mov eax, dword [esp + 0x40]
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x40]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x28]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x20]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov dword [esp + 0x44], ebp
inc dword [esp + 0x14]
mov dword [esp + 0x40], ebp
add esp, 4
cmp dword [esp + 0x10], 0x3e8
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
jl 0x40b836
jmp 0x40bae5
mov eax, dword [esp + 0x40]
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x40]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x28]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x20]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call dword [sym.imp.MSVCRT40.dll_free]
add esp, 4
mov eax, dword [esi]
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push eax
call ebp
cmp eax, 0xffffffff
jne 0x40bafc
mov ecx, esi
call fcn.0040bb20
push ebx
call sub.MSVCRT40.dll_void___cdecl_operator_delete_void__
add esp, 4
push edi
call sub.MSVCRT40.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xa8
ret