Function at 0x140006ad0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x67d0]
mov eax, 0x68d0
call fcn.14000db30
sub rsp, rax
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x6920], rbx
mov rax, qword [0x140019008]
xor rax, rsp
mov qword [rbp + 0x67c0], rax
mov byte [rsp + 0x51], r8b
mov rbx, rdx
mov qword [rsp + 0x60], rdx
mov rsi, rcx
mov qword [rsp + 0x58], rcx
xor r15d, r15d
mov r13d, r15d
mov dword [rsp + 0x54], r15d
xor dil, dil
xor r8d, r8d
lea rcx, [rbp - 0x40]
call fcn.140002210
mov r14d, r15d
mov rax, qword [0x140019d30]
cmp dword [rax - 0x10], r15d
je 0x1400073e9
mov esi, r15d
lea rcx, [0x140019d30]
or r12, 0xffffffffffffffff
mov rbx, qword [rcx]
cmp word [rbp - 0x40], r13w
jne 0x140006b77
mov word [rbp + 0x7c0], r15w
jmp 0x140006bcd
lea rdx, [rbp + 0x27c0]
lea rcx, [rbp - 0x40]
call fcn.140002400
lea rcx, [rbp + 0x27c0]
mov rax, r12
lea rax, [rax + 1]
cmp word [rcx + rax*2], r13w
jne 0x140006b91
lea r8, [rbp - 0x40]
lea r8, [r8 + rax*2]
cmp word [r8], 0x5c
jne 0x140006bbb
nop dword [rax + rax]
add r8, 2
cmp word [r8], 0x5c
je 0x140006bb0
mov edx, 0x400
lea rcx, [rbp + 0x7c0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov edx, 0x2e
lea rcx, [rbp + 0x7c0]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, rax
test rax, rax
je 0x140006c3e
add rdi, 2
mov r8, rdi
mov edx, 0x400
lea rcx, [rbp + 0x2fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rcx, r12
inc rcx
cmp word [rdi + rcx*2], r13w
jne 0x140006c03
test ecx, ecx
je 0x140006c3e
cmp word [rbx], 0x2e
jne 0x140006c2a
nop word [rax + rax]
add rbx, 2
cmp word [rbx], 0x2e
je 0x140006c20
mov rdx, rbx
lea rcx, [rbp + 0x2fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x140006c68
inc r14d
inc rsi
lea rax, [rsi + rsi*2]
shl rax, 4
lea rcx, [0x140019d30]
add rcx, rax
mov rax, qword [rcx]
cmp dword [rax - 0x10], r13d
je 0x1400073d5
jmp 0x140006b63
mov byte [rsp + 0x50], 1
movsxd r14, r14d
mov qword [rbp - 0x80], r14
lea rdx, [r14 + r14*2]
shl rdx, 4
mov qword [rsp + 0x70], rdx
lea r8, [0x140019d30]
lea rdi, [r8 + 0x1c]
add rdi, rdx
mov rcx, qword [0x1400100a8]
cmp qword [rdi], rcx
jne 0x140006e04
mov rax, qword [rdi + 8]
cmp rax, qword [0x1400100b0]
jne 0x140006df2
mov r8d, 1
mov dl, 0x2e
lea rcx, [rbp - 0x48]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__1]
nop
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x40]
call fcn.1400028d0
nop
mov rdx, rax
lea rcx, [rbp - 0x48]
call qword [sym.imp.mfc140u.dll_Ordinal_1667]
nop
lea rcx, [rsp + 0x68]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov rsi, qword [rbp - 0x48]
mov ecx, 0x18
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov rbx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140006d3c
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140006d3f
test rsi, rsi
je 0x140006d3f
mov ecx, 0x8007000e
call fcn.14000d1f0
int3
mov rbx, r15
test rbx, rbx
jne 0x140006d4f
mov ecx, 0x8007000e
call fcn.14000d1f0
int3
mov rcx, qword [rbx]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rsi, rax
mov ecx, r12d
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140006d99
mov rcx, qword [rbx]
test rcx, rcx
je 0x140006d79
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140006d8c
call qword [sym.imp.mfc140u.dll_operator]
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.14000c2f4
mov rcx, qword [0x140019b50]
mov rax, qword [rcx]
mov r8, rdi
mov rdx, rsi
call qword [rax + 0x28]
mov rcx, rsi
test eax, eax
jns 0x140006dc9
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
jmp 0x140007400
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov r13d, dword [rsp + 0x54]
mov rcx, qword [0x1400100a8]
mov rdx, qword [rsp + 0x70]
lea r8, [0x140019d30]
cmp qword [rdi], rcx
jne 0x140006e04
mov rax, qword [rdi + 8]
cmp rax, qword [0x1400100b0]
je 0x140006e3f
lea rax, [r8 + 0x10]
add rax, rdx
cmp qword [rax], 0
jne 0x140006e3f
mov qword [rsp + 0x20], rax
lea r9, [0x140011220]
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x140006e3f
movups xmm0, xmmword [0x1400100a8]
movups xmmword [rdi], xmm0
jmp 0x140007400
mov ecx, 0x20
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonLinkCtrl::XElementButtonLinkCtrl]
mov r15, rax
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140006efb
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
call fcn.140002970
mov rbx, rax
mov dword [rsp + 0x54], 1
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x40]
call fcn.140002870
nop
mov r13d, 3
mov dword [rsp + 0x54], r13d
mov rsi, qword [rbx]
mov r14, qword [rax]
mov r8, qword [rsp + 0x70]
lea rax, [0x140019d30]
mov r8, qword [r8 + rax + 0x10]
lea rdx, [rbp - 0x40]
mov rcx, qword [rsp + 0x58]
call fcn.140008950
movzx edi, al
mov rcx, r15
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [r15 + 8]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [r15 + 0x18]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
mov rdx, rsi
mov rcx, r15
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
mov rdx, r14
lea rcx, [r15 + 8]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
mov dword [r15 + 0x10], edi
mov byte [r15 + 0x14], 1
mov r14, qword [rbp - 0x80]
jmp 0x140006efe
xor r15d, r15d
test r13b, 2
je 0x140006f18
and r13d, 0xfffffffd
mov dword [rsp + 0x54], r13d
lea rcx, [rbp - 0x78]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
test r13b, 1
je 0x140006f31
and r13d, 0xfffffffe
mov dword [rsp + 0x54], r13d
lea rcx, [rbp - 0x70]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x40]
call fcn.140002870
nop
mov rsi, qword [rsp + 0x58]
lea rcx, [rsi + 0xb50]
mov rdx, rax
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
nop
lea rcx, [rbp - 0x68]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
test r15, r15
je 0x1400073df
mov rdx, r15
mov rcx, rsi
call fcn.1400079b0
test al, al
jne 0x1400073a9
lea rcx, [rbp - 0x50]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [rsi + 0x998]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
mov ecx, dword [rsi + r14*4 + 0xa6c]
add rsi, 0x958
xor r14d, r14d
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
lea r9, [0x1400106d4]
mov r8d, eax
lea edx, [r14 + 3]
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CMFCRibbonBar::GetVisibleElements]
mov r9, qword [r15]
lea r8d, [r14 + 1]
mov edx, edi
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CTagManager::SetBuffer]
mov r9, qword [r15 + 8]
lea r8d, [r14 + 2]
mov edx, edi
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CTagManager::SetBuffer]
cmp word [rbp - 0x40], r14w
je 0x14000732e
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000732e
cmp word [rbp - 0x40], r14w
jne 0x140007031
mov word [rbp + 0xfc0], r14w
jmp 0x14000708d
lea rdx, [rbp + 0x37c0]
lea rcx, [rbp - 0x40]
call fcn.140002400
lea rcx, [rbp + 0x37c0]
mov rax, r12
nop dword [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], r14w
jne 0x140007050
lea r8, [rbp - 0x40]
lea r8, [r8 + rax*2]
cmp word [r8], 0x5c
jne 0x14000707b
nop word [rax + rax]
add r8, 2
cmp word [r8], 0x5c
je 0x140007070
mov edx, 0x400
lea rcx, [rbp + 0xfc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov edx, 0x2e
lea rcx, [rbp + 0xfc0]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
test rax, rax
je 0x1400070eb
lea r8, [rax + 2]
mov edx, 0x400
lea rcx, [rbp + 0x3fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rcx, r12
inc rcx
cmp word [rbx + rcx*2 + 2], r14w
jne 0x1400070c0
test ecx, ecx
je 0x1400070eb
lea rdx, [0x140010808]
lea rcx, [rbp + 0x3fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x140007288
cmp word [rbp - 0x40], r14w
jne 0x1400070fc
mov word [rbp + 0x17c0], r14w
jmp 0x14000715d
lea rdx, [rbp + 0x47c0]
lea rcx, [rbp - 0x40]
call fcn.140002400
lea rcx, [rbp + 0x47c0]
mov rax, r12
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], r14w
jne 0x140007120
lea r8, [rbp - 0x40]
lea r8, [r8 + rax*2]
cmp word [r8], 0x5c
jne 0x14000714b
nop word [rax + rax]
add r8, 2
cmp word [r8], 0x5c
je 0x140007140
mov edx, 0x400
lea rcx, [rbp + 0x17c0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov edx, 0x2e
lea rcx, [rbp + 0x17c0]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
test rax, rax
je 0x1400071bb
lea r8, [rax + 2]
mov edx, 0x400
lea rcx, [rbp + 0x4fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rcx, r12
inc rcx
cmp word [rbx + rcx*2 + 2], r14w
jne 0x140007190
test ecx, ecx
je 0x1400071bb
lea rdx, [0x140010810]
lea rcx, [rbp + 0x4fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x140007288
cmp word [rbp - 0x40], r14w
jne 0x1400071cc
mov word [rbp + 0x1fc0], r14w
jmp 0x14000722d
lea rdx, [rbp + 0x57c0]
lea rcx, [rbp - 0x40]
call fcn.140002400
lea rcx, [rbp + 0x57c0]
mov rax, r12
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], r14w
jne 0x1400071f0
lea r8, [rbp - 0x40]
lea r8, [r8 + rax*2]
cmp word [r8], 0x5c
jne 0x14000721b
nop word [rax + rax]
add r8, 2
cmp word [r8], 0x5c
je 0x140007210
mov edx, 0x400
lea rcx, [rbp + 0x1fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov edx, 0x2e
lea rcx, [rbp + 0x1fc0]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
test rax, rax
je 0x14000729d
lea r8, [rax + 2]
mov edx, 0x400
lea rcx, [rbp + 0x5fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
nop dword [rax]
inc r12
cmp word [rbx + r12*2 + 2], r14w
jne 0x140007260
test r12d, r12d
je 0x14000729d
lea rdx, [0x140010818]
lea rcx, [rbp + 0x5fc0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14000729d
lea rcx, [rbp - 0x40]
call fcn.14000a290
test eax, eax
jne 0x14000729d
lea edx, [rax + 0x73]
jmp 0x140007333
mov edx, 0x81
lea rcx, [rbp - 0x50]
call qword [sym.imp.mfc140u.dll_CRuntimeClass::IsDerivedFrom]
cmp dword [r15 + 0x10], r14d
je 0x1400072c8
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x78]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
nop
or r13d, 4
jmp 0x1400072de
lea rdx, [0x140010806]
lea rcx, [rbp - 0x60]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t_]
nop
or r13d, 8
mov dword [rsp + 0x54], r13d
mov rdx, rax
lea rcx, [r15 + 0x18]
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
nop
test r13b, 8
je 0x140007306
and r13d, 0xfffffff7
lea rcx, [rbp - 0x60]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
test r13b, 4
je 0x140007317
lea rcx, [rsp + 0x78]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov r9, qword [r15 + 0x18]
mov r8d, 3
mov edx, edi
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CTagManager::SetBuffer]
jmp 0x140007364
mov edx, 0x8c
lea rcx, [rbp - 0x50]
call qword [sym.imp.mfc140u.dll_CRuntimeClass::IsDerivedFrom]
mov r9, qword [rbp - 0x50]
mov r8d, 3
mov edx, edi
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CTagManager::SetBuffer]
lea rdx, [rbp - 0x50]
lea rcx, [r15 + 0x18]
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
mov byte [r15 + 0x14], r14b
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 4
xor r8d, r8d
mov edx, edi
mov rcx, rsi
call qword [sym.imp.mfc140u.dll_CControlBar::SetBorders]
mov rsi, qword [rsp + 0x58]
mov byte [rsi + 0xa48], 1
lea rcx, [rbp - 0x50]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
jmp 0x1400073df
lea rcx, [r15 + 0x18]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rcx, [r15 + 8]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov rcx, r15
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov edx, 0x20
mov rcx, r15
call fcn.14000c2f4
jmp 0x1400073df
mov rsi, qword [rsp + 0x58]
xor dil, dil
jmp 0x1400073e4
movzx edi, byte [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
cmp byte [rsp + 0x51], 0
je 0x140007400
test dil, dil
jne 0x140007400
mov rdx, rbx
mov rcx, rsi
call fcn.1400076b0
mov rcx, qword [rbp + 0x67c0]
xor rcx, rsp
call fcn.14000c2d0
mov rbx, qword [rsp + 0x6920]
add rsp, 0x68d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret