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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2390]
mov eax, 0x2490
call fcn.14000e550
sub rsp, rax
mov rax, qword [0x140019030]
xor rax, rsp
mov qword [rbp + 0x2380], rax
mov rdi, rcx
call qword [sym.imp.mfc140u.dll_CMFCColorButton::OnFillBackground]
call fcn.140003b50
test al, al
jne 0x140003457
xor eax, eax
jmp 0x140003b15
mov edx, 0x104
lea rcx, [rbp + 0x760]
call qword [sym.imp.UserData.dll_unsigned_int___cdecl_GetHelpFileName_wchar_t____ptr64__unsigned_long_int_]
test eax, eax
je 0x140003481
lea rdx, [rbp + 0x760]
lea rcx, [0x140019d30]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
mov edx, 0x104
lea rcx, [rbp + 0x970]
call qword [sym.imp.UserData.dll_unsigned_int___cdecl_GetContextFileName_wchar_t____ptr64__unsigned_long_int_]
test eax, eax
je 0x1400034ab
lea rdx, [rbp + 0x970]
lea rcx, [0x140019ba8]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
mov r9, qword [rdi + 0xa40]
mov r12d, 1
mov r8d, r12d
lea edx, [r12 + 0x7f]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, qword [rdi + 0xa40]
xor r8d, r8d
lea edx, [r12 + 0x7f]
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rbx, [rdi + 0xa50]
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], 7
mov edx, 0x10
lea r9d, [r12 + 0x20]
mov r8d, edx
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCFilterChunkValueImpl::CopyFrom]
xor esi, esi
test rbx, rbx
mov r9d, esi
je 0x14000351e
mov r9, qword [rbx + 8]
mov r8, r12
mov edx, 0x1003
mov rcx, qword [rdi + 0x998]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
call qword [sym.imp.mfc140u.dll_Ordinal_4724]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, 0xe
mov ecx, 0xa0
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xa0
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rdi + 0xa58]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov dword [rdi + 0xa64], eax
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, 0xe
mov ecx, 0xa1
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xa1
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rdi + 0xa58]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov dword [rdi + 0xa68], eax
mov r15d, esi
lea r13, [0x140019d40]
mov rcx, r13
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::HitTest]
test al, al
jne 0x14000363e
lea rsi, [0x140019d48]
lea r14, [rdi + 0xa6c]
nop
call qword [sym.imp.mfc140u.dll_AfxFieldText]
movzx ebx, word [rsi]
mov edx, 0xe
mov ecx, ebx
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rdi + 0xa58]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov dword [r14], eax
inc r15d
lea r14, [r14 + 4]
lea rsi, [rsi + 0x30]
movsxd rax, r15d
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, r13
call qword [sym.imp.mfc140u.dll_CMFCPropertyGridProperty::HitTest]
test al, al
je 0x1400035e0
xor esi, esi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0x998]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov r9d, 0x20
xor r8d, r8d
mov edx, 0x1036
mov rcx, qword [rdi + 0x998]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [rsp + 0x50]
sub eax, dword [rsp + 0x48]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x140014138]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], eax
xor r9d, r9d
lea r8, [0x1400119c0]
xor edx, edx
lea rcx, [rdi + 0x958]
call qword [sym.imp.mfc140u.dll_CMFCRibbonBar::GetVisibleContextCaptionCount]
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
mov edx, 0x68
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc140u.dll_CRuntimeClass::IsDerivedFrom]
mov eax, dword [rsp + 0x50]
sub eax, dword [rsp + 0x48]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x140014148]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8, qword [rsp + 0x40]
mov edx, r12d
lea rcx, [rdi + 0x958]
call qword [sym.imp.mfc140u.dll_CMFCRibbonBar::GetVisibleContextCaptionCount]
mov edx, 0x69
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc140u.dll_CRuntimeClass::IsDerivedFrom]
mov eax, dword [rsp + 0x50]
sub eax, dword [rsp + 0x48]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x140014150]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8, qword [rsp + 0x40]
lea edx, [r9 + 2]
lea rcx, [rdi + 0x958]
call qword [sym.imp.mfc140u.dll_CMFCRibbonBar::GetVisibleContextCaptionCount]
mov edx, 0x6a
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc140u.dll_CRuntimeClass::IsDerivedFrom]
mov eax, dword [rsp + 0x50]
sub eax, dword [rsp + 0x48]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x140014140]
cvttsd2si eax, xmm0
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8, qword [rsp + 0x40]
lea edx, [r9 + 3]
lea rcx, [rdi + 0x958]
call qword [sym.imp.mfc140u.dll_CMFCRibbonBar::GetVisibleContextCaptionCount]
lea rax, [0x140019ba0]
mov qword [rsp + 0x20], rax
lea r9, [0x140012550]
mov r8d, r12d
xor edx, edx
lea rcx, [0x140012540]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140003b04
mov rcx, qword [rdi + 0xaf0]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140003a8e
mov r14d, esi
jle 0x140003a86
xor r15d, r15d
test rsi, rsi
js 0x140003afd
cmp rsi, qword [rcx + 0x10]
jge 0x140003afd
mov rdx, qword [rcx + 8]
mov rdx, qword [rdx + rsi*8]
lea rcx, [rsp + 0x38]
call fcn.14000a500
nop
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x60]
call fcn.1400023a0
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
cmp word [rsp + 0x60], 0
jne 0x140003854
mov word [rbp + 0xb80], r15w
jmp 0x1400038ad
lea rdx, [rbp + 0x1380]
lea rcx, [rsp + 0x60]
call fcn.140002650
lea rcx, [rbp + 0x1380]
mov rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140003873
lea r8, [rsp + 0x60]
lea r8, [r8 + rax*2]
cmp word [r8], 0x5c
jne 0x14000389b
nop
add r8, 2
cmp word [r8], 0x5c
je 0x140003890
mov edx, 0x400
lea rcx, [rbp + 0xb80]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov edx, 0x2e
lea rcx, [rbp + 0xb80]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rbx, rax
test rax, rax
je 0x14000391d
lea r8, [rax + 2]
mov edx, 0x400
lea rcx, [rbp + 0x1b80]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rbx + rcx*2 + 2], 0
jne 0x1400038e4
test ecx, ecx
je 0x14000391d
lea rdx, str.AcSign
lea rcx, [rbp + 0x1b80]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14000391d
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1400078c0
jmp 0x140003a6a
cmp word [rsp + 0x60], 0
je 0x140003a5a
lea rcx, [rsp + 0x60]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x140003935
cmp eax, 0x104
jge 0x140003a5a
mov edx, 0x2a
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x140003a5a
lea edx, [rax + 0x3f]
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x140003a5a
lea edx, [rax + 0x3c]
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x140003a5a
lea edx, [rax + 0x3e]
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x140003a5a
lea edx, [rax + 0x7c]
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x140003a5a
lea edx, [rax + 0x22]
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x140003a5a
lea edx, [rax + 0x3a]
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x140003a10
lea rdx, [rsp + 0x60]
mov rcx, rax
sub rcx, rdx
sar rcx, 1
cmp ecx, 1
jne 0x140003a5a
lea rcx, [rax + 2]
mov edx, 0x3a
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x140003a5a
lea rdx, [0x1400119f4]
lea rcx, [rsp + 0x62]
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
test rax, rax
jne 0x140003a5a
cmp word [rsp + 0x60], ax
je 0x140003a5a
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140003a5a
shr eax, 4
and al, 1
je 0x140003a5a
xor r9d, r9d
mov r8b, 1
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140007740
jmp 0x140003a6a
mov r8b, 1
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140006c10
inc r14d
inc rsi
mov rcx, qword [rdi + 0xaf0]
movsxd rax, r14d
cmp rax, qword [rcx + 0x10]
jl 0x140003800
xor esi, esi
mov rcx, rdi
call fcn.140007e80
mov rcx, rdi
call fcn.1400094f0
mov rcx, rdi
call fcn.140006af0
mov rcx, rdi
call fcn.1400085f0
test al, al
je 0x140003b04
mov rcx, rdi
call fcn.140008b70
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
mov edx, 0x6f
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc140u.dll_CRuntimeClass::IsDerivedFrom]
lea rcx, [rdi + 0x300]
mov rdx, qword [rsp + 0x58]
call qword [sym.imp.mfc140u.dll_CMFCToolBar::SetOrigButtons]
mov byte [rdi + 0xb21], 0
mov rcx, rdi
call fcn.140008130
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
jmp 0x140003b07
call qword [sym.imp.mfc140u.dll_AfxRegDeleteKey]
int3
mov r12d, esi
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov eax, r12d
mov rcx, qword [rbp + 0x2380]
xor rcx, rsp
call fcn.14000dba0
lea r11, [rsp + 0x2490]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret