Function at 0x1403b844c
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 [0x1404f5550]
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 + CMDIFrameWnd::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.1403b8154
cmp byte [rsp + 0x177], bpl
jne 0x1403b84d9
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x1403b8c97
lea r8, [rsp + reloc.mfc90u.dll_CPropertySet::AddProperty]
lea rcx, str.SAA_482
mov rdx, rsi
call fcn.1403b8154
cmp byte [rsp + reloc.mfc90u.dll_CPropertySet::AddProperty], bpl
je 0x1403b84cf
lea r8, [rsp + 0x45e]
lea rcx, str.YAP00667
mov rdx, rsi
call fcn.1403b8154
cmp byte [rsp + 0x45e], bpl
je 0x1403b84cf
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x45]
mov r14d, 1
mov rdx, rsi
mov byte [rsp + 0x44], r14b
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x45]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x78]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x78]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0xab]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0xab]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0xde]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0xde]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x111]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x111]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x144]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x144]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x181]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x181]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x1b4]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x1b4]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x1e7]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x1e7]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x21a]
mov rdx, rsi
call fcn.1403b8154
xor r8d, r8d
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x21a]
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x24d]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x24d]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x280]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x280]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x2b3]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x2b3]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x2e6]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x2e6]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x319]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x319]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x34c]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x34c]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x37f]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x37f]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x3b2]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x3b2]
xor r8d, r8d
call fcn.1403b6858
lea r8, [rsp + 0xc70]
lea rcx, [rsp + 0x3e5]
mov rdx, rsi
call fcn.1403b8154
lea rdx, [rsp + 0xc70]
lea rcx, [rsp + 0x3e5]
xor r8d, r8d
call fcn.1403b6858
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 0x1403b89f8
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 0x1403b8a1c
sub edi, r14d
je 0x1403b8bf7
cmp edi, r14d
je 0x1403b8a4a
lea eax, [r9 + 0xe]
jmp 0x1403b8c97
lea rsi, [rsp + 0xcb0]
xor r12d, r12d
xor ebp, ebp
sub rsi, rbx
mov rdi, rbx
cmp byte [rdi], 0
je 0x1403b8a7e
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 0x1403b8a5d
movsxd rax, r12d
lea r9, [rsp + 0x38]
xor r8d, r8d
mov byte [rsp + rax + CMDIFrameWnd::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.1403b7d4c
cmp eax, r14d
je 0x1403b8b75
mov rax, qword [str.softwareclasses_vdsp]
lea rcx, [rsp + 0xdc0]
mov r10b, 0x3a
cmp byte [rbx], r10b
mov qword [rcx], rax
mov rax, qword [0x14048b728]
mov qword [rcx + 8], rax
mov eax, dword [0x14048b730]
mov r9, 0xffffffff80000002
mov dword [rcx + 0x10], eax
movzx eax, word [0x14048b734]
mov qword [rsp + 0x38], r9
mov word [rcx + 0x14], ax
jne 0x1403b8b5c
lea rax, [rbx + 4]
xor edx, edx
mov cl, byte [rax]
cmp cl, r10b
je 0x1403b8b2b
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 0x1403b8b18
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 0x1403b8b4e
xor ecx, ecx
mov al, byte [rsp + rcx + 0xdc0]
mov byte [rsp + rcx + CDocItem::GetThisClass], al
add rcx, r14
test al, al
jne 0x1403b8b5e
jmp 0x1403b8b7a
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 0x1403b8b9e
mov eax, 0x2a
jmp 0x1403b8c97
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 0x1403b8bda
mov eax, 0x2e
jmp 0x1403b8c97
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x1403b8c94
mov eax, 0x2c
jmp 0x1403b8c97
test r14b, r12b
jne 0x1403b8c15
xor edx, edx
mov rcx, rbx
call fcn.1403b7798
cmp eax, 0xffffffff
je 0x1403b8c15
mov eax, 0x29
jmp 0x1403b8c97
mov edi, dword [rsp + 0x1040]
cmp edi, 8
jl 0x1403b8c28
mov eax, 2
jmp 0x1403b8c97
xor edx, edx
mov rcx, rbx
call sub.KERNEL32.dll_SetFileAttributesA
mov r8d, edi
mov rdx, rbx
mov ecx, r14d
call fcn.1403b7804
cmp rax, 0xffffffffffffffff
mov rsi, rax
jne 0x1403b8c4e
lea eax, [rsi + 0xa]
jmp 0x1403b8c97
lea r9, [rsp + 0x40]
mov r8, rbx
xor edx, edx
mov rcx, rax
mov dword [rsp + 0x20], CFileDialog::GetInterfaceMap
call fcn.1403b7b88
cmp eax, 0xc30
je 0x1403b8c76
mov eax, 5
jmp 0x1403b8c97
mov rcx, rsi
call fcn.1403b77e8
test rax, rax
je 0x1403b8c8a
mov eax, 6
jmp 0x1403b8c97
mov edx, edi
mov rcx, rbx
call sub.KERNEL32.dll_SetFileAttributesA
mov eax, r14d
mov rcx, qword [rsp + 0xfe0]
xor rcx, rsp
call fcn.1403c2380
mov rbx, qword [rsp + reloc.mfc90u.dll_COleDropSource::GiveFeedback]
add rsp, 0xff0
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret