Function at 0x403560
Capabilities:
Check for software breakpoints
Check if file exists
Copy file
Delete file
Get disk information
Move file
Read .ini file
Resolve function by parsing pe exports
Set file attributes
Set registry value

Disassembly:
mov eax, 0x110b8
call fcn.00413f20
push ebx
push ebp
push esi
lea eax, [esp + 0x10]
push edi
lea ecx, [esp + 0x44]
xor edi, edi
push eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push ecx
push edi
push 0xf003f
push edi
push edi
push edi
push str.SOFTWAREIBMIBM_Rapid_Restore_UltraDebug
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x58], edi
mov dword [esp + 0x68], edi
call esi
cmp eax, edi
jne 0x4035a9
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], edx
lea eax, [esp + 0x14]
lea ecx, [esp + 0x44]
push eax
push ecx
push edi
push 0xf003f
push edi
push edi
push edi
push str.SOFTWAREIBMIBM_Rapid_Restore_UltraDebug
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x68], edi
call esi
mov ebp, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, edi
jne 0x40360a
push str.c:engine.log
call ebx
lea edx, [eax + eax + 2]
mov edi, dword [esp + 0x44]
push edx
push str.c:engine.log
push 1
push 0
push str.Engine
push edi
call ebp
test edi, edi
je 0x403608
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
lea eax, [esp + 0x14]
lea ecx, [esp + 0x44]
push eax
push ecx
push edi
push 0xf003f
push edi
push edi
push edi
push str.SOFTWAREIBMIBM_Rapid_Restore_UltraDebug
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x68], edi
call esi
cmp eax, edi
jne 0x40365c
push str.c:engine.log
call ebx
lea edx, [eax + eax + 2]
mov esi, dword [esp + 0x44]
push edx
push str.c:engine.log
push 1
push edi
push str.Verbatim
push esi
call ebp
cmp esi, edi
je 0x40365c
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x248]
push 0x104
push eax
push edi
mov dword [esp + 0x8c], edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x4036b1
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.GetModuleFileName
call fcn.00413dc4
push edi
call fcn.00406a10
mov eax, dword [esp + 0x40]
add esp, 0xc
cmp eax, edi
jmp 0x405c13
push 0x4207b8
lea ecx, [esp + 0x20]
mov dword [esp + 0x6c], 3
mov dword [esp + 0x30], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x98], edi
call fcn.00413dc4
push 0x41de54
call dword [sym.imp.MSVCRT.dll__wgetenv]
lea ecx, [esp + 0x8c]
mov dword [esp + 0xa0], eax
mov ax, word [eax]
lea edx, [esp + 0xa8]
push ecx
push edx
push eax
call fcn.004085a0
add esp, 0x10
lea ecx, [esp + 0x18]
push 0x4207b8
call fcn.00413dc4
mov esi, 0x4207bc
mov ebx, dword [esp + 0x110d4]
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403744
test cl, cl
je 0x403740
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403744
add eax, 2
add esi, 2
test cl, cl
jne 0x403720
xor eax, eax
jmp 0x403749
sbb eax, eax
sbb eax, 0xffffffff
mov esi, dword [sym.imp.MSVCRT.dll_wcscmp]
cmp eax, edi
mov ebp, 0x10
jne 0x403bb1
push 1
push edi
push str.tvttemp.txt
lea eax, [esp + 0x24]
push 0xffffffffffffffff
push eax
call fcn.0040df50
mov ecx, dword [esp + 0x2c]
push 0x4207b8
push ecx
call esi
add esp, 0x1c
test eax, eax
je 0x403b94
call fcn.004025c0
mov edx, dword [esp + 0x18]
push edx
push str.command_file_found:__s__br_check_
push 0x42079c
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x42079c
call sub.MFC42u.DLL_CString::CString_2
call fcn.00406ff0
add esp, 0xc
lea eax, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x70]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.PECommand
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x38]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RestoreLevel
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x28]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RestoreLocation
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x9c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RemoveSP
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
mov eax, dword [esp + 0x7c]
add esp, 0x14
cmp eax, ebp
jne 0x404029
lea ecx, [esp + 0x80]
call sub.MFC42u.DLL_CString::CString_1
push 1
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x28]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Location
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x88]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Name
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040ce30
add esp, 0x14
lea edx, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x4c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Partitions
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x38]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Level
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
mov ecx, dword [esp + 0x2c]
add esp, 0x14
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x403a36
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.DeleteFile
call fcn.00413dc4
push edi
call fcn.00406a10
add esp, 0xc
lea eax, [esp + 0x248]
mov ecx, 0x420798
push eax
call sub.MFC42u.DLL_CString::operator_2
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::MakeLower
push str.progress.exe
push str.br_check.exe
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::Replace
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0040a290
add esp, 4
push eax
push 0x41dd5c
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push edi
push 5
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
lea edx, [esp + 0x248]
mov ecx, 0x420798
push edx
call sub.MFC42u.DLL_CString::operator_2
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::MakeLower
push str.pda_base.exe
push str.br_check.exe
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::Replace
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x80]
push eax
mov eax, dword [esp + 0x24]
push ecx
push edx
push eax
push str.location_d_name__s__partitions0x_08X_level_d
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0x18
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0x40
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
call fcn.00402670
lea ecx, [esp + 0x40]
push ecx
call fcn.004075a0
mov eax, dword [eax]
push edi
push eax
push str.The_Sysprep_Backup_is_complete.
push edi
call fcn.00401710
add esp, 0x30
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x80]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, edi
jmp 0x406766
lea edx, [esp + 0x94]
lea eax, [esp + 0x68]
push edx
lea ecx, [esp + 0x74]
push eax
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x30]
push eax
push ecx
push str._d__d__d__d__d__d
push ebx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x20
call fcn.004025c0
cmp dword [esp + 0x68], 3
jne 0x404029
cmp dword [esp + 0x2c], edi
jne 0x404029
mov eax, dword [esp + 0x88]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x20]
jne 0x40402d
cmp eax, 2
jne 0x40402d
cmp dword [esp + 0x30], 0xcd
jne 0x4041cb
push str.python.exe
push 0x420798
call sub.MFC42u.DLL_CString::Format
mov ebx, dword [esp + 0xa4]
add esp, 8
push 0x41c0f0
push ebx
push str._s_sutils_spi_spi.pyc_nova
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
lea ecx, [esp + 0x28]
call sub.MFC42u.DLL_CString::CString_1
push 0x41c0f0
push ebx
lea edx, [esp + 0x30]
push str._s_sutils_spi
push edx
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
lea eax, [esp + 0x28]
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
push 0x20
push 0x40
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
mov esi, eax
add esp, 0x1c
cmp esi, edi
je 0x403ce5
lea ecx, [esp + 0x28]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, edi
jmp 0x405f42
lea ecx, [esp + 0x1c]
push ecx
call fcn.0040e830
mov edx, dword [esp + 0x20]
add esp, 4
lea eax, [esp + 0x18]
push str.tvt.txt
push edx
push 0x41c15c
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
call fcn.00402370
mov esi, eax
add esp, 4
cmp esi, edi
jne 0x403cbf
lea eax, [esp + 0xb8]
push 0x41c5ec
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
mov ebp, dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 8
mov esi, 0x43
lea ecx, [esp + 0xb8]
mov word [esp + 0xb8], si
push ecx
call ebp
cmp eax, 3
jne 0x403ddd
lea edx, [esp + 0x14]
lea eax, [esp + 0x24]
push edx
push eax
push esi
call fcn.004085a0
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0040a2b0
add esp, 0x10
test eax, eax
je 0x403ddd
lea edx, [esp + 0xb8]
push edx
push 0x41dc00
push 0x4207a8
call sub.MFC42u.DLL_CString::Format
mov eax, dword [0x4207a8]
add esp, 0xc
push eax
call edi
test eax, eax
jne 0x403ddd
lea ecx, [esp + 0xb8]
push str.RRUbackups
push ecx
push str._s_s
push 0x4207a8
call sub.MFC42u.DLL_CString::Format
mov edx, dword [0x4207a8]
add esp, 0x10
push edx
call edi
test eax, eax
je 0x403dea
inc esi
cmp si, 0x5a
jbe 0x403d53
jmp 0x403def
test si, si
jne 0x403e11
push 0x40000
push 0x4207b8
push str.Could_not_find_service_partition
push 0
call fcn.00401710
add esp, 0x10
lea ecx, [esp + 0x28]
jmp 0x405bf6
and esi, 0xffff
push esi
push str._c:__Q__Y__FS:FAT32
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0x40
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push str.format
call fcn.00413dc4
call fcn.0040eb10
add esp, 0x1c
lea eax, [esp + 0x18]
push str.tvttemp.txt
push esi
push str._c:_s
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push 3
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PECommand
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0xc
lea eax, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
mov ecx, dword [esp + 0x34]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RestoreLevel
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov eax, dword [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RestoreLocation
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0xc
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RemoveSP
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
push 0x4207a0
push 0x98
call fcn.004075c0
lea eax, [esp + 0x3c]
push eax
call fcn.004075a0
mov eax, dword [eax]
mov ecx, dword [0x4207a0]
push 0x40000
push eax
push ecx
push 0
call fcn.00401710
add esp, 0x2c
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
push 0x41c0f0
push ebx
push str._s_susrintfcPEAccessIBM.exe
push 0x420798
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push str.exit_1
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 8
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
lea ecx, [esp + 0x28]
jmp 0x406749
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x30], 0xcd
jne 0x404154
cmp dword [esp + 0x2c], edi
jne 0x404154
cmp dword [esp + 0x88], 0xffffffff
je 0x404154
cmp eax, 2
jne 0x404154
lea edx, [esp + 0x248]
mov ecx, 0x420798
push edx
call sub.MFC42u.DLL_CString::operator_2
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::MakeLower
push str.wizrru.exe
push str.br_check.exe
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::Replace
push 2
push str.location_d
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
mov eax, dword [esp + 0x24]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4040da
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.DeleteFile
call fcn.00413dc4
push edi
call fcn.00406a10
add esp, 0xc
call fcn.00402670
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push edi
push 5
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, edi
je 0x40676f
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
cmp eax, ebp
je 0x4041cb
cmp eax, 8
je 0x4041cb
cmp eax, 2
je 0x4041cb
cmp eax, 1
je 0x4041cb
cmp eax, 0x20
je 0x4041cb
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Bad_location
call fcn.00413dc4
push 3
call fcn.00406a10
add esp, 0xc
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, edi
je 0x4041b9
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x90], edi
cmp eax, edi
mov dword [esp + 0xb0], edi
jne 0x40426f
push 1
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x98]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.WinRestore
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0xb8]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.CmdLineRestore
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString_1
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push eax
push ecx
lea edx, [esp + 0x58]
push str.br_check:_got_parameters__d__d__d_iWinInitiatedRestore_d
push edx
call sub.MFC42u.DLL_CString::Format
add esp, 0x14
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
call fcn.004017a0
add esp, 4
test al, al
je 0x4042e3
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, edi
jmp 0x405df7
lea ecx, [esp + 0x24]
push str.tvt.txt
push ecx
call fcn.00407450
mov edx, dword [eax]
add esp, 4
lea eax, [esp + 0x864]
push edx
push 0x41c15c
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0x10
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
cmp dword [esp + 0x2c], 1
jne 0x4043f8
mov edx, dword [esp + 0x20]
push edi
push 1
lea ecx, [esp + 0x868]
push 1
push ecx
push edx
call fcn.0040c790
mov eax, dword [esp + 0x34]
add esp, 0x14
cmp eax, ebp
jne 0x40436f
cmp dword [esp + 0x88], 0xffffffff
je 0x404363
push 0x2710
push 3
push 1
call fcn.0040f810
add esp, 0xc
cmp eax, edi
je 0x40436f
push edi
push 1
push edi
call fcn.0040f190
add esp, 0xc
mov eax, dword [esp + 0x20]
cmp eax, 2
je 0x4043d7
lea ecx, [esp + 0x860]
push 1
lea edx, [esp + 0x20]
push ecx
push edx
push eax
call fcn.00407c60
mov eax, dword [esp + 0x30]
add esp, 0x10
cmp eax, 1
jne 0x4043a8
push 0x4207a0
push 0x90
jmp 0x404652
cmp eax, 0x20
jne 0x4043bc
push 0x4207a0
push 0x92
jmp 0x404652
cmp eax, 8
jne 0x4043d0
push 0x4207a0
push 0x91
jmp 0x404652
cmp eax, ebp
jmp 0x404587
push 0x4207a0
push 0x94
call fcn.004075c0
lea eax, [esp + 0x24]
push eax
call fcn.0040e830
add esp, 0xc
jmp 0x40465a
mov eax, dword [esp + 0x20]
cmp eax, 1
jne 0x404431
lea ecx, [esp + 0x1c]
push ecx
call fcn.0040e2c0
mov edx, dword [esp + 0x20]
push 0x4207b8
push edx
call esi
add esp, 0xc
test eax, eax
jne 0x40465a
push 0x4207a0
push 0x90
jmp 0x404652
cmp eax, 0x20
jne 0x404466
lea eax, [esp + 0x1c]
push eax
call fcn.0040e590
mov ecx, dword [esp + 0x20]
push 0x4207b8
push ecx
call esi
add esp, 0xc
test eax, eax
jne 0x40465a
push 0x4207a0
push 0x92
jmp 0x404652
cmp eax, 8
jne 0x40449b
lea edx, [esp + 0x1c]
push edx
call fcn.0040e460
mov eax, dword [esp + 0x20]
push 0x4207b8
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x40465a
push 0x4207a0
push 0x91
jmp 0x404652
cmp eax, ebp
jne 0x40459c
cmp dword [esp + 0x90], 1
jne 0x4044b8
push 0x4e20
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0x88], 0xffffffff
je 0x4044db
push 0x2710
push 3
push 1
call fcn.0040f810
add esp, 0xc
cmp eax, edi
je 0x404568
mov esi, 0x4207bc
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x404506
test cl, cl
je 0x404502
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x404506
add eax, 2
add esi, 2
test cl, cl
jne 0x4044e2
xor eax, eax
jmp 0x40450b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x404568
cmp dword [esp + 0x2c], edi
jne 0x404568
cmp dword [esp + 0xb0], edi
jne 0x404568
lea ecx, [esp + 0x28]
call sub.MFC42u.DLL_CString::CString_1
lea eax, [esp + 0x28]
push eax
push 0x9c
call fcn.004075c0
lea ecx, [esp + 0x2c]
push ecx
call fcn.004075a0
mov eax, dword [eax]
mov edx, dword [esp + 0x34]
push 0x40000
push eax
push edx
push edi
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x28]
call sub.MFC42u.DLL_CString::CString
lea eax, [esp + 0x1c]
push eax
call fcn.0040e720
mov ecx, dword [esp + 0x20]
push 0x4207b8
push ecx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 0xc
test eax, eax
jne 0x40465a
push 0x4207a0
push 0x93
jmp 0x404652
cmp eax, 2
jne 0x40465a
lea edx, [esp + 0x1c]
push edx
call fcn.0040e830
mov eax, dword [esp + 0x20]
push 0x4207b8
push eax
mov esi, 1
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 0xc
test eax, eax
jne 0x404631
cmp esi, 1
jne 0x404631
push 0x4207a0
push 0x9b
call fcn.004075c0
lea ecx, [esp + 0x2c]
push ecx
call fcn.004075a0
mov eax, dword [eax]
mov edx, dword [0x4207a0]
push esi
push eax
push edx
push edi
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x24]
mov esi, eax
call sub.MFC42u.DLL_CString::CString
cmp esi, 1
jne 0x40461a
lea eax, [esp + 0x1c]
push eax
call fcn.0040e830
add esp, 4
mov ecx, dword [esp + 0x1c]
push 0x4207b8
push ecx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
je 0x4045cb
mov edx, dword [esp + 0x1c]
push 0x4207b8
push edx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x40465a
push 0x4207a0
push 0x94
call fcn.004075c0
add esp, 8
mov eax, dword [esp + 0x1c]
push 0x4207b8
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x4046c2
lea ecx, [esp + 0x24]
push ecx
call fcn.004075a0
mov eax, dword [eax]
mov edx, dword [0x4207a0]
push 0x40000
push eax
push edx
push edi
call fcn.00401710
add esp, 0x14
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, edi
jmp 0x405c13
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x41c198
call fcn.00413dc4
push ecx
lea ecx, [esp + 0x28]
mov eax, esp
mov dword [esp + 0x20], esp
push ecx
push str.Backup_Location_found:
push eax
call sub.MFC42u.DLL_operator_2
call fcn.00406ff0
add esp, 0xc
lea ecx, [esp + 0x54]
push 0x4207b8
call fcn.00413dc4
mov eax, dword [esp + 0x30]
cmp eax, 0x20
jbe 0x404727
mov edx, dword [esp + 0x1c]
push eax
push str.Base
push edx
lea eax, [esp + 0x60]
push str._s_s_03d
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0x14
cmp dword [esp + 0x2c], edi
jne 0x40479b
mov esi, 0x4207bc
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x404758
test cl, cl
je 0x404754
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x404758
add eax, 2
add esi, 2
test cl, cl
jne 0x404734
xor eax, eax
jmp 0x40475d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x40479b
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x40479b
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.DeleteFile
call fcn.00413dc4
push edi
call fcn.00406a10
add esp, 0xc
push 0x4207b8
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::operator_2
push str.tvt.txt
lea ecx, [esp + 0x1c]
mov eax, dword [esp + 0x20]
push eax
push 0x41c15c
push ecx
call sub.MFC42u.DLL_CString::Format
mov edx, dword [esp + 0x28]
add esp, 0x10
push edx
push str.config_file:__s__br_check_
push 0x4207a0
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4207a0
call sub.MFC42u.DLL_CString::CString_2
call fcn.00406ff0
mov eax, dword [esp + 0x3c]
mov esi, dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0xc
lea ecx, [esp + 0xec0]
push eax
push str.bt_d.dat
push ecx
call esi
mov eax, dword [esp + 0x28]
add esp, 0xc
lea edx, [esp + 0xec0]
lea ecx, [esp + 0x658]
push edx
push eax
push 0x41c15c
push ecx
call esi
mov eax, dword [esp + 0x78]
add esp, 0x10
cmp eax, 0xe
jne 0x4048ca
mov edx, dword [esp + 0x18]
push 1
push edi
push edx
call fcn.00409b60
add esp, 0xc
cmp eax, 0xffffffff
je 0x4048c5
lea ecx, [esp + 0x658]
push 1
push ecx
push eax
call fcn.00408310
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x4048b3
push 0x4207a0
push 0xcc
call fcn.004075c0
lea edx, [esp + 0x2c]
push edx
call fcn.004075a0
mov eax, dword [eax]
push 0x40000
push eax
mov eax, dword [0x4207a0]
push eax
push edi
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
jmp 0x403cc3
or esi, 0xffffffff
jmp 0x40487a
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString_1
push 0x4207b8
lea ecx, [esp + 0x54]
call fcn.00413dc4
push 1
lea eax, [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
push ecx
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.0040db70
mov eax, dword [esp + 0x38]
add esp, 0x18
xor esi, esi
cmp eax, ebp
jne 0x4049d9
mov eax, dword [esp + 0x50]
push 0x4207b8
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x4049d9
cmp esi, 0x14
jae 0x4049d9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push str.Backup_section_not_found.__INIFile_s__level_d__location_d.__Retrying...
push 0x42079c
call sub.MFC42u.DLL_CString::Format
add esp, 0x14
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x42079c
call sub.MFC42u.DLL_CString::CString_2
call fcn.00406ff0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
add esp, 0xc
lea eax, [esp + 0x18]
push 1
push ecx
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x60]
push ecx
push edx
call fcn.0040db70
add esp, 0x18
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp dword [esp + 0x20], ebp
je 0x404921
mov eax, dword [esp + 0x50]
push 0x4207b8
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x404a85
push 0x4207a0
push 0x95
call fcn.004075c0
lea ecx, [esp + 0x2c]
push ecx
call fcn.004075a0
mov eax, dword [eax]
mov edx, dword [0x4207a0]
push 0x40000
push eax
push edx
push edi
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, edi
je 0x404a73
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
mov eax, dword [esp + 0x50]
push eax
push str.Restore_section_found:__s
push 0x42079c
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
xor ebp, ebp
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x42079c
call sub.MFC42u.DLL_CString::CString_2
call fcn.00406ff0
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0x18c]
push 0x41c5ec
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x190]
push ecx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 0x14
lea ecx, [esp + 0x4c]
push 0x41d8c0
call fcn.00413dc4
push 0x41d8c0
lea ecx, [esp + 0x40]
call fcn.00413dc4
mov edi, 1
lea edx, [esp + 0x18]
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
mov dword [esp + 0x68], ebp
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x64]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.Partitions
call fcn.00413dc4
push ecx
lea edx, [esp + 0x64]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040d140
mov eax, dword [esp + 0x70]
add esp, 0x14
cmp eax, ebp
jne 0x404bf3
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.No_partitions_found
call fcn.00413dc4
push 5
call fcn.00406a10
add esp, 0xc
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x404be1
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.z:_tvttemp.txt
call fcn.00413dc4
lea eax, [esp + 0xbc]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.BareMetalComplete
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
mov eax, dword [esp + 0xc8]
add esp, 0x14
cmp eax, edi
je 0x404cbd
cmp dword [esp + 0x2c], ebp
jne 0x404cad
cmp dword [esp + 0x20], edi
je 0x404cad
cmp dword [esp + 0x90], edi
je 0x404cad
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.0040a2b0
add esp, 4
test eax, eax
je 0x404cb7
cmp dword [esp + 0x88], 0xffffffff
je 0x404cb7
mov esi, 0x4207bc
mov eax, ebx
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x404ca4
test cl, cl
je 0x404ca0
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x404ca4
add eax, 2
add esi, 2
test cl, cl
jne 0x404c7c
xor eax, eax
jmp 0x404ca9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x404cb7
cmp dword [esp + 0x70], edi
jne 0x404e38
mov dword [esp + 0x70], edi
jmp 0x404cc7
cmp dword [esp + 0x70], edi
jne 0x404e38
lea eax, [esp + 0x248]
mov ecx, 0x420798
push eax
call sub.MFC42u.DLL_CString::operator_2
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::MakeLower
push str.BareMetal.exe
push str.br_check.exe
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::Replace
lea ecx, [esp + 0x658]
mov edx, dword [esp + 0x18]
push ecx
push edx
push str.__s____s_
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0x40
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
mov eax, dword [esp + 0x34]
push ebp
push ebp
push eax
call fcn.00409b60
add esp, 0x28
cmp eax, 0xffffffff
je 0x404e38
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
push ecx
push eax
mov eax, dword [esp + 0x38]
push edx
push eax
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov dword [esp + 0x3c], ebp
call sub.MFC42u.DLL_CString::CString_2
call fcn.004124e0
add esp, 0x14
test eax, eax
jne 0x404e38
push 0x4207a0
push 0xd0
call fcn.004075c0
lea eax, [esp + 0xa8]
push eax
call fcn.004075a0
mov eax, dword [eax]
mov ecx, dword [0x4207a0]
push 4
push eax
push ecx
push ebp
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0xa0]
mov esi, eax
call sub.MFC42u.DLL_CString::CString
cmp esi, 7
jne 0x404e38
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
cmp eax, ebp
jmp 0x405c13
mov eax, dword [esp + 0x5c]
xor ecx, ecx
shr eax, 2
mov dword [esp + 0x24], ecx
mov dword [esp + 0x7c], edi
je 0x404e58
test al, 1
je 0x404e50
inc ecx
shr eax, 1
jne 0x404e4b
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x74]
mov byte [esp + 0x42], 0
call sub.MFC42u.DLL_CString::CString_1
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString_1
push edi
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x68]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.WindowsDir
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040ce30
add esp, 0x14
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::MakeUpper
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
push edi
push edx
mov ax, word [ecx]
mov ecx, dword [esp + 0x20]
push ecx
push eax
call fcn.00409de0
add esp, 0x10
mov esi, eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x8c], esi
push 0x4207b8
mov byte [esp + 0x72], 0
mov byte [esp + 0x47], 1
call fcn.00413dc4
mov eax, esi
push str.tvttemp.txt
and eax, 0xffff
lea edx, [esp + 0x3c]
push eax
push str._c:_s
push edx
mov dword [esp + 0x24], eax
call sub.MFC42u.DLL_CString::Format
mov eax, dword [esp + 0x80]
add esp, 0x10
cmp eax, edi
mov byte [esp + 0x6f], 0
je 0x404f54
cmp dword [esp + 0x2c], ebp
jne 0x404f54
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str.PDAPreRestoreShow
push str.PDAPreRestoreParameters
push str.PDAPreRestore
push str.RapidRestoreUltra
call fcn.0040fc20
add esp, 0x18
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], 2
shr eax, 2
mov dword [esp + 0x5c], eax
je 0x405a86
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, 1
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x404f99
mov eax, dword [esp + 0x20]
push 0
push ebp
lea edx, [esp + 0x868]
push ebp
push edx
push eax
call fcn.0040c790
add esp, 0x14
cmp dword [esp + 0x70], ebp
je 0x405087
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x405087
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.0040a2b0
add esp, 4
test eax, eax
je 0x405087
cmp dword [esp + 0x88], 0xffffffff
je 0x405087
push ebp
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
mov dword [esp + 0xb8], 0
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0xb4]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.LastBackupLocation
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0xa0]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.CDBackup
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
mov eax, dword [esp + 0xac]
add esp, 0x14
cmp eax, ebp
je 0x405087
cmp dword [esp + 0x20], ebp
je 0x405087
test byte [esp + 0xac], 1
jne 0x405c2c
mov al, byte [esp + 0x43]
test al, al
je 0x4050a2
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40509d
cmp dword [esp + 0x70], ebp
jne 0x4050a2
mov byte [esp + 0x43], 0
test byte [esp + 0x5c], 1
je 0x405a51
mov ecx, dword [esp + 0x78]
lea edi, [ecx + 0x41]
lea ecx, [esp + 0x3c]
push edi
push 0
call sub.MFC42u.DLL_CString::SetAt
mov al, byte [esp + 0x43]
test al, al
je 0x40510a
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x1c]
cmp ecx, 0x20
jbe 0x4050d9
lea edx, [esp + 0x54]
mov eax, dword [esp + 0x3c]
mov ax, word [eax]
push eax
mov eax, dword [esp + 0x24]
push eax
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
call fcn.00401820
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x405c62
mov byte [esp + 0x43], al
push 0x4207b8
lea ecx, [esp + 0x68]
call fcn.00413dc4
lea ecx, [esp + 0x28]
call sub.MFC42u.DLL_CString::CString_1
push ebp
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0xa8]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.PartitionCount
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.BackupDisk
call fcn.00413dc4
call fcn.0040d140
mov eax, dword [esp + 0xb4]
add esp, 0x14
cmp eax, ebp
mov esi, ebp
jb 0x4051ff
push esi
push str.Partition
lea ecx, [esp + 0x6c]
push str._s_d
push ecx
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
lea edx, [esp + 0x18]
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.DriveLetter
call fcn.00413dc4
push ecx
lea edx, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040ce30
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__wcsicmp]
add esp, 0x1c
test eax, eax
je 0x4051ff
push 0x4207b8
lea ecx, [esp + 0x68]
call sub.MFC42u.DLL_CString::operator_2
inc esi
cmp esi, dword [esp + 0xa0]
jbe 0x405176
mov edx, dword [esp + 0x64]
push 0x4207b8
push edx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x40526e
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str.Unable_to_find_section_in__s_for_driveletter__s
push 0x42079c
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x42079c
call sub.MFC42u.DLL_CString::CString_2
call fcn.00406ff0
add esp, 0xc
mov dword [esp + 0x80], 6
jmp 0x405567
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push ebp
push edx
push eax
push edi
call fcn.00409de0
mov esi, eax
add esp, 0x10
test si, si
jne 0x4052c5
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4207b8
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.mapPreviousPartitionToCurrent
call fcn.00413dc4
push 6
call fcn.00406a10
add esp, 0xc
mov dword [esp + 0x80], 6
jmp 0x405567
push esi
push 0
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::SetAt
mov word [esp + 0x180], si
cmp dword [esp + 0x7c], ebp
jne 0x40539c
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40564f
cmp dword [esp + 0x70], ebp
je 0x4053b2
lea ecx, [esp + 0x44]
call sub.MFC42u.DLL_CString::CString_1
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x44]
push ecx
push 0x41dd5c
push edx
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0x248]
mov ecx, 0x420798
push eax
call sub.MFC42u.DLL_CString::operator_2
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::MakeLower
push str.progress.exe
push str.br_check.exe
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::Replace
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0
push 5
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
push 0xbb8
call ebx
lea ecx, [esp + 0x44]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40564f
cmp dword [esp + 0x70], ebp
jne 0x40559a
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x64]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ecx
lea eax, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x68]
push eax
call fcn.0040a460
mov ecx, dword [esp + 0x6c]
push 0x4207b8
push ecx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 0x1c
test eax, eax
jne 0x405419
push str.NTFS
lea ecx, [esp + 0x5c]
call sub.MFC42u.DLL_CString::operator_2
mov edx, dword [esp + 0x18]
mov ecx, 0x19
xor eax, eax
lea edi, [esp + 0xb8]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x64]
push edx
lea eax, [esp + 0xbc]
push 0x64
push eax
push 0x4207b8
push str.Label
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push str.FAT32
mov edx, dword [esp + 0x5c]
push edx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
je 0x4054e8
push str.format
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::operator_2
lea eax, [esp + 0x180]
lea edx, [esp + 0xb8]
mov ecx, dword [esp + 0x64]
push eax
push ecx
push edx
push str.LABEL_s__section_s_root_s
push 0x42079c
call sub.MFC42u.DLL_CString::Format
add esp, 0x14
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x42079c
call sub.MFC42u.DLL_CString::CString_2
call fcn.00406ff0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
add esp, 0xc
push eax
push ecx
push str._s__Q__Y__FS:_s
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
jmp 0x40550e
push str.fmtfat32
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::operator_2
mov edx, dword [esp + 0x4c]
push edx
push str._s__Y
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
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 + 0x28], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x180]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
shr edx, 1
inc ecx
inc eax
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x7c], eax
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x64]
call sub.MFC42u.DLL_CString::CString
jmp 0x405a7a
mov eax, dword [esp + 0x68]
mov ebx, 3
cmp eax, ebx
jne 0x405654
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x48]
push edx
push str.br_check:_About_to_delete_everything_in__s.
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 8
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
call fcn.004017a0
add esp, 4
test al, al
jne 0x405d7c
mov eax, dword [esp + 0x20]
cmp eax, 2
mov eax, dword [esp + 0x3c]
jne 0x4055f5
cmp word [eax], 0x43
jne 0x405640
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x1c]
cmp ecx, 0x20
jbe 0x405606
lea edx, [esp + 0x54]
mov ax, word [eax]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov ecx, 0x20
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x3c]
cmp ecx, eax
sbb edx, edx
not edx
and edx, eax
push edx
call fcn.004027a0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x405e12
mov eax, dword [esp + 0x4c]
push eax
call fcn.00401420
add esp, 4
jmp 0x405654
mov ebx, 3
lea ecx, [esp + 0x248]
push ecx
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::operator_2
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::MakeLower
cmp dword [esp + 0x68], ebx
jne 0x40567d
push str.br_funcs.exe
jmp 0x405682
push str.osrestore.exe
push str.br_check.exe
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::Replace
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x20
jbe 0x4056a2
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
test eax, eax
je 0x4056b7
cmp esi, ebp
mov edx, str._local
je 0x4056bc
mov edx, 0x4207b8
test eax, eax
je 0x4056c7
mov eax, 0x41d574
jmp 0x4056da
mov eax, dword [esp + 0x68]
cmp eax, 0x11
mov eax, str.WithSave
je 0x4056da
mov eax, 0x4207b8
mov ebp, dword [esp + 0x4c]
push ebp
mov ebp, dword [esp + 0x40]
push ebp
push edi
push esi
mov esi, 0x20
cmp esi, ecx
sbb esi, esi
not esi
and esi, ecx
push esi
push edx
push eax
push str.restore_s_s_level_d_location_d_destination__s__drive_s_newdrive_s
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
mov eax, dword [esp + 0x50]
add esp, 0x24
test eax, eax
jne 0x40580c
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x3c]
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x40580c
lea edx, [esp + 0x248]
lea ecx, [esp + 0x84]
push edx
call fcn.00413dc4
lea ecx, [esp + 0x84]
call sub.MFC42u.DLL_CString::MakeLower
push str.br_check2.exe
push str.br_check.exe
lea ecx, [esp + 0x8c]
call sub.MFC42u.DLL_CString::Replace
mov eax, dword [esp + 0x84]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea edx, [esp + 0x248]
mov ecx, dword [esp + 0x84]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x4057b5
push ecx
lea eax, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.MoveFile
call fcn.00413dc4
push 0
call fcn.00406a10
add esp, 0xc
mov edx, dword [esp + 0x84]
lea ecx, [esp + 0x248]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x405800
push ecx
lea eax, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CopyFile
call fcn.00413dc4
push 0
call fcn.00406a10
add esp, 0xc
lea ecx, [esp + 0x84]
call sub.MFC42u.DLL_CString::CString
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 + 0x28], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
mov ecx, dword [esp + 0x48]
add esp, 0x1c
test ecx, ecx
mov ecx, dword [esp + 0x68]
je 0x40586a
cmp ecx, ebx
je 0x40586a
test eax, eax
jne 0x40586e
mov byte [esp + 0x6f], 1
jmp 0x4058bc
test eax, eax
je 0x4058bc
cmp ecx, ebx
mov ecx, str.br_funcs
je 0x40587c
mov ecx, str.osrestore
push eax
push ecx
push str._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 + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x42079c
call sub.MFC42u.DLL_CString::CString_2
call fcn.00406ff0
add esp, 0xc
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x405a36
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x40592f
cmp dword [esp + 0x20], 2
je 0x40592f
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea edx, [esp + 0x1c]
mov eax, dword [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea edx, [esp + 0x6c]
mov eax, dword [esp + 0x98]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x25c]
push eax
call fcn.004030e0
add esp, 0x18
mov al, byte [esp + 0x42]
test al, al
jne 0x405a36
cmp dword [esp + 0x68], ebx
je 0x405946
mov byte [esp + 0x42], 1
mov eax, dword [esp + 0x30]
mov ebx, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor esi, esi
mov ecx, dword [esp + 0x1c]
cmp eax, 0x20
jbe 0x40595f
mov ecx, dword [esp + 0x54]
mov edx, 0x20
cmp edx, eax
sbb eax, eax
xor edx, edx
not eax
and eax, esi
push eax
mov eax, dword [esp + 0x40]
mov dx, word [eax]
push edx
push ecx
lea ecx, [esp + 0x80]
push str._s_c_dEFSFile
push ecx
call sub.MFC42u.DLL_CString::Format
add esp, 0x14
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
lea eax, [esp + 0x80]
mov edx, esp
mov dword [esp + 0x1c], esp
push eax
push str.Checking_for_efs_file_at
push edx
call sub.MFC42u.DLL_operator_2
call fcn.00406ff0
mov edx, dword [esp + 0x80]
add esp, 0xc
lea ecx, [esp + 0xa68]
push ecx
push edx
call ebx
cmp eax, 0xffffffff
je 0x4059f6
mov edi, dword [esp + 0xa84]
mov ebp, dword [esp + 0xa88]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test edi, edi
jne 0x405a05
test ebp, ebp
jne 0x405a05
mov eax, dword [esp + 0x30]
inc esi
cmp esi, eax
jbe 0x405952
jmp 0x405a36
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.bTellWindowsToRestoreEFS
call fcn.00413dc4
call fcn.00406ff0
add esp, 0xc
mov byte [esp + 0x42], 1
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x28]
inc eax
mov dword [esp + 0x7c], eax
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x64]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
shr eax, 1
inc edx
mov dword [esp + 0x5c], eax
test eax, eax
mov dword [esp + 0x78], edx
je 0x405a86
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call ebx
mov ebp, 1
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x404f78
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40677e
mov ebp, 1
lea edx, [esp + 0x18]
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
mov dword [esp + 0x30], 0
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x2c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.LastBackupLocation
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
add esp, 0x14
lea edx, [esp + 0x18]
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x94]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.CDBackup
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
mov eax, dword [esp + 0xa0]
add esp, 0x14
cmp eax, ebp
je 0x405f65
cmp dword [esp + 0x20], ebp
je 0x405f65
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
je 0x405f65
test al, 1
je 0x405f65
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea edx, [esp + 0x20]
mov eax, dword [esp + 0xac]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
lea eax, [esp + 0x2c]
push eax
call fcn.00401d30
add esp, 0x10
test eax, eax
je 0x405f5a
push 0x40000
push 0x4207b8
push str.Restore_did_not_complete__2_
push 0
call fcn.00401710
add esp, 0x10
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
test eax, eax
je 0x405c1c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c198
mov byte [esp + 0x7a], 1
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Booted_F11_and_restoring_Archive.
call fcn.00413dc4
call fcn.00406ff0
add esp, 0xc
jmp 0x405a86
cmp esi, 0x570
jne 0x405c7e
push 0x4207a0
push 0x99
call fcn.004075c0
add esp, 8
jmp 0x405ca9
cmp esi, 0x571
jne 0x405c9a
push 0x4207a0
push 0x9a
call fcn.004075c0
add esp, 8
jmp 0x405ca9
push 0x4207b8
mov ecx, 0x4207a0
call sub.MFC42u.DLL_CString::operator_2
cmp dword [esp + 0x90], ebp
jne 0x405d2e
cmp esi, 0x571
jne 0x405d2e
mov eax, dword [esp + 0x9c]
push 0x41c0f0
push eax
push str._s_susrintfcPEAccessIBM.exe
push 0x420798
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push str.exit_0
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 8
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
mov ecx, dword [0x4207a0]
push 0x4207b8
push ecx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
je 0x405ed9
lea edx, [esp + 0x8c]
push edx
call fcn.004075a0
mov eax, dword [eax]
push 0x40000
push eax
mov eax, dword [0x4207a0]
push eax
push 0
call fcn.00401710
add esp, 0x14
lea ecx, [esp + 0x8c]
jmp 0x405ed4
lea ecx, [esp + 0x28]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x64]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
test eax, eax
je 0x405e00
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 0x29
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
push 0x4207a0
push 0xc1
call fcn.004075c0
lea ecx, [esp + 0x94]
push ecx
call fcn.004075a0
mov eax, dword [eax]
mov edx, dword [0x4207a0]
push 0x40000
push eax
push edx
push 0
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x8c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x9c]
push 0x41c0f0
push eax
push str._s_susrintfcPEAccessIBM.exe
push 0x420798
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push str.exit_9
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 8
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
lea ecx, [esp + 0x28]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x64]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
test eax, eax
je 0x405f4b
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0x70], ebp
je 0x4065b2
mov al, byte [esp + 0x6e]
test al, al
jne 0x406678
mov ecx, dword [esp + 0x38]
mov esi, dword [sym.imp.MSVCRT.dll_wcscmp]
push 0x4207b8
push ecx
call esi
add esp, 8
test eax, eax
je 0x40601a
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x405fda
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CopyFile
call fcn.00413dc4
push 0
call fcn.00406a10
add esp, 0xc
mov eax, dword [esp + 0x38]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x40601a
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.SetFileAttributes
call fcn.00413dc4
push 0
call fcn.00406a10
add esp, 0xc
push ebp
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x30]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RestoreCount
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d140
mov eax, dword [esp + 0x3c]
add esp, 0x14
cmp eax, 0xffffffff
jne 0x406066
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
cmp eax, 2
je 0x4060b4
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov eax, dword [esp + 0x2c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.RestoreCount
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0x10
mov ecx, dword [esp + 0x38]
push 0x4207b8
push ecx
call esi
add esp, 8
test eax, eax
je 0x406107
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov eax, dword [esp + 0x2c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.RestoreCount
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0x10
mov al, byte [esp + 0x42]
test al, al
je 0x406195
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x41c198
call fcn.00413dc4
push ecx
lea edx, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
push str.Telling_Windows_to_restore_encrypted_files_in
push ecx
call sub.MFC42u.DLL_operator_2
call fcn.00406ff0
mov eax, dword [esp + 0x44]
push 0x4207b8
push eax
call esi
add esp, 0x14
test eax, eax
je 0x406195
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov eax, dword [esp + 0x24]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.RestoreEncryptedLocation
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0x10
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov eax, dword [esp + 0x34]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.RestoreEncryptedLevel
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0xc
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov eax, dword [esp + 0x6c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.PECommand
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
mov eax, dword [esp + 0xa4]
add esp, 0x10
cmp eax, ebp
jne 0x406262
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
mov eax, dword [esp + 0x98]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.RemoveSP
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0x10
push ecx
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42u.DLL_CString::CString_2
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.RestoreComplete
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
mov ebx, dword [esp + 0x90]
add esp, 0x10
cmp ebx, 6
jne 0x406369
push 0x70
call sub.MFC42u.DLL_operatornew
mov esi, eax
add esp, 4
test esi, esi
je 0x4062e4
push 0
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str..pipeRRNovaPipe
call fcn.00413dc4
push 0
push 0
mov ecx, esi
call fcn.0040ff30
mov esi, eax
jmp 0x4062e6
xor esi, esi
mov ecx, 0x4000
xor eax, eax
lea edi, [esp + 0x10c8]
push 3
rep stosd dword es:[edi], eax
push ebp
push 3
lea eax, [esp + 0x10d4]
push str._c_c_c
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
lea ecx, [esp + 0x10c8]
push 3
push ecx
mov ecx, esi
call fcn.00411250
test esi, esi
je 0x40632d
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx]
lea ecx, [esp + 0x44]
call sub.MFC42u.DLL_CString::CString_1
lea eax, [esp + 0x44]
push eax
push 0xbf
call fcn.004075c0
mov ecx, dword [esp + 0x4c]
push 0x40000
push 0x4207b8
push ecx
push 0
call fcn.00401710
add esp, 0x18
lea ecx, [esp + 0x44]
call sub.MFC42u.DLL_CString::CString
jmp 0x40639b
test ebx, ebx
jne 0x40639b
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x40639b
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
push edx
push eax
push str.PDAPostRestoreShow
push str.PDAPostRestoreParameters
push str.PDAPostRestore
push str.RapidRestoreUltra
call fcn.0040fc20
add esp, 0x18
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40645a
cmp dword [esp + 0x90], ebp
je 0x40640f
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.0040a2b0
add esp, 4
test eax, eax
jne 0x406407
test ebx, ebx
jne 0x406407
push 0x4207a0
push 0xc0
call fcn.004075c0
lea edx, [esp + 0xa0]
push edx
call fcn.004075a0
mov eax, dword [eax]
push 0x40000
push eax
mov eax, dword [0x4207a0]
push eax
push ebx
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x98]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40645a
cmp dword [esp + 0x88], 0xffffffff
jne 0x40645a
push 0x4207a0
push 0x98
call fcn.004075c0
lea ecx, [esp + 0xa0]
push ecx
call fcn.004075a0
mov eax, dword [eax]
mov edx, dword [0x4207a0]
push 0x40000
push eax
push edx
push 0
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x98]
call sub.MFC42u.DLL_CString::CString
mov ebp, dword [esp + 0x14]
mov esi, dword [sym.imp.MSVCRT.dll_swprintf]
push ebp
lea eax, [esp + 0x454]
push str._c:lr.log
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileW]
add esp, 0xc
lea ecx, [esp + 0x450]
push 0
push ecx
push str.z:_rru.log
call edi
test eax, eax
jne 0x4064c1
push ecx
lea edx, [esp + 0x454]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CopyFile
call fcn.00413dc4
push 0
call fcn.00406a10
add esp, 0xc
cmp dword [esp + 0x20], 2
je 0x406539
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xcb8]
push eax
push str._s_rru.log
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x450]
push ebp
push str._c:Program_FilesIBMIBM_Rapid_Restore_Ultra_rru.log
push edx
call esi
add esp, 0xc
lea eax, [esp + 0x450]
lea ecx, [esp + 0xcb8]
push 0
push eax
push ecx
call edi
test eax, eax
jne 0x406539
push ecx
lea edx, [esp + 0x454]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str.CopyFile
call fcn.00413dc4
push 0
call fcn.00406a10
add esp, 0xc
mov eax, dword [esp + 0x9c]
push 0x41c0f0
push eax
push str._s_susrintfcPEAccessIBM.exe
push 0x420798
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
push str.exit_9
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 8
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
jmp 0x406785
mov ecx, dword [esp + 0x18]
push ebp
push 0
push ecx
call fcn.00409b60
add esp, 0xc
cmp eax, 0xffffffff
je 0x40663c
lea edx, [esp + 0x658]
push 0
push edx
push eax
call fcn.00408310
mov eax, dword [esp + 0xa8]
add esp, 0xc
push 0x41c0f0
push eax
push str._s_sutils_bmgr32.exe
push 0x420798
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
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 + 0x28], esp
push str._refresh
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.z:_tvttemp.txt
call fcn.00413dc4
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.BareMetalComplete
call fcn.00413dc4
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.RapidRestoreUltra
call fcn.00413dc4
call fcn.0040d4e0
add esp, 0x10
lea ecx, [esp + 0x248]
push ecx
mov ecx, 0x420798
call sub.MFC42u.DLL_CString::operator_2
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x28]
push 0
push ecx
push edx
push eax
push 0x41d034
push 0x4207a4
call sub.MFC42u.DLL_CString::Format
add esp, 0x20
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x4207b8
call fcn.00413dc4
push 0x20
push 0
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x4207a4
call sub.MFC42u.DLL_CString::CString_2
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x420798
call sub.MFC42u.DLL_CString::CString_2
call fcn.0040eb10
add esp, 0x1c
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
test eax, eax
je 0x40676f
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
mov ebx, dword [esp + 0x80]
call fcn.00402670
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x406831
cmp dword [esp + 0x68], 3
je 0x406831
mov al, byte [esp + 0x6f]
test al, al
jne 0x406831
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
test eax, eax
je 0x40681f
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4068a3
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x110b8
ret 0x10