Function at 0x14002ca24
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1400fc1e8]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rdx
mov rsi, rcx
and qword [rbp - 0x30], 0
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop dword [rax + rax]
nop
cmp dword [rsi + 0x178], 0
jne 0x14002caa2
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002ca98
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140063541.0]
nop
mov eax, 0x80070057
jmp 0x14002cd79
lea rdx, [rdi + 0x150]
lea rcx, [rbp - 0x20]
call qword [sym.imp.MFC42u.dll_CControlBar::CControlBar]
nop dword [rax + rax]
nop
mov rax, qword [rbp - 0x20]
cmp dword [rax - 8], 0
jne 0x14002cb11
lea rcx, [rbp - 0x20]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002cb07
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140063541.0]
nop
mov eax, 0x80004001
jmp 0x14002cd79
mov r8, qword [rsi + 0x120]
add r8, 0x98
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x18]
call fcn.14002bb5c
mov ebx, eax
test eax, eax
je 0x14002cb7c
lea rcx, [rbp - 0x20]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002cb75
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140063541.0]
nop
mov eax, ebx
jmp 0x14002cd79
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
lea r8, [rbp - 0x30]
mov edx, 0x12
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.SHLWAPI.dll_SHCreateStreamOnFileW]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
je 0x14002cc07
lea rcx, [rbp - 0x20]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002cc02
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140063541.0]
nop
jmp 0x14002cb75
mov rcx, qword [rdi + 0x128]
mov edi, 1
cmp dword [rcx + 0x130], 0x4d7
jne 0x14002cc61
mov edx, 0x80004005
test byte [rcx + 0x150], dil
je 0x14002cc3b
mov eax, dword [rcx + 0x154]
mov dword [rbp - 0x18], eax
xor r8d, r8d
jmp 0x14002cc3e
mov r8d, edx
test byte [rcx + 0x150], 2
je 0x14002cc52
mov eax, dword [rcx + 0x158]
mov dword [rbp - 0x14], eax
xor edx, edx
test r8d, r8d
jne 0x14002cc61
test edx, edx
jne 0x14002cc61
lea rcx, [rbp - 0x18]
jmp 0x14002cc63
xor ecx, ecx
mov rax, qword [rsi + 0x120]
mov qword [rsp + 0x20], rcx
mov r9, qword [rbp - 0x30]
mov r8d, edi
mov rdx, qword [rsi + 0x180]
mov rcx, qword [rax + 0xa0]
call fcn.140078fa8
mov ebx, eax
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002ccab
mov rdx, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rdx + 0x10]
call qword [case.0x140063541.0]
and qword [rbp - 0x30], 0
mov rcx, qword [rbp - 0x28]
cmp dword [rcx - 8], 0
je 0x14002ccc6
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop dword [rax + rax]
test ebx, ebx
je 0x14002cd12
lea rcx, [rbp - 0x20]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002cd0d
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140063541.0]
nop
jmp 0x14002cb75
test byte [0x1400fdac0], 4
je 0x14002cd34
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea rdx, [0x1400b9c28]
call fcn.14001b510
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002cd77
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [case.0x140063541.0]
nop
xor eax, eax
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.14000bdb0
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop rdi
pop rsi
pop rbp
ret