Function at 0x4030e0
Capabilities:
Check if file exists
Copy file

Disassembly:
push 0xffffffffffffffff
push 0x41456b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x834
push ebx
push ebp
push esi
push edi
push 1
push ecx
lea eax, [esp + 0x868]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
mov dword [esp + 0x858], 2
xor edi, edi
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x28]
mov byte [esp + 0x854], 3
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.PwPersistence
call fcn.00413dc4
push ecx
mov byte [esp + 0x860], 4
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
mov byte [esp + 0x860], 2
call fcn.0040d140
mov eax, dword [esp + 0x34]
add esp, 0x14
cmp eax, 1
je 0x4031b8
lea ecx, [esp + 0x858]
mov byte [esp + 0x84c], 1
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x860]
mov byte [esp + 0x84c], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x868]
mov dword [esp + 0x84c], 0xffffffff
call sub.MFC42u.DLL_CString::CString
xor eax, eax
jmp 0x403539
mov ebx, dword [esp + 0x85c]
mov ebp, dword [sym.imp.MSVCRT.dll_swprintf]
mov esi, ebx
push 0x41cfec
and esi, 0xffff
push str.RRUbackups
push esi
lea edx, [esp + 0x440]
push str._c:_s_s
push edx
call ebp
mov eax, dword [esp + 0x86c]
add esp, 0x14
lea ecx, [esp + 0x24]
push 0x41cfec
push eax
push str._sSystem32config_s
push ecx
call ebp
add esp, 0x10
lea edx, [esp + 0x434]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 0
push ecx
test eax, eax
mov ecx, esp
je 0x4032e7
mov dword [esp + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov byte [esp + 0x858], 5
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Copying_SAM_file.
call fcn.00413dc4
mov byte [esp + 0x858], 2
call fcn.00406ff0
add esp, 0xc
lea eax, [esp + 0x24]
lea ecx, [esp + 0x434]
mov word [esp + 0x24], bx
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x4032b2
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00413dc4
push ecx
mov byte [esp + 0x854], 6
mov ecx, esp
mov dword [esp + 0x20], esp
push str.CopyFile
call fcn.00413dc4
push 0
mov byte [esp + 0x858], 2
call fcn.00406a10
add esp, 0xc
push str.RRUbackups
push esi
lea eax, [esp + 0x644]
push str._c:_sDocuments_and_Settings
push eax
call ebp
add esp, 0x10
lea ecx, [esp + 0x22c]
push str.RRUbackups
push esi
push str._c:_s
push ecx
call ebp
add esp, 0x10
jmp 0x40349f
mov dword [esp + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov byte [esp + 0x858], 7
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Restoring_SAM_file.
call fcn.00413dc4
mov byte [esp + 0x858], 2
call fcn.00406ff0
mov edx, dword [esp + 0x860]
add esp, 0xc
lea ecx, [esp + 0x14]
push edx
call fcn.00413dc4
mov bl, 8
lea ecx, [esp + 0x14]
mov byte [esp + 0x84c], bl
call sub.MFC42u.DLL_CString::MakeLower
push str.br_funcs.exe
push str.br_check.exe
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Replace
mov eax, dword [esp + 0x860]
mov ecx, dword [esp + 0x864]
push 1
push eax
push ecx
call fcn.0040d8b0
mov edx, dword [esp + 0x864]
add esp, 0xc
mov cx, word [edx]
push esi
and ecx, 0xffff
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x870]
push ecx
push eax
push edx
push str.restorefile_filename__s__level_d_destination__s__drive_c:_newdrive_c:
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0x1c
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0x40
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x4207a4
mov byte [esp + 0x868], 9
call sub.MFC42u.DLL_CString::CString_2
push ecx
lea eax, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x86c], 0xa
call sub.MFC42u.DLL_CString::CString_2
mov byte [esp + 0x868], bl
call fcn.0040eb10
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x403453
lea ecx, [esp + 0x24]
push edi
push ecx
push str.br_funcs_restorefile__s_returned_error_0x_X
push 0x42079c
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov byte [esp + 0x858], 0xb
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x42079c
call sub.MFC42u.DLL_CString::CString_2
mov byte [esp + 0x858], bl
call fcn.00406ff0
add esp, 0xc
mov edx, dword [esp + 0x868]
lea eax, [esp + 0x63c]
push edx
push str._sDocuments_and_Settings
push eax
call ebp
mov ecx, dword [esp + 0x874]
add esp, 0xc
lea edx, [esp + 0x22c]
push ecx
push 0x41cc44
push edx
call ebp
add esp, 0xc
lea ecx, [esp + 0x14]
mov byte [esp + 0x84c], 2
call sub.MFC42u.DLL_CString::CString
mov ebx, dword [esp + 0x85c]
lea eax, [esp + 0x63c]
push ebx
push eax
call fcn.004029b0
add esp, 4
lea edx, [esp + 0x85c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x230]
push ebx
push eax
call fcn.00402b50
add esp, 8
lea edx, [esp + 0x85c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x230]
push ebx
push eax
call fcn.00402e30
add esp, 0xc
lea ecx, [esp + 0x858]
mov byte [esp + 0x84c], 1
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x860]
mov byte [esp + 0x84c], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x868]
mov dword [esp + 0x84c], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov eax, edi
mov ecx, dword [esp + 0x844]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x840
ret