Function at 0x401446
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b4
push ebx
push esi
push edi
mov edi, edx
mov eax, ecx
push edi
xor esi, esi
mov dword [ebp - 8], eax
push 0x405320
mov edx, eax
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x38]
call fcn.00402009
pop ecx
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.00402055
pop ecx
lea ecx, [ebp - 0x38]
call fcn.004019df
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x20]
call fcn.004011e3
cmp dword [ebp - 0x10], esi
jne 0x4014bf
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov edx, str.Falha_ao_calcular_o_MD5_para_o_arquivo:
push 0x401fda
call fcn.00401e1c
push ecx
mov edx, edi
mov ecx, eax
call fcn.00401fc1
pop ecx
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
jmp 0x401700
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 4], edi
jbe 0x4014cd
mov eax, dword [edi]
mov dword [ebp - 4], eax
xor ebx, ebx
inc ebx
cmp dword [edi + 0x10], esi
je 0x401519
push 0x100
lea eax, [ebp - 0x1b0]
push esi
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 4]
dec eax
or esi, 0xffffffff
mov byte [ebp - 0x182], bl
cmp eax, esi
cmovb esi, eax
add esi, ecx
jmp 0x401508
cmp esi, ecx
je 0x401519
dec esi
movzx eax, byte [esi]
cmp byte [ebp + eax - 0x1b0], 0
je 0x401503
sub esi, ecx
jmp 0x40151c
or esi, 0xffffffff
cmp esi, 0xffffffff
jne 0x401530
push 0x405260
lea ecx, [ebp - 0x68]
call fcn.00401a3c
jmp 0x401541
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.0040186d
push 2
pop ebx
push eax
lea ecx, [ebp - 0x98]
call fcn.00401a03
test bl, 2
je 0x40155d
lea ecx, [ebp - 0x38]
and ebx, 0xfffffffd
call fcn.004019df
test bl, 1
je 0x40156a
lea ecx, [ebp - 0x68]
call fcn.004019df
cmp esi, 0xffffffff
jne 0x401582
push edi
lea ecx, [ebp - 0xb0]
call fcn.00401a75
push 4
pop ebx
xor esi, esi
jmp 0x401596
push esi
xor esi, esi
lea eax, [ebp - 0x68]
push esi
push eax
mov ecx, edi
call fcn.0040186d
push 8
mov ebx, esi
pop esi
push eax
lea ecx, [ebp - 0x38]
call fcn.00401a75
test esi, esi
je 0x4015ab
lea ecx, [ebp - 0x68]
call fcn.004019df
test ebx, ebx
je 0x4015ba
lea ecx, [ebp - 0xb0]
call fcn.004019df
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x20]
push 0xf
pop ebx
cmp dword [ebp - 0xc], ebx
lea ecx, [ebp - 0x38]
cmova eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], ebx
cmova ecx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x10]
jne 0x401612
push edx
push eax
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x401612
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.O_arquivo
call fcn.00401e1c
mov edx, edi
mov ecx, eax
call fcn.00401fc1
mov edx, str._ja_esta_renomeado_com_o_hash_MD5._n
mov ecx, eax
call fcn.00401e1c
jmp 0x4016ed
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x405320
lea ecx, [ebp - 0x68]
call fcn.00402009
pop ecx
mov edx, eax
lea ecx, [ebp - 0xb0]
call fcn.00402055
pop ecx
mov edx, eax
lea ecx, [ebp - 0x80]
call fcn.00402055
pop ecx
lea ecx, [ebp - 0xb0]
call fcn.004019df
lea ecx, [ebp - 0x68]
call fcn.004019df
cmp dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x80]
lea eax, [ebp - 0x50]
cmova ecx, dword [ebp - 0x80]
cmp dword [ebp - 0x3c], ebx
push ecx
cmova eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0x401fda
test eax, eax
jne 0x40169f
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov edx, str.Erro_ao_renomear_o_arquivo:
call fcn.00401e1c
mov edx, edi
mov ecx, eax
call fcn.00401fc1
mov edx, str._para
jmp 0x4016bd
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Arquivo
call fcn.00401e1c
mov edx, edi
mov ecx, eax
call fcn.00401fc1
mov edx, str._renomeado_para
mov ecx, eax
call fcn.00401e1c
lea edx, [ebp - 0x20]
mov ecx, eax
call fcn.00401fc1
push ecx
lea edx, [ebp - 0x98]
mov ecx, eax
call fcn.00401fc1
pop ecx
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x80]
call fcn.004019df
lea ecx, [ebp - 0x38]
call fcn.004019df
lea ecx, [ebp - 0x98]
call fcn.004019df
lea ecx, [ebp - 0x20]
call fcn.004019df
lea ecx, [ebp - 0x50]
call fcn.004019df
pop edi
pop esi
pop ebx
leave
ret