Function at 0x416c80
Capabilities:
Check if file exists
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b0498
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x4e42e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ecx, 0x4e9734
mov ebx, dword [ebp + 0xc]
push 0x4e20
call fcn.00424910
test al, al
je 0x416d89
call fcn.00425480
mov edi, eax
push str.Rename_file:
push edi
call fcn.0040b300
add esp, 8
mov ecx, esi
cmp dword [esi + 0x14], 0x10
jb 0x416ce7
mov ecx, dword [esi]
push dword [esi + 0x10]
push ecx
push eax
call fcn.0040b8d0
push 0x4bc024
push eax
call fcn.0040b300
add esp, 0x14
mov ecx, ebx
cmp dword [ebx + 0x14], 0x10
jb 0x416d09
mov ecx, dword [ebx]
push dword [ebx + 0x10]
push ecx
push eax
call fcn.0040b8d0
add esp, 0xc
lea eax, [ebp - 0x28]
lea ecx, [edi + 4]
push eax
call fcn.00412740
push str.void___thiscall_System::UtilsImpl::renameFile_const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____
push 0xa6
push str......._src_systemutils_impl.cpp
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
push 0x4e20
push 0x4e9734
call fcn.004254b0
mov edx, dword [ebp - 0x14]
add esp, 0x18
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x416d89
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x416d7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417006
push edx
push ecx
call fcn.0047242a
add esp, 8
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x416d93
mov eax, dword [esi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x416e61
push 0x7530
mov ecx, 0x4e9734
call fcn.00424910
test al, al
je 0x416fe8
call fcn.00425480
mov edi, eax
push 0x4bc150
push edi
call fcn.0040b300
mov ecx, dword [esi + 0x10]
add esp, 8
cmp dword [esi + 0x14], 0x10
jb 0x416dd9
mov esi, dword [esi]
push str._doesnt_exist._Cancel_rename.
push ecx
push esi
push eax
call fcn.0040b8d0
add esp, 0xc
push eax
call fcn.0040b300
add esp, 8
lea eax, [ebp - 0x28]
lea ecx, [edi + 4]
push eax
call fcn.00412740
push str.void___thiscall_System::UtilsImpl::renameFile_const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____
push 0xa9
push str......._src_systemutils_impl.cpp
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
push eax
push 0x7530
push 0x4e9734
call fcn.004254b0
mov edx, dword [ebp - 0x14]
add esp, 0x18
cmp edx, 0x10
jb 0x416fe8
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x416fde
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41700b
jmp 0x416fde
mov eax, dword [ebx + 0x14]
mov ecx, ebx
cmp eax, 0x10
jb 0x416e6d
mov ecx, dword [ebx]
cmp dword [esi + 0x14], 0x10
mov edx, esi
mov edi, dword [esi + 0x10]
jb 0x416e7a
mov edx, dword [esi]
cmp edi, dword [ebx + 0x10]
jne 0x416f1d
sub edi, 4
jb 0x416e99
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x416e9e
add edx, 4
add ecx, 4
sub edi, 4
jae 0x416e88
cmp edi, 0xfffffffc
je 0x416ed2
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x416ecb
cmp edi, 0xfffffffd
je 0x416ed2
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x416ecb
cmp edi, 0xfffffffe
je 0x416ed2
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x416ecb
cmp edi, 0xffffffff
je 0x416ed2
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x416ed2
sbb eax, eax
or eax, 1
jmp 0x416ed4
xor eax, eax
test eax, eax
jne 0x416f1a
push 0x7530
mov ecx, 0x4e9734
call fcn.00424910
test al, al
je 0x416fe8
push str.void___thiscall_System::UtilsImpl::renameFile_const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____
push 0xaf
push str......._src_systemutils_impl.cpp
push str.Old_and_new_path_are_equal._Cancel_rename.
push 0x7530
push 0x4e9734
call fcn.00425510
add esp, 0x18
jmp 0x416fe8
mov eax, dword [ebx + 0x14]
cmp eax, 0x10
jb 0x416f24
mov ebx, dword [ebx]
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x416f2e
mov eax, dword [esi]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x416fe8
push 0x9c40
mov ecx, 0x4e9734
call fcn.00424910
test al, al
je 0x416fe8
call fcn.00425480
mov edi, eax
push str.Failed_to_rename_the_file_on_path
push edi
call fcn.0040b300
mov ecx, dword [esi + 0x10]
add esp, 8
cmp dword [esi + 0x14], 0x10
jb 0x416f75
mov esi, dword [esi]
push ecx
push esi
push eax
call fcn.0040b8d0
add esp, 0xc
lea eax, [ebp - 0x40]
lea ecx, [edi + 4]
push eax
call fcn.00412740
push str.void___thiscall_System::UtilsImpl::renameFile_const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____const_class_std::basic_string_char_struct_std::char_traits_char__class_std::allocator_char_____
push 0xb5
push str......._src_systemutils_impl.cpp
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 2
push eax
push 0x9c40
push 0x4e9734
call fcn.004254b0
mov edx, dword [ebp - 0x2c]
add esp, 0x18
cmp edx, 0x10
jb 0x416fe8
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x416fde
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x417010
push edx
push ecx
call fcn.0047242a
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00472897
mov esp, ebp
pop ebp
ret 8
call fcn.0048d2da
call fcn.0048d2da
call fcn.0048d2da
int3