Function at 0x42f740
Capabilities:
Move file
Set file attributes

Disassembly:
sub esp, 0x218
mov eax, dword [0x4968d4]
xor eax, esp
mov dword [esp + 0x214], eax
push ebx
push ebp
push esi
mov ebx, ecx
mov eax, dword [ebx + 0xb0]
push edi
push eax
push str.FilePatch___begins_:_Section___d_
push 0x40
call fcn.0042b8f0
mov eax, dword [ebx + 0xbc]
lea ebp, [ebx + 0xb8]
add esp, 0xc
test eax, eax
jne 0x42f786
mov dword [esp + 0x14], eax
jmp 0x42f7a0
mov ecx, dword [ebp + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x14], ecx
fldz
mov esi, dword [ebp + 4]
cmp esi, dword [ebp + 8]
fstp dword [esp + 0x10]
jbe 0x42f7c0
call fcn.0045520c
jmp 0x42f7c0
mov edi, dword [ebx + 0xc0]
cmp dword [ebx + 0xbc], edi
jbe 0x42f7d3
call fcn.0045520c
test ebp, ebp
je 0x42f7e1
lea eax, [ebx + 0xb8]
cmp ebp, eax
je 0x42f7e6
call fcn.0045520c
cmp esi, edi
je 0x42fa59
test ebp, ebp
fild dword [esp + 0x14]
fdivr qword [0x47aa10]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
jne 0x42f809
call fcn.0045520c
cmp esi, dword [ebp + 8]
jb 0x42f813
call fcn.0045520c
mov eax, dword [esi]
push ecx
sub eax, 0x10
mov dword [esp + 0x1c], esp
mov edi, esp
push eax
call fcn.0040ab70
fld dword [esp + 0x18]
add eax, 0x10
fstp dword [esp]
mov ecx, ebx
mov dword [edi], eax
call fcn.0042f650
push 0x103
lea edx, [esp + 0x21]
push 0
push edx
mov byte [esp + 0x28], 0
call fcn.00455df0
push 0x103
lea eax, [esp + 0x131]
push 0
push eax
mov byte [esp + 0x138], 0
call fcn.00455df0
add esp, 0x18
cmp esi, dword [ebp + 8]
jb 0x42f877
call fcn.0045520c
mov ecx, dword [esi]
push ecx
push str.Tried_to_file_patch_:_File___s_
push 1
call fcn.0042b8f0
add esp, 0xc
cmp esi, dword [ebp + 8]
jb 0x42f893
call fcn.0045520c
mov edx, dword [esi]
mov eax, dword [ebx + 0x78]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push edx
push eax
lea ecx, [esp + 0x24]
push 0x47ac30
push ecx
call edi
add esp, 0x10
cmp esi, dword [ebp + 8]
jb 0x42f8b9
call fcn.0045520c
mov edx, dword [esi]
mov eax, dword [ebx + 0x80]
push edx
push eax
lea ecx, [esp + 0x128]
push 0x47ac30
push ecx
call edi
lea edx, [esp + 0x2c]
push edx
call fcn.0042adb0
add esp, 0x14
test eax, eax
je 0x42f9b5
lea eax, [esp + 0x120]
push 0
push eax
call fcn.00455f22
add esp, 8
cmp eax, 0xffffffff
je 0x42f9df
call fcn.00428400
cmp dword [eax + 0xbf4], 0
jne 0x42fa0f
push 0x80
lea ecx, [esp + 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 1
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x42f9a3
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x124]
push edx
call edi
push eax
push str.Failed_to_move_1_file_in_FilePatch___:_Error___d__ExistingPath___s__NewPath___s_
call fcn.0042bb70
add esp, 0x10
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x124]
push ecx
call edi
push eax
push str.Failed_to_move_1_file_in_FilePatch___:_Error___d__ExistingPath___s__NewPath___s_
push 8
call fcn.0042b8f0
add esp, 0x14
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
je 0x42fa16
cmp esi, dword [ebp + 8]
jb 0x42f9ad
call fcn.0045520c
add esi, 0x28
jmp 0x42f7c0
lea ecx, [esp + 0x1c]
push ecx
push str.Failed_to_RecCreateDirectoryFile_:_Path___s_
call fcn.0042bb70
lea edx, [esp + 0x24]
push edx
push str.Failed_to_RecCreateDirectoryFile_:_Path___s_
push 8
call fcn.0042b8f0
add esp, 0x14
mov eax, 0xb
jmp 0x42fa5b
lea eax, [esp + 0x120]
push eax
push str.Access_Error_:_File___s_
call fcn.0042bb70
lea ecx, [esp + 0x128]
push ecx
push str.Access_Error_:_File___s_
push 8
call fcn.0042b8f0
add esp, 0x14
mov eax, 0xb
jmp 0x42fa5b
mov eax, 2
jmp 0x42fa5b
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x124]
push eax
call edi
push eax
push str.Failed_to_move_2_file_in_FilePatch___:_Error___d__ExistingPath___s__NewPath___s_
call fcn.0042bb70
add esp, 0x10
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x124]
push edx
call edi
push eax
push str.Failed_to_move_2_file_in_FilePatch___:_Error___d__ExistingPath___s__NewPath___s_
push 8
call fcn.0042b8f0
add esp, 0x14
mov eax, 0xc
jmp 0x42fa5b
xor eax, eax
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00454567
add esp, 0x218
ret