Function at 0x406de0
Capabilities:
Copy file
Create process on windows
Enumerate gui resources

Disassembly:
push rbx
push rbp
push rsi
push rdi
mov eax, 0x1338
call fcn.0042ec50
sub rsp, rax
mov qword [rsp + 0xe8], 0xfffffffffffffffe
mov rax, qword [0x004583d0]
mov qword [rsp + 0x1320], rax
mov dword [rsp + reloc.MFC42u.dll_COleMessageFilter::OnBusyDialog], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1114]
call sub.msvcrt.dll_memset
mov r8d, 0x104
lea rdx, [rsp + reloc.MFC42u.dll_COleMessageFilter::OnBusyDialog]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rdx, [rsp + reloc.MFC42u.dll_COleMessageFilter::OnBusyDialog]
lea rcx, [rsp + 0xf8]
call sub.MFC42u.dll_CDaoException::CDaoException
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.00420200
nop
lea rcx, [rsp + 0x78]
call sub.MFC42u.dll_CWnd::OnDragList
lea rdx, [rsp + reloc.MFC42u.dll_COleMessageFilter::OnBusyDialog]
lea rcx, [rsp + 0x98]
call sub.MFC42u.dll_CDaoException::CDaoException
nop
lea rdx, [rsp + reloc.MFC42u.dll_COleMessageFilter::OnBusyDialog]
lea rcx, [rsp + 0x80]
call sub.MFC42u.dll_CDaoException::CDaoException
nop
lea rdx, str._autoupdate
lea rcx, [rsp + 0x68]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x78]
call sub.MFC42u.dll_CRichEditView::FindTextW
test eax, eax
setns bl
lea rcx, [rsp + 0x68]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
test bl, bl
je 0x407414
call sub.MFC42u.dll_Ordinal_1463
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + 0xd8]
lea rcx, [rsp + 0x68]
call sub.MFC42u.dll_CDaoException::CDaoException
nop
lea rax, [rsp + 0x108]
mov ecx, 0xff
mov edi, 1
mov qword [rax + 8], 0
mov qword [rax], 0
add rax, 0x10
sub ecx, edi
jns 0x406eff
mov dword [rsp + 0x100], 0
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.0042e2a2
mov rdx, rax
lea r8, [0x00433d9c]
lea rcx, [rsp + 0x100]
call fcn.00405a28
xor ebx, ebx
mov esi, dword [rsp + 0x100]
test esi, esi
jle 0x406f8a
lea rbp, [rsp + 0x108]
mov rdx, qword [rbp]
lea rcx, str.Path
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x406f7a
add ebx, edi
add rbp, 0x10
cmp ebx, esi
jl 0x406f59
jmp 0x406f8a
movsxd rax, ebx
add rax, rax
mov rdx, qword [rsp + rax*8 + 0x110]
jmp 0x406f8c
xor edx, edx
lea rcx, [rsp + 0x30]
call sub.MFC42u.dll_CDaoException::CDaoException
nop
xor ebx, ebx
test esi, esi
jle 0x406fd6
lea rbp, [rsp + 0x108]
mov rdx, qword [rbp]
lea rcx, str.Version
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x406fc6
add ebx, edi
add rbp, 0x10
cmp ebx, esi
jl 0x406fa5
jmp 0x406fd6
movsxd rax, ebx
add rax, rax
mov rdx, qword [rsp + rax*8 + 0x110]
jmp 0x406fd8
xor edx, edx
lea rcx, [rsp + 0x48]
call sub.MFC42u.dll_CDaoException::CDaoException
nop
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xf0]
call sub.MFC42u.dll_CControlBar::CControlBar
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.00405cd8
nop
lea rdx, str..exe
lea rcx, [rsp + 0x40]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea rdx, [0x00433d74]
lea rcx, [rsp + 0x38]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [rsp + 0x40]
mov rdx, rax
lea rcx, [rsp + 0x60]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
mov rdx, rax
lea rcx, [rsp + 0x70]
call sub.MFC42u.dll_Ordinal_1284
nop
lea rcx, [rsp + 0x60]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x58]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x38]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x40]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
lea rdx, [0x00432f50]
lea rcx, [rsp + 0x40]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xd8]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [0x0045df48]
mov rdx, rax
lea rcx, [rsp + 0xa8]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea rcx, [rsp + 0xd8]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x40]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
lea rdx, [0x00433d70]
lea rcx, [rsp + 0x88]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea rdx, [0x00432f50]
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea rdx, str.Autoupdate:
lea rcx, [rsp + 0x38]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xe0]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [rsp + 0xa0]
mov rdx, rax
lea rcx, [rsp + 0xc0]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [0x0045df48]
mov rdx, rax
lea rcx, [rsp + 0xb8]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [rsp + 0x88]
mov rdx, rax
lea rcx, [rsp + 0x90]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea rcx, [rsp + 0xb8]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0xc0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0xe0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x38]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x88]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
xor edx, edx
lea rcx, [0x00405dd0]
call qword [sym.imp.USER32.dll_EnumWindows]
lea rdx, str._nBackup:_n
lea rcx, [rsp + 0x60]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea rdx, [0x00433d4c]
lea rcx, [rsp + 0x58]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0xd0]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rsp + 0xc8]
call sub.MFC42u.dll_AfxThrowNotSupportedException
nop
lea r8, [rsp + 0x70]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call sub.MFC42u.dll_AfxThrowNotSupportedException
mov r9d, 0x40003
mov r8, qword [rsp + 0xa8]
mov rdx, qword [rax]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov esi, eax
lea rcx, [rsp + 0xb0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0xc8]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0xd0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x50]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x58]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x60]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
mov r11, qword [rsp + 0x48]
cmp dword [r11 - 8], 0
jne 0x407303
lea rdx, str.Bad_Autoupdate_1
lea rcx, [rsp + 0x50]
call sub.MFC42u.dll_CCtrlView::CCtrlView
mov rbx, qword [rax]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.USER32.dll_MessageBoxW]
lea rcx, [rsp + 0x50]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
mov rax, qword [rsp + 0x30]
cmp dword [rax - 8], 0
jne 0x407349
lea rdx, str.Bad_Autoupdate_2
lea rcx, [rsp + 0x50]
call sub.MFC42u.dll_CCtrlView::CCtrlView
mov rbx, qword [rax]
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.USER32.dll_MessageBoxW]
lea rcx, [rsp + 0x50]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
mov rax, qword [rsp + 0x30]
cmp esi, 6
jne 0x40737a
xor r8d, r8d
mov rdx, qword [rsp + 0x70]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CopyFileW]
xor r8d, r8d
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + reloc.MFC42u.dll_COleMessageFilter::OnBusyDialog]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x28], 5
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rax
lea rdx, [0x00433c30]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
call fcn.00406a64
xor ecx, ecx
call qword [sym.imp.USER32.dll_PostQuitMessage]
nop
lea rcx, [rsp + 0x90]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0xa8]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x70]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x48]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x30]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x68]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x80]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x98]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
jmp 0x407432
lea rcx, [rsp + 0x80]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
lea rcx, [rsp + 0x98]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
xor edi, edi
lea rcx, [rsp + 0x78]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
mov eax, edi
mov rcx, qword [rsp + 0x1320]
call fcn.0042ec20
add rsp, 0x1338
pop rdi
pop rsi
pop rbp
pop rbx
ret