Function at 0x14006d4e0
Capabilities:
Encode data using xor

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, CMemFile::Memcpy
call fcn.140077f10
sub rsp, rax
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov qword [rsp + 0x11d8], rbx
mov qword [rsp + CDC::OffsetViewportOrg], rbp
mov qword [rsp + 0x11e8], rsi
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + reloc.mfc90u.dll_CArchive::MapObject], rax
mov r14, rcx
mov dword [rcx + reloc.mfc90u.dll_CObList::AddTail], 1
mov dword [rcx + 0x414], 1
xor ebx, ebx
mov dword [rcx + 0x41c], ebx
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call sub.mfc90u.dll_CDaoDatabase::Execute
mov dword [rsp + 0x20], ebx
lea r9, str.lu_a_
lea r8, str.lu_a_
xor edx, edx
mov rcx, rax
call sub.MSVCR90.dll___RTDynamicCast
mov rbp, rax
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x14006d2c5
mov rax, qword [rax]
lea edx, [rbx + 2]
mov rcx, rbp
call qword [rax]
mov rcx, rax
mov dword [rsp + 0x20], ebx
lea r9, str.lu_a_
lea r8, str.lu_a_
xor edx, edx
call sub.MSVCR90.dll___RTDynamicCast
mov r12, rax
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14006d2c5
mov word [rsp + COleStreamFile::GetStream], bx
xor edx, edx
lea r8d, [rbx + 0x7e]
lea rcx, [rsp + 0xe92]
call sub.MSVCR90.dll_memset
mov rcx, qword [r14 + 0x620]
test rcx, rcx
jne 0x14006bf35
or eax, 0xffffffff
jmp 0x14006bf3a
call fcn.140041220
mov r8d, eax
lea rdx, str.Partition__d
lea rcx, [rsp + 0xe90]
call qword [sym.imp.USER32.dll_wsprintfW]
mov rcx, qword [r14 + 0x620]
test rcx, rcx
jne 0x14006bf63
or eax, 0xffffffff
jmp 0x14006bf68
call fcn.140041220
mov rcx, qword [r14 + 0x620]
test rcx, rcx
je 0x14006d288
mov edx, eax
call fcn.140040fc0
mov r15, rax
test rax, rax
je 0x14006d288
lea rdx, [rax + 0x20]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x14006bfc0
lea rcx, [rsp + 0xe90]
sub rcx, rdx
nop
movzx eax, word [rdx]
mov word [rdx + rcx], ax
add rdx, 2
test ax, ax
jne 0x14006bfb0
lea rdx, [rsp + 0xe90]
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
mov rdi, rax
call fcn.140014ed0
lea rcx, [rax + 0x168]
mov rdx, rdi
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
mov r13d, 8
mov rcx, r13
call sub.mfc90u.dll_CSplitterWnd::CSplitterWnd
test rax, rax
je 0x14006c01a
lea rcx, [rsp + 0x68]
mov qword [rax], rcx
jmp 0x14006c01d
mov rax, rbx
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x68]
call fcn.1400149e0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rbx
mov eax, dword [0x1400cf030]
test al, 1
jne 0x14006c065
or eax, 1
mov dword [0x1400cf030], eax
mov dword [0x1400cf034], 0x99
lea rcx, [0x140088af0]
call fcn.140077554
mov dword [0x1400cf034], 0x9f
cmp dword [r15 + 0x14], 8
jne 0x14006ce39
call fcn.140001270
mov rbp, rax
cmp qword [rax + 0x20], 0
jbe 0x14006cc7f
lea rcx, [rsp + 0x4f8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void____ptr64]
mov dword [rsp + 0x520], ebx
cmp qword [rbp + 0x28], 0x10
jb 0x14006c0af
mov rdx, qword [rbp + 0x10]
jmp 0x14006c0b3
lea rdx, [rbp + 0x10]
test rdx, rdx
je 0x14006c0c6
lea rcx, [rsp + 0x4f8]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const____ptr64____ptr64]
cmp qword [rsp + 0x510], 0x20
jne 0x14006c593
mov byte [rsp + 0xbd0], 0
xor eax, eax
mov qword [rsp + 0xbd1], rax
mov qword [rsp + 0xbd9], rax
mov qword [rsp + 0xbe1], rax
mov qword [rsp + 0xbe9], rax
mov qword [rsp + 0xbf1], rax
mov qword [rsp + reloc.mfc90u.dll_CBrowserControlSite::GetHostInfo], rax
mov qword [rsp + reloc.mfc90u.dll_COleControl::GetHwnd], rax
mov dword [rsp + 0xc09], eax
mov word [rsp + 0xc0d], ax
mov byte [rsp + 0xc0f], al
lea r8, [rsp + 0x500]
cmp qword [rsp + 0x518], 0x10
cmovae r8, qword [rsp + 0x500]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0xbd0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + 0xbe8], rdx
xor r8d, r8d
lea r9, [rsp + 0xd0]
nop dword [rax]
mov edx, r8d
shl edx, 0x18
xor ecx, ecx
mov rdi, r13
nop dword [rax + rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x14006c194
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x14006c196
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x14006c180
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x14006c170
lea r8, [rsp + 0xbd2]
mov r9, r13
nop dword [rax]
mov ecx, ebx
shr rcx, 0x18
movzx eax, byte [r8 - 2]
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0xd0]
xor edx, ebx
mov ecx, edx
shr rcx, 0x18
movzx eax, byte [r8 - 1]
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0xd0]
xor edi, edx
mov ecx, edi
shr rcx, 0x18
movzx eax, byte [r8]
xor rcx, rax
shl edi, 8
mov edx, dword [rsp + rcx*4 + 0xd0]
xor edx, edi
mov ecx, edx
shr rcx, 0x18
movzx eax, byte [r8 + 1]
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0xd0]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x14006c1c0
lea r8, [rsp + 0x500]
cmp qword [rsp + 0x518], 0x10
cmovae r8, qword [rsp + 0x500]
lea edx, [r9 + 0x40]
lea rcx, [rsp + 0xbd0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + CMiniDockFrameWnd::GetThisClass], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xf11]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xbe8]
mov edx, 0x80
lea rcx, [rsp + 0xf10]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xf18], 0
xor edi, edi
mov dword [rsp + 0x58], edi
lea r8, [rsp + 0x58]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xf10]
call qword [sym.imp.MSVCR90.dll_sscanf]
cmp dword [rsp + 0x58], ebx
jne 0x14006c589
mov byte [rsp + 0x1010], dil
xor edx, edx
lea r8d, [rdi + 0x7f]
lea rcx, [rsp + 0x1011]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xbd0]
mov edx, 0x80
lea rcx, [rsp + 0x1010]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + COleClientItem::XOleIPSite::GetWindowContext], dil
mov dword [rsp + 0x5c], edi
lea r8, [rsp + 0x5c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x1010]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x5c]
mov byte [rsp + CRecordset::IsParamStatusNull], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x1111]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xbd8]
mov edx, 0x80
lea rcx, [rsp + 0x1110]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x1118], 0
mov dword [rsp + 0x50], 0
lea r8, [rsp + 0x50]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x1110]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov ebx, dword [rsp + 0x50]
mov byte [rsp + 0xf90], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xf91]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xbe0]
mov edx, 0x80
lea rcx, [rsp + 0xf90]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xf98], 0
mov dword [rsp + 0x60], 0
lea r8, [rsp + 0x60]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xf90]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edx, dword [rsp + 0x60]
xor edi, edx
xor ebx, edx
cmp di, 0x1e
jne 0x14006c591
shr edi, 0x10
cmp di, 1
jne 0x14006c58d
cmp ebx, 0x9a
je 0x14006c41f
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x14006c585
mov byte [rsp + 0xcd0], 0
xor eax, eax
mov qword [rsp + 0xcd1], rax
mov qword [rsp + COleServerItem::GetMetafileData], rax
mov qword [rsp + reloc.mfc90u.dll_COleDocument::GetMoniker], rax
mov qword [rsp + 0xce9], rax
mov qword [rsp + CRichEditView::XRichEditOleCallback::GetNewStorage], rax
mov qword [rsp + 0xcf9], rax
mov qword [rsp + CSingleDocTemplate::GetNextDoc], rax
mov dword [rsp + 0xd09], eax
mov word [rsp + 0xd0d], ax
mov byte [rsp + 0xd0f], al
lea r8, [rsp + 0x500]
cmp qword [rsp + 0x518], 0x10
cmovae r8, qword [rsp + 0x500]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0xcd0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xd10], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xd11]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xcd8]
mov edx, 0x80
lea rcx, [rsp + 0xd10]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xd18], 0
xor ebx, ebx
mov dword [rsp + 0x48], ebx
lea r8, [rsp + 0x48]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xd10]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x48]
mov byte [rsp + 0x1090], bl
xor edx, edx
lea r8d, [rbx + 0x7f]
lea rcx, [rsp + 0x1091]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xce0]
mov edx, 0x80
lea rcx, [rsp + 0x1090]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x1098], bl
mov dword [rsp + 0x4c], ebx
lea r8, [rsp + 0x4c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x1090]
call qword [sym.imp.MSVCR90.dll_sscanf]
xor edi, dword [rsp + 0x4c]
cmp edi, 0x9a
je 0x14006c593
cmp edi, 0x99
jne 0x14006c593
lea rcx, [rsp + 0x4f8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
jmp 0x14006cc7f
xor ebx, ebx
jmp 0x14006c593
xor ebx, ebx
jmp 0x14006c593
xor ebx, ebx
jmp 0x14006c593
xor ebx, ebx
lea rdx, [0x14008ac97]
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const____ptr64____ptr64]
nop
cmp qword [rbp + 0x28], 0x10
jb 0x14006c5b6
mov rdi, qword [rbp + 0x10]
jmp 0x14006c5ba
lea rdi, [rbp + 0x10]
call fcn.140007060
test rdi, rdi
jne 0x14006c5c9
mov r12, rbx
jmp 0x14006c5f6
lea r8, [rsp + 0x4d0]
mov rdx, rdi
mov rcx, rax
call fcn.1400070e0
mov r12, rax
test rax, rax
je 0x14006c5f6
lea rdx, [rsp + 0x4d0]
lea rcx, [rbp + 8]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64]
cmp dword [rbp + 0x30], 0
je 0x14006c627
cmp qword [rbp + 0x28], 0x10
jb 0x14006c609
mov rdi, qword [rbp + 0x10]
jmp 0x14006c60d
lea rdi, [rbp + 0x10]
call fcn.140007060
lea r8, [rbp + 0x998]
mov rdx, rdi
mov rcx, rax
call fcn.140007f30
mov r12, rax
test r12, r12
je 0x14006cc4c
cmp qword [r12 + 0x18], 0x20
jne 0x14006cc4c
mov byte [rsp + 0xc50], 0
xor eax, eax
mov qword [rsp + 0xc51], rax
mov qword [rsp + 0xc59], rax
mov qword [rsp + CDaoRecordset::GetLastModifiedBookmark], rax
mov qword [rsp + 0xc69], rax
mov qword [rsp + 0xc71], rax
mov qword [rsp + 0xc79], rax
mov qword [rsp + 0xc81], rax
mov dword [rsp + 0xc89], eax
mov word [rsp + 0xc8d], ax
mov byte [rsp + 0xc8f], al
cmp qword [r12 + 0x20], 0x10
jb 0x14006c6a6
lea rsi, [r12 + 8]
mov r8, qword [rsi]
jmp 0x14006c6ae
lea rsi, [r12 + 8]
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0xc50]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + 0xc68], rdx
xor ebp, ebp
mov r8d, ebp
lea r9, [rsp + 0xd0]
nop dword [rax + rax]
mov edx, r8d
shl edx, 0x18
mov ecx, ebp
mov rdi, r13
nop dword [rax + rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x14006c704
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x14006c706
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x14006c6f0
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x14006c6e0
lea r8, [rsp + 0xc52]
mov r9, r13
nop dword [rax]
mov ecx, ebx
shr rcx, 0x18
movzx eax, byte [r8 - 2]
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0xd0]
xor edx, ebx
mov ecx, edx
shr rcx, 0x18
movzx eax, byte [r8 - 1]
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0xd0]
xor edi, edx
mov ecx, edi
shr rcx, 0x18
movzx eax, byte [r8]
xor rcx, rax
shl edi, 8
mov edx, dword [rsp + rcx*4 + 0xd0]
xor edx, edi
mov ecx, edx
shr rcx, 0x18
movzx eax, byte [r8 + 1]
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0xd0]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x14006c730
cmp qword [r12 + 0x20], 0x10
jb 0x14006c7ae
mov r8, qword [rsi]
jmp 0x14006c7b1
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0xc50]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0xc68]
call fcn.1400040c0
cmp eax, ebx
jne 0x14006cc4c
mov byte [rsp + 0xd90], bpl
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xd91]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xc50]
mov edx, 0x80
lea rcx, [rsp + 0xd90]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xd98], bpl
mov dword [rsp + 0x54], ebp
lea r8, [rsp + 0x54]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xd90]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x54]
lea rcx, [rsp + 0xc58]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0xc60]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x14006cc4c
shr edi, 0x10
cmp di, 1
jne 0x14006cc4c
cmp ebx, 0x9a
je 0x14006c887
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x14006cc4c
cmp qword [r12 + 0x18], 0x20
jne 0x14006cb7a
mov byte [rsp + 0xc10], bpl
xor eax, eax
mov qword [rsp + 0xc11], rax
mov qword [rsp + 0xc19], rax
mov qword [rsp + 0xc21], rax
mov qword [rsp + 0xc29], rax
mov qword [rsp + 0xc31], rax
mov qword [rsp + COleObjectFactory::GetInterfaceMap], rax
mov qword [rsp + reloc.mfc90u.dll_COleServerDoc::GetInterfaceMap], rax
mov dword [rsp + 0xc49], eax
mov word [rsp + 0xc4d], ax
mov byte [rsp + 0xc4f], al
cmp qword [r12 + 0x20], 0x10
jb 0x14006c8f8
mov r8, qword [rsi]
jmp 0x14006c8fb
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0xc10]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + 0xc28], rdx
mov ebx, ebp
mov r8d, ebp
lea r9, [rsp + 0xd0]
nop word [rax + rax]
mov edx, r8d
shl edx, 0x18
mov ecx, ebp
mov rdi, r13
nop dword [rax + rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x14006c954
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x14006c956
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x14006c940
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x14006c930
lea r8, [rsp + 0xc12]
nop dword [rax]
mov ecx, ebx
shr rcx, 0x18
movzx eax, byte [r8 - 2]
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0xd0]
xor edx, ebx
mov ecx, edx
shr rcx, 0x18
movzx eax, byte [r8 - 1]
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0xd0]
xor edi, edx
mov ecx, edi
shr rcx, 0x18
movzx eax, byte [r8]
xor rcx, rax
shl edi, 8
mov edx, dword [rsp + rcx*4 + 0xd0]
xor edx, edi
mov ecx, edx
shr rcx, 0x18
movzx eax, byte [r8 + 1]
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0xd0]
xor ebx, edx
add r8, 4
sub r13, 1
jne 0x14006c980
cmp qword [r12 + 0x20], 0x10
jb 0x14006c9fe
mov r8, qword [rsi]
jmp 0x14006ca01
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0xc10]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0xc28]
call fcn.1400040c0
cmp eax, ebx
jne 0x14006cb7a
mov byte [rsp + 0xe10], bpl
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xe11]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0xc10]
mov edx, 0x80
lea rcx, [rsp + 0xe10]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xe18], bpl
mov dword [rsp + 0x40], ebp
lea r8, [rsp + 0x40]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xe10]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x40]
lea rcx, [rsp + 0xc18]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0xc20]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x14006cb7a
shr edi, 0x10
cmp di, 1
jne 0x14006cb7a
mov r13d, 0x9a
cmp ebx, r13d
je 0x14006cada
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x14006cb7a
mov byte [rsp + 0xc90], bpl
xor eax, eax
mov qword [rsp + 0xc91], rax
mov qword [rsp + reloc.mfc90u.dll_CFrameWnd::GetMenu], rax
mov qword [rsp + 0xca1], rax
mov qword [rsp + CDialogBar::GetMessageMap], rax
mov qword [rsp + reloc.mfc90u.dll_CFrameWnd::GetMessageMap], rax
mov qword [rsp + reloc.mfc90u.dll_CMiniFrameWnd::GetMessageMap], rax
mov qword [rsp + CPropertySheet::GetMessageMap], rax
mov dword [rsp + 0xcc9], eax
mov word [rsp + 0xccd], ax
mov byte [rsp + 0xccf], al
cmp qword [r12 + 0x20], 0x10
jb 0x14006cb3d
mov rsi, qword [rsi]
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0xc90]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0xc98]
call fcn.1400040c0
mov edi, eax
lea rcx, [rsp + 0xca0]
call fcn.1400040c0
xor edi, eax
cmp edi, r13d
cmove edi, r13d
jmp 0x14006cb7f
mov edi, 0x9e
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x4f8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
cmp edi, 0x9d
jne 0x14006cc75
lea rdx, str.IDS_NOT_SUPPORT
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
nop
lea r9, [rsp + 0x4d0]
xor r8d, r8d
mov edx, 0xfff1
mov rcx, r14
call fcn.1400057c0
nop
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
mov qword [rax], rax
mov rax, qword [rsp + 0x90]
mov qword [rax + 8], rax
mov qword [rsp + 0x98], rbp
mov rax, qword [rsp + 0x90]
cmp rcx, rax
je 0x14006cc2d
mov rdi, qword [rcx]
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov rcx, rdi
mov rax, qword [rsp + 0x90]
cmp rdi, rax
jne 0x14006cc15
mov rcx, rax
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov qword [rsp + 0x90], rbp
mov rcx, qword [rsp + 0x68]
call sub.mfc90u.dll_CStatusBar::CStatusBar
jmp 0x14006d2c5
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x4f8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void____ptr64]
mov r12, qword [rsp + 0xa0]
xor ebx, ebx
jmp 0x14006cc7f
mov r12, qword [rsp + 0xa0]
xor ebx, ebx
xor edx, edx
lea rcx, [rsp + 0x5e0]
call fcn.140001360
nop
lea rcx, [rsp + 0x5e0]
call sub.mfc90u.dll_CDaoFieldExchange::Default
cmp rax, 1
je 0x14006cd67
lea rax, vtable.CBitlockerKeyDlg.0
mov qword [rsp + 0x5e0], rax
lea rax, vtable.CBitlockerKeyDlg.1.0
mov qword [rsp + 0x6c8], rax
lea rcx, [rsp + 0x9f0]
call fcn.14002f830
nop
lea rcx, [rsp + 0x9d8]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x998]
call fcn.140019400
nop
lea rcx, [rsp + 0x5e0]
call fcn.140024ad0
nop
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
mov qword [rax], rax
mov rax, qword [rsp + 0x90]
mov qword [rax + 8], rax
mov qword [rsp + 0x98], rbx
mov rax, qword [rsp + 0x90]
cmp rcx, rax
je 0x14006cd48
nop dword [rax]
mov rdi, qword [rcx]
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov rcx, rdi
mov rax, qword [rsp + 0x90]
cmp rdi, rax
jne 0x14006cd30
mov rcx, rax
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov qword [rsp + 0x90], rbx
mov rcx, qword [rsp + 0x68]
call sub.mfc90u.dll_CStatusBar::CStatusBar
jmp 0x14006d2c5
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x5e0]
call fcn.140043350
nop
mov rcx, rax
call qword [sym.imp.mfc90u.dll_COleControlSite::SetFocus]
mov rdx, rax
lea rcx, [rsp + 0xc0]
call qword [0x14008a730]
nop
lea rcx, [rsp + 0xa0]
call qword [sym.imp.mfc90u.dll_CView::CView]
xor edx, edx
lea rcx, [rsp + 0xc0]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
lea rcx, [r15 + 0x22a]
mov r8, rax
mov edx, 0x80
call qword [sym.imp.MSVCR90.dll_wcscpy_s]
nop
lea rcx, [rsp + 0xc0]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rax, vtable.CBitlockerKeyDlg.0
mov qword [rsp + 0x5e0], rax
lea rax, vtable.CBitlockerKeyDlg.1.0
mov qword [rsp + 0x6c8], rax
lea rcx, [rsp + 0x9f0]
call fcn.14002f830
nop
lea rcx, [rsp + 0x9d8]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x998]
call fcn.140019400
nop
lea rcx, [rsp + 0x5e0]
call fcn.140024ad0
mov rbp, qword [rsp + 0xb0]
mov ecx, COlePasteSpecialDialog::DoModal
call sub.mfc90u.dll_CSplitterWnd::CSplitterWnd
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x14006ce5d
mov rdx, r14
mov rcx, rax
call fcn.140019b60
jmp 0x14006ce60
mov rax, rbx
lea rcx, [0x14006d350]
mov qword [rsp + 0xb0], rcx
mov dword [rsp + 0xb8], ebx
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0xb0]
mov r8, r14
mov rdx, rax
xor ecx, ecx
call fcn.14006eb40
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rdx]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
test rdi, rdi
je 0x14006ced4
cmp rdi, qword [rsp + 0x68]
je 0x14006ceda
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp rbx, rsi
je 0x14006cf22
test rdi, rdi
jne 0x14006ceef
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14006cef2
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14006cefe
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test rdi, rdi
jne 0x14006cf0e
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor r11d, r11d
jmp 0x14006cf11
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14006cf1d
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov rbx, qword [rbx]
jmp 0x14006cec0
cmp qword [rsp + 0x98], 0
jne 0x14006d08d
lea rdx, str.IDS_FIND_NO_DATA
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
nop
cmp dword [r15 + 0x14], 8
jne 0x14006cfc8
lea rdx, str.IDS_ERROR_BITLOCKER_KEY
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
lea rdi, [r15 + 0x22a]
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 0x30
jae 0x14006cfc8
call fcn.14000e670
mov rdi, rax
mov rbx, qword [rax]
call fcn.140008800
mov rdx, rax
mov dword [rsp + 0x20], 0xffffffff
lea r9, str.partition_recovery
lea r8, str.incorrect_bitlocker_pwd
mov rcx, rdi
call qword [rbx + 8]
lea rdx, str.IDS_ERROR_BITLOCKER_PASSWORD
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
mov rdx, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
cmp dword [r14 + 0x41c], 0
jne 0x14006d019
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov rdx, rax
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
nop
lea r9, [rsp + 0x4d0]
xor r8d, r8d
mov edx, 0xfff1
mov rcx, r14
call fcn.1400057c0
nop
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
mov qword [rax], rax
mov rax, qword [rsp + 0x90]
mov qword [rax + 8], rax
xor ebx, ebx
mov qword [rsp + 0x98], rbx
mov rax, qword [rsp + 0x90]
cmp rcx, rax
je 0x14006d06e
mov rdi, qword [rcx]
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov rcx, rdi
mov rax, qword [rsp + 0x90]
cmp rdi, rax
jne 0x14006d056
mov rcx, rax
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov qword [rsp + 0x90], rbx
mov rcx, qword [rsp + 0x68]
call sub.mfc90u.dll_CStatusBar::CStatusBar
jmp 0x14006d2c5
mov byte [rsp + 0x530], 0
xor edx, edx
mov r8d, 0xa7
lea rcx, [rsp + 0x531]
call sub.MSVCR90.dll_memset
mov rdx, qword [r15]
mov qword [rsp + 0x5c8], rdx
mov eax, dword [r15 + 0x32c]
mov dword [rsp + CRichEditCtrl::CanPaste], eax
mov eax, dword [r14 + 0x40c]
mov dword [rsp + 0x5b8], eax
mov eax, dword [r15 + 0x1c]
imul rax, qword [r15 + 8]
mov qword [rsp + reloc.mfc90u.dll_CRichEditCtrl::CanPaste], rax
movsxd rax, dword [r15 + 0x14]
cmp eax, 0x1f
ja case.0x14006d108.10
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x6d324]
mov ecx, dword [rdx + rax*4 + 0x6d2f8]
add rcx, rdx
jmp rcx
mov dword [rsp + 0x5b4], 0x100
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], 0x101
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], 0x102
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], 0x103
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], 0x104
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], 0x105
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], 0x108
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], 0x106
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], reloc.mfc90u.dll_new__
jmp case.0x14006d108.10
mov dword [rsp + 0x5b4], reloc.mfc90u.dll_delete__
call fcn.140014ed0
mov rcx, rax
lea rdx, [rsp + 0x530]
call fcn.140042220
call fcn.140014ed0
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x530]
mov r8d, 0xa8
call sub.MSVCR90.dll_memcpy
call fcn.14000e670
mov rdi, rax
mov rbx, qword [rax]
call fcn.140008800
mov rdx, rax
mov dword [rsp + 0x20], 0xffffffff
lea r9, str.quick_scan_continue
lea r8, str.partition_recovery
mov rcx, rdi
call qword [rbx + 8]
cmp dword [r14 + 0x408], 0x9d
jne 0x14006d203
mov dword [r12 + CDHtmlElementEventSink::AddRef], 0x9f
xor r8d, r8d
lea rdx, [rsp + 0x68]
mov rcx, r12
call fcn.140042470
mov rax, qword [rbp]
mov edx, 2
mov rcx, rbp
call qword [rax + 8]
nop
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
mov qword [rax], rax
mov rax, qword [rsp + 0x90]
mov qword [rax + 8], rax
xor ebx, ebx
mov qword [rsp + 0x98], rbx
mov rax, qword [rsp + 0x90]
cmp rcx, rax
je 0x14006d26c
mov rdi, qword [rcx]
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov rcx, rdi
mov rax, qword [rsp + 0x90]
cmp rdi, rax
jne 0x14006d254
mov rcx, rax
call sub.mfc90u.dll_CStatusBar::CStatusBar
mov qword [rsp + 0x90], rbx
mov rcx, qword [rsp + 0x68]
call sub.mfc90u.dll_CStatusBar::CStatusBar
jmp 0x14006d2c5
lea rdx, str.IDS_NOSTORAGE_SELECTED
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
nop
lea r9, [rsp + 0x4d0]
xor r8d, r8d
mov edx, 0xfff1
mov rcx, r14
call fcn.1400057c0
nop
lea rcx, [rsp + 0x4d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
mov rcx, qword [rsp + reloc.mfc90u.dll_CArchive::MapObject]
xor rcx, rsp
call fcn.140077470
lea r11, [rsp + 0x11a0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
add rcx, 0xfffffffffffffc48
jmp 0x14006be20