Function at 0x40fb98
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x50
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rbp, rcx
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov r13, rax
xor r12d, r12d
lea rdx, str.AAAA_UC.h
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CCtrlView::CCtrlView
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r14d, eax
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
xor ebx, ebx
cmp dword [0x0047ff84], ebx
jle 0x40fcc0
lea rdi, [0x0045eb80]
lea rsi, [0x0045df80]
lea ebp, [rbx + 8]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 5
jle 0x40fca3
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo
nop
mov r9d, dword [rsi]
mov r8, qword [rdi]
lea rdx, str._s___d__
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CPtrList::FreeNode
cmp r14d, 0xffffffff
je 0x40fc6f
mov eax, dword [rsi]
mov dword [rsp + 0x20], eax
mov r9, qword [rdi]
mov r8d, ebx
lea rdx, str._d___s___d__
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CPtrList::FreeNode
lea r8d, [rbx + 0xa]
xor edx, edx
cmp dword [0x0047ff80], ebx
cmove edx, ebp
bts edx, 0xa
mov r9, qword [rsp + 0xa0]
mov rcx, r13
call qword [sym.imp.USER32.dll_AppendMenuW]
inc r12d
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
inc ebx
add rsi, 4
add rdi, rbp
cmp ebx, dword [0x0047ff84]
jl 0x40fc0f
mov rbp, qword [rsp + 0x90]
sar r12d, 1
lea rax, [0x00432994]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x4c60
lea edx, [r12 + 2]
mov rcx, r13
call qword [sym.imp.USER32.dll_InsertMenuW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc00
mov rcx, r13
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, str.Translate
mov r14d, 0x3e8
mov r8, r14
lea ebx, [r14 + 0x18]
mov edx, ebx
mov rcx, r13
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, [0x00435020]
lea r12d, [r14 + 1]
mov r8, r12
mov edx, ebx
mov rcx, r13
call qword [sym.imp.USER32.dll_AppendMenuW]
mov esi, 0xe9
mov r8d, esi
mov rdx, qword [0x0045ad28]
lea rcx, [rsp + 0x38]
call fcn.004240d0
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x38], xmm0
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x40]
shr rax, 0x20
mov dword [rsp + 0xac], eax
lea rdx, [rsp + 0xa8]
mov rcx, qword [0x0045ad28]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov r9d, 1
mov r8, rsi
lea edi, [rbx + 3]
mov edx, edi
mov rcx, qword [0x0045ad28]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r9d, [rsi + 0x19]
mov r8, qword [rsp + 0xa8]
mov rdx, r13
lea rcx, [0x0045acd0]
call fcn.00428720
mov ebx, eax
xor r9d, r9d
mov r8, rsi
mov edx, edi
mov rcx, qword [0x0045ad28]
call qword [sym.imp.USER32.dll_SendMessageW]
test ebx, ebx
je 0x40fe51
lea eax, [rbx - 0xa]
cmp eax, 0x28
ja 0x40fe04
mov dword [0x0047ff80], eax
mov rcx, rbp
call fcn.0040d71c
lea r9d, [rsi + 0x1c]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x24c8]
call qword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x40fe3f
cmp ebx, r14d
jne 0x40fe15
mov ecx, 1
call fcn.00421b40
jmp 0x40fe3f
cmp ebx, r12d
jne 0x40fe3f
call fcn.004226d0
mov rcx, rbp
call fcn.0040d71c
mov r9d, 0x105
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x24c8]
call qword [sym.imp.USER32.dll_RedrawWindow]
mov edx, dword [0x0047ff80]
lea rcx, [0x00434a20]
call fcn.0041fc00
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret