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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4663b9
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x48906c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
push 0x10000
push 1
call fcn.0044742c
push eax
call fcn.0044f30a
add esp, 8
push eax
call fcn.0044f12b
add esp, 8
push 0x10000
push 2
call fcn.0044742c
push eax
call fcn.0044f30a
add esp, 8
push eax
call fcn.0044f12b
push 0
call fcn.0044a1dd
push eax
call fcn.0044dda8
add esp, 0x10
mov edx, str._____________________nCrcCheckCopy_v2.7_n_____________________n
mov ecx, 0x48b238
call fcn.00405e50
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x48c7d0]
mov dword [ebp - 0x6c], ecx
cmp eax, dword [ecx + 4]
jle 0x418ca0
push 0x48c7d0
call fcn.0043f19e
add esp, 4
cmp dword [0x48c7d0], 0xffffffff
jne 0x418ca0
mov dword [ebp - 4], 0
call fcn.00415b90
push 0x4684e0
call fcn.0043f4fa
push 0x48c7d0
mov dword [ebp - 4], 0xffffffff
call fcn.0043f154
add esp, 8
mov edi, dword [ebp + 8]
mov ecx, 0x48c7d8
push esi
push edi
call fcn.00415250
test al, al
jne 0x418cfa
cmp edi, 1
je 0x418cfa
cmp dword [0x48c8cc], 8
mov edx, 0x48c8b8
push dword [0x48c8c8]
cmovae edx, dword [0x48c8b8]
mov ecx, 0x48b238
call fcn.0040c580
mov edx, str._nRun_the_program_without_parameters_to_see_the_syntax.
mov ecx, eax
call fcn.00405e50
push eax
call fcn.0040bc50
add esp, 8
mov eax, 1
jmp 0x4195c3
mov esi, dword [0x48c7d4]
test esi, esi
jne 0x418d33
push 0xc8
call fcn.0043efa3
add esp, 4
mov esi, eax
mov ecx, esi
call fcn.00417840
mov word [esi + 0xc0], 0
mov dword [esi + 0xc4], 5
mov dword [0x48c7d4], esi
cmp byte [esi + 0xc0], 0
mov eax, esi
mov dword [ebp - 0x68], eax
jne 0x418d5f
mov ecx, esi
call fcn.00417ac0
mov ecx, esi
mov byte [esi + 0xc0], 1
mov esi, dword [0x48c7d4]
mov byte [ecx + 0xc1], al
mov eax, ecx
mov al, byte [eax + 0xc1]
test al, al
je 0x418e1e
test esi, esi
jne 0x418da0
push 0xc8
call fcn.0043efa3
add esp, 4
mov esi, eax
mov ecx, esi
call fcn.00417840
mov word [esi + 0xc0], 0
mov dword [esi + 0xc4], 5
mov dword [0x48c7d4], esi
push esi
lea ecx, [ebp - 0x28]
call fcn.00407c10
mov edx, str.PRO_edition__licensed_to:
mov dword [ebp - 4], 1
mov ecx, 0x48b238
call fcn.00405e50
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae edx, dword [ebp - 0x28]
mov ecx, eax
call fcn.0040c580
push eax
call fcn.0040bc50
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x418e1e
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x418e14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4195de
push edx
push ecx
call fcn.0043efd3
add esp, 8
cmp edi, 1
jg 0x418f1a
mov edx, str.Compares_and_verifies_files_by_their_CRC_stamps._nThe_comparison_is_completed_in_two_steps:_n__Step1__Source_scanning_:_n__Reads_the_files_in_the_source_folder_and_saves_their_CRCs_into_one_n__CRC_stamps_file._n_n__Step2__Verification_:_n__Reads_the_CRC_stamps_of_Step1_to_verify_the_files_in_the_destination_folder._n_nsyntax:_nCrcCheckCopy__scan___verify_path__options__nCrcCheckCopy__t__n_nExamples:_n1__CrcCheckCopy__scan_c:_aFolder_n___Calculates_the_CRCs_of_all_the_files_in_c:_aFolder_and_its_subfolders_n___and_stores_them_in_a_file_named_CRCstamps.txt_in_the_current__working__n___directory._n_n2__CrcCheckCopy__verify_c:_aFolder2_n___Reads_the_CRCstamps.txt_and_verifies_the_CRC_for_each_file_in_c:_aFolder2._n___Does_not_report_additional_files_that_might_exist_in_the_destination_folder._n_nYou_can_also_use__s___v_as_short_forms_of__scan___verify._nIf_the_path_contains_spaces__include_the_path_in_quotes__ne.g._CrcCheckCopy__scan__C:_folder_with_spaces__n_n3__CrcCheckCopy__d_c:_aFolder_to_scan_for_duplicates_n___Find_duplicate_files_and_files_of_zero_size__empty_files_._n_n4__CrcCheckCopy__t___Ask_your_consent_to_the_application_telemetry._n_n
mov ecx, 0x48b238
call fcn.00405e50
mov edx, str.Options_can_be_any_of_the_following:_n
mov ecx, 0x48b238
call fcn.00405e50
mov ecx, dword [ebp - 0x6c]
mov eax, dword [0x48c7d0]
cmp eax, dword [ecx + 4]
jle 0x418e95
push 0x48c7d0
call fcn.0043f19e
add esp, 4
cmp dword [0x48c7d0], 0xffffffff
jne 0x418e95
mov dword [ebp - 4], 2
call fcn.00415b90
push 0x4684e0
call fcn.0043f4fa
push 0x48c7d0
mov dword [ebp - 4], 0xffffffff
call fcn.0043f154
add esp, 8
lea eax, [ebp - 0x28]
mov ecx, 0x48c7d8
push eax
call fcn.00415810
mov dword [ebp - 4], 3
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x418eb5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x48b238
call fcn.0040c580
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x418f06
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x418efc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4195e3
push edx
push ecx
call fcn.0043efd3
add esp, 8
push 0x48b238
call fcn.0040bc50
add esp, 4
xor eax, eax
jmp 0x4195c3
push 0x48c8a0
lea ecx, [ebp - 0x58]
call fcn.00407c10
mov dword [ebp - 4], 4
cmp dword [ebp - 0x48], 0
jbe 0x418f61
mov edx, str.Selected_options:
mov ecx, 0x48b238
call fcn.00405e50
cmp dword [ebp - 0x44], 8
lea edx, [ebp - 0x58]
push dword [ebp - 0x48]
cmovae edx, dword [ebp - 0x58]
mov ecx, eax
call fcn.0040c580
push eax
call fcn.0040bc50
add esp, 8
cmp byte [0x48c820], 0
mov edi, dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
jne 0x418f77
push 0x80000001
call edi
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
push 9
xor eax, eax
mov dword [ebp - 0x18], 0
push str..DS_Store
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004014b0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa
push eax
push 0
lea ecx, [ebp - 0x64]
call fcn.0041aab0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x41906c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419062
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4195e8
push edx
push ecx
call fcn.0043efd3
add esp, 8
push 0xb
xor eax, eax
mov dword [ebp - 0x18], 0
push str.desktop.ini
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004014b0
mov byte [ebp - 4], 0xb
mov esi, dword [ebp - 0x60]
cmp dword [ebp - 0x5c], esi
je 0x4190cd
movups xmm0, xmmword [ebp - 0x28]
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 0
mov edx, 7
movups xmmword [esi], xmm0
mov word [ebp - 0x28], ax
movq xmm0, qword [ebp - 0x18]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x60], esi
jmp 0x4190e0
lea eax, [ebp - 0x28]
push eax
push esi
lea ecx, [ebp - 0x64]
call fcn.0041aab0
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x41911b
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419111
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4195ed
push edx
push ecx
call fcn.0043efd3
add esp, 8
push 9
xor eax, eax
mov dword [ebp - 0x18], 0
push str.Thumbs.db
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004014b0
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x5c], esi
je 0x419179
movups xmm0, xmmword [ebp - 0x28]
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 0
mov edx, 7
movups xmmword [esi], xmm0
mov word [ebp - 0x28], ax
movq xmm0, qword [ebp - 0x18]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x60], esi
jmp 0x41918c
lea eax, [ebp - 0x28]
push eax
push esi
lea ecx, [ebp - 0x64]
call fcn.0041aab0
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x4191c7
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4191bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4195f2
push edx
push ecx
call fcn.0043efd3
add esp, 8
push 0xd
xor eax, eax
mov dword [ebp - 0x18], 0
push 0x47dcfc
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004014b0
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x5c], esi
je 0x419225
movups xmm0, xmmword [ebp - 0x28]
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 0
mov edx, 7
movups xmmword [esi], xmm0
mov word [ebp - 0x28], ax
movq xmm0, qword [ebp - 0x18]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x60], esi
jmp 0x419238
lea eax, [ebp - 0x28]
push eax
push esi
lea ecx, [ebp - 0x64]
call fcn.0041aab0
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x419273
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419269
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4195f7
push edx
push ecx
call fcn.0043efd3
add esp, 8
push 0x24
xor eax, eax
mov dword [ebp - 0x18], 0
push str.CrcCheckCopy_verification_report.txt
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004014b0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x5c], esi
je 0x4192d1
movups xmm0, xmmword [ebp - 0x28]
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 0
mov edx, 7
movups xmmword [esi], xmm0
mov word [ebp - 0x28], ax
movq xmm0, qword [ebp - 0x18]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x60], esi
jmp 0x4192e4
lea eax, [ebp - 0x28]
push eax
push esi
lea ecx, [ebp - 0x64]
call fcn.0041aab0
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x41931f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419315
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4195fc
push edx
push ecx
call fcn.0043efd3
add esp, 8
push 0x22
xor eax, eax
mov dword [ebp - 0x18], 0
push str.CrcCheckCopy_report_duplicates.txt
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004014b0
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x5c], esi
je 0x41937d
movups xmm0, xmmword [ebp - 0x28]
mov dword [esi + 0x10], 0
xor eax, eax
mov dword [esi + 0x14], 0
mov edx, 7
movups xmmword [esi], xmm0
mov word [ebp - 0x28], ax
movq xmm0, qword [ebp - 0x18]
movq qword [esi + 0x10], xmm0
add esi, 0x18
mov dword [ebp - 0x60], esi
jmp 0x419390
lea eax, [ebp - 0x28]
push eax
push esi
lea ecx, [ebp - 0x64]
call fcn.0041aab0
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp edx, 8
jb 0x4193cb
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4193c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419601
push edx
push ecx
call fcn.0043efd3
add esp, 8
push 0x48c870
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x68], 0
call fcn.00407c10
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
jb 0x4193f7
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x41948a
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x41948a
test al, 0x10
je 0x41948a
cmp byte [0x48c7e0], 0
je 0x41942a
push ecx
lea eax, [ebp - 0x64]
push eax
lea edx, [ebp - 0x40]
call fcn.00429620
mov esi, dword [ebp - 0x60]
add esp, 8
mov dword [ebp - 0x68], eax
cmp byte [0x48c7f0], 0
je 0x419448
lea eax, [ebp - 0x64]
push eax
lea edx, [ebp - 0x40]
call fcn.0042adc0
mov esi, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x68], eax
cmp byte [0x48c800], 0
je 0x41945c
lea ecx, [ebp - 0x40]
call fcn.00417fd0
mov dword [ebp - 0x68], eax
cmp byte [0x48c810], 0
je 0x419478
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x40]
call fcn.004238b0
mov dword [ebp - 0x68], eax
cmp byte [0x48c820], 0
jne 0x4194c4
push 0x80000000
call edi
jmp 0x4194c4
mov edx, str.The_folder_does_not_exist:__
mov ecx, 0x48b238
call fcn.00405e50
cmp dword [ebp - 0x2c], 8
lea edx, [ebp - 0x40]
push dword [ebp - 0x30]
cmovae edx, dword [ebp - 0x40]
mov ecx, eax
call fcn.0040c580
add esp, 4
mov edx, 0x47e3e0
mov ecx, eax
call fcn.00405e50
mov dword [ebp - 0x68], 0xa
call fcn.0044dd87
and eax, 0x80000003
jns 0x4194d5
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
jne 0x419516
call fcn.00417e60
mov edi, eax
cmp byte [edi + 0xc0], 0
jne 0x4194fe
mov ecx, edi
call fcn.00417ac0
mov byte [edi + 0xc1], al
mov byte [edi + 0xc0], 1
cmp byte [edi + 0xc1], 0
jne 0x419516
mov edx, str._nThank_you_for_using_the_free_edition_of_CrcCheckCopy._nPlease_make_a_small_donation._Its_good_karma._nhttps:__www.starmessagesoftware.com_crccheckcopy_downloaddonate_n_n
mov ecx, 0x48b238
call fcn.00405e50
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x419550
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x419546
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419606
push edx
push ecx
call fcn.0043efd3
add esp, 8
mov edi, dword [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
test edi, edi
je 0x4195b8
push ecx
mov edx, esi
mov ecx, edi
call fcn.0041af70
mov ecx, dword [ebp - 0x5c]
mov eax, 0x2aaaaaab
sub ecx, edi
add esp, 4
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, edi
shl ecx, 3
cmp ecx, 0x1000
jb 0x4195ae
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41960b
push ecx
push edi
call fcn.0043efd3
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.00401400
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043ef8d
mov esp, ebp
pop ebp
ret
call fcn.00444642
call fcn.00444642
call fcn.00444642
call fcn.00444642
call fcn.00444642
call fcn.00444642
call fcn.00444642
call fcn.00444642
call fcn.00444642
call fcn.00444642
int3