Function at 0x1403a3fdc
Capabilities:
Set file attributes
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0xff0
mov rax, qword [0x1404e41f8]
xor rax, rsp
mov qword [rsp + 0xfe0], rax
mov rbx, rcx
mov edi, r8d
mov r12d, edx
lea rcx, [rsp + reloc.mfc90u.dll_CFrameWnd::GetMessageMap]
xor ebp, ebp
xor edx, edx
mov r8d, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
mov rsi, r9
mov byte [rsp + CHtmlEditView::GetMessageMap], bpl
call sub.MSVCR90.dll_memset
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, CFileDialog::GetInterfaceMap
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x177]
lea rcx, str.38810806
mov rdx, rsi
call fcn.1403a3ce4
cmp byte [rsp + 0x177], bpl
jne 0x1403a4069
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x1403a4827
lea r8, [rsp + reloc.mfc90u.dll_CPropertySet::AddProperty]
lea rcx, str.SAA_482
mov rdx, rsi
call fcn.1403a3ce4
cmp byte [rsp + reloc.mfc90u.dll_CPropertySet::AddProperty], bpl
je 0x1403a405f
lea r8, [rsp + 0x45e]
lea rcx, str.YAP00667
mov rdx, rsi
call fcn.1403a3ce4
cmp byte [rsp + 0x45e], bpl
je 0x1403a405f
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x45]
mov r14d, 1
mov rdx, rsi
mov byte [rsp + 0x44], r14b
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x45]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x78]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x78]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0xab]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0xab]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0xde]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0xde]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x111]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x111]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x144]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x144]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x181]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x181]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x1b4]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x1b4]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x1e7]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x1e7]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x21a]
mov rdx, rsi
call fcn.1403a3ce4
xor r8d, r8d
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x21a]
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x24d]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x24d]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x280]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x280]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x2b3]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x2b3]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x2e6]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x2e6]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x319]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x319]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x34c]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x34c]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x37f]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x37f]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x3b2]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x3b2]
xor r8d, r8d
call fcn.1403a23e8
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x3e5]
mov rdx, rsi
call fcn.1403a3ce4
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x3e5]
xor r8d, r8d
call fcn.1403a23e8
movsx r11d, byte [rsi + 2]
movsx eax, byte [rsi]
imul r11d, eax
add dword [rsp + 0x3e8], r11d
add dword [rsp + 0x3ec], r11d
add dword [rsp + 0x3f0], r11d
add dword [rsp + 0x3f4], r11d
add dword [rsp + reloc.mfc90u.dll_CRecordset::AddNew], r11d
add dword [rsp + 0x406], r11d
add dword [rsp + 0x40a], r11d
add dword [rsp + 0x40e], r11d
add dword [rsp + reloc.mfc90u.dll_CPtrList::AddTail], r11d
add dword [rsp + 0x416], r11d
add dword [rsp + 0x41a], r11d
add dword [rsp + 0x41e], r11d
sub dword [rsp + 0x422], r11d
sub dword [rsp + reloc.mfc90u.dll_AfxActivateActCtx], r11d
sub dword [rsp + 0x42a], r11d
sub dword [rsp + 0x42e], r11d
sub dword [rsp + 0x432], r11d
sub dword [rsp + 0x436], r11d
sub dword [rsp + 0x43a], r11d
sub dword [rsp + 0x43e], r11d
sub dword [rsp + 0x442], r11d
add dword [rsp + 0x446], r11d
add dword [rsp + 0x44a], r11d
add dword [rsp + 0x44e], r11d
sub dword [rsp + 0x452], r11d
sub dword [rsp + reloc.mfc90u.dll_AfxFormatString1], r11d
sub dword [rsp + 0x45a], r11d
sub dword [rsp + 0x468], r11d
sub dword [rsp + 0x46c], r11d
sub dword [rsp + 0x470], r11d
sub dword [rsp + 0x474], r11d
sub dword [rsp + 0x478], r11d
sub dword [rsp + reloc.mfc90u.dll_AfxHelpEnabled], r11d
sub dword [rsp + reloc.mfc90u.dll_AfxInitExtensionModule], r11d
sub dword [rsp + 0x484], r11d
sub dword [rsp + 0x488], r11d
sub dword [rsp + 0x48c], r11d
sub dword [rsp + 0x490], r11d
sub dword [rsp + 0x494], r11d
lea rcx, [rsp + 0x44]
mov edx, 0xc2c
movsx eax, byte [rcx]
add rcx, r14
add ebp, eax
sub rdx, r14
jne 0x1403a4588
mov dword [rsp + 0x40], ebp
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0xc6f]
mov r9d, reloc.mfc90u.dll_CStatusBar::CStatusBar
mov al, byte [r8]
mov cl, byte [rdx]
mov byte [rdx], al
mov byte [r8], cl
sub r8, 2
add rdx, 2
sub r9, r14
jne 0x1403a45ac
sub edi, r14d
je 0x1403a4787
cmp edi, r14d
je 0x1403a45da
lea eax, [r9 + 0xe]
jmp 0x1403a4827
lea rsi, [rsp + 0xcb0]
xor r12d, r12d
xor ebp, ebp
sub rsi, rbx
mov rdi, rbx
cmp byte [rdi], 0
je 0x1403a460e
movsx ecx, byte [rdi]
call sub.MSVCR90.dll_toupper
add rbp, r14
add r12d, r14d
add al, 7
mov byte [rsi + rdi], al
add rdi, r14
cmp rbp, 0x32
jl 0x1403a45ed
movsxd rax, r12d
lea r9, [rsp + 0x38]
xor r8d, r8d
mov byte [rsp + rax + CHtmlEditView::GetMessageMap], 0
lea rax, [rsp + 0xcb0]
xor edx, edx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xed0]
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1403a38dc
cmp eax, r14d
je 0x1403a4705
mov rax, qword [str.softwareclasses_vdsp]
lea rcx, [rsp + 0xdc0]
mov r10b, 0x3a
cmp byte [rbx], r10b
mov qword [rcx], rax
mov rax, qword [0x140478ed8]
mov qword [rcx + 8], rax
mov eax, dword [0x140478ee0]
mov r9, 0xffffffff80000002
mov dword [rcx + 0x10], eax
movzx eax, word [0x140478ee4]
mov qword [rsp + 0x38], r9
mov word [rcx + 0x14], ax
jne 0x1403a46ec
lea rax, [rbx + 4]
xor edx, edx
mov cl, byte [rax]
cmp cl, r10b
je 0x1403a46bb
lea r8, [rsp + 0xdc0]
add rax, r14
mov byte [r8], cl
add edx, r14d
mov cl, byte [rax]
add r8, r14
cmp cl, r10b
jne 0x1403a46a8
movsxd rax, edx
mov byte [rsp + rax + CDocTemplate::GetRuntimeClass], 0
lea eax, [rdx + 5]
lea rdx, [rsp + 0xcb0]
movsxd rcx, eax
sub rdx, rcx
sub rdx, rbx
lea r8, [rcx + rbx]
mov al, byte [r8]
mov byte [r8 + rdx], al
add r8, r14
test al, al
jne 0x1403a46de
xor ecx, ecx
mov al, byte [rsp + rcx + 0xdc0]
mov byte [rsp + rcx + CDocItem::GetThisClass], al
add rcx, r14
test al, al
jne 0x1403a46ee
jmp 0x1403a470a
mov r9, qword [rsp + 0x38]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0xed0]
mov rcx, r9
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x1403a472e
mov eax, 0x2a
jmp 0x1403a4827
mov rcx, qword [rsp + 0x30]
lea rax, [rsp + 0x40]
lea rdx, [rsp + 0xcb0]
mov r9d, 3
xor r8d, r8d
mov dword [rsp + 0x28], CFileDialog::GetInterfaceMap
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x1403a476a
mov eax, 0x2e
jmp 0x1403a4827
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x1403a4824
mov eax, 0x2c
jmp 0x1403a4827
test r14b, r12b
jne 0x1403a47a5
xor edx, edx
mov rcx, rbx
call fcn.1403a3328
cmp eax, 0xffffffff
je 0x1403a47a5
mov eax, 0x29
jmp 0x1403a4827
mov edi, dword [rsp + 0x1040]
cmp edi, 8
jl 0x1403a47b8
mov eax, 2
jmp 0x1403a4827
xor edx, edx
mov rcx, rbx
call sub.KERNEL32.dll_SetFileAttributesA
mov r8d, edi
mov rdx, rbx
mov ecx, r14d
call fcn.1403a3394
cmp rax, 0xffffffffffffffff
mov rsi, rax
jne 0x1403a47de
lea eax, [rsi + 0xa]
jmp 0x1403a4827
lea r9, [rsp + 0x40]
mov r8, rbx
xor edx, edx
mov rcx, rax
mov dword [rsp + 0x20], CFileDialog::GetInterfaceMap
call fcn.1403a3718
cmp eax, 0xc30
je 0x1403a4806
mov eax, 5
jmp 0x1403a4827
mov rcx, rsi
call fcn.1403a3378
test rax, rax
je 0x1403a481a
mov eax, 6
jmp 0x1403a4827
mov edx, edi
mov rcx, rbx
call sub.KERNEL32.dll_SetFileAttributesA
mov eax, r14d
mov rcx, qword [rsp + 0xfe0]
xor rcx, rsp
call fcn.1403addc0
mov rbx, qword [rsp + reloc.mfc90u.dll_COleDropSource::GiveFeedback]
add rsp, 0xff0
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret