Function at 0x140020300
Capabilities:
Encode data using xor
Query or enumerate registry value
Set registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xbe8
mov qword [rsp + 0xd0], 0xfffffffffffffffe
mov rax, qword [0x1400c2038]
xor rax, rsp
mov qword [rsp + 0xbd0], rax
mov r12, r9
mov rbp, r8
mov rbx, rcx
mov qword [rsp + 0x90], rcx
xor r14d, r14d
mov qword [rsp + 0xa8], r14
mov dword [rsp + 0xb0], r14d
cmp qword [rdx + 0x20], 8
jb 0x140020363
mov rdx, qword [rdx + 8]
jmp 0x140020367
add rdx, 8
lea rcx, [rsp + 0xa0]
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
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0xa8]
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x98]
call fcn.14001f570
test eax, eax
setne al
test al, al
je 0x1400203cc
lea rcx, [rsp + 0xa0]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1400203c5
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x140022a88
mov word [rsp + 0xad0], r14w
xor edx, edx
mov r8d, 0xfe
lea rcx, [rsp + 0xad2]
call sub.MSVCR90.dll_memset
mov dword [rsp + 0x70], 0xfe
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xad0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x74]
xor r8d, r8d
lea rdx, str.guid
mov r13, qword [rsp + 0xa8]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov r11d, eax
test eax, eax
jne 0x140020474
mov eax, dword [rsp + 0x74]
cmp eax, 1
je 0x140020446
cmp eax, 2
je 0x140020446
mov r11d, 0xd
jmp 0x140020474
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x140020468
test al, 1
jne 0x140020460
shr rax, 1
cmp word [rsp + rax*2 + 0xace], 0
je 0x140020471
mov r11d, 0xd
jmp 0x140020474
mov word [rsp + 0xad0], r14w
mov r11d, r14d
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xad0]
repne scasw ax, word [rdi]
not rcx
cmp rcx, 1
je 0x140020497
test r11d, r11d
je 0x14002054c
lea rcx, [rsp + 0x530]
call qword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x14002054c
movzx eax, byte [rsp + 0x53f]
movzx ecx, byte [rsp + 0x53e]
movzx edx, byte [rsp + 0x53d]
movzx edi, byte [rsp + 0x53c]
movzx r8d, byte [rsp + 0x53b]
movzx r10d, byte [rsp + 0x53a]
movzx r11d, byte [rsp + 0x539]
movzx ebx, byte [rsp + 0x538]
movzx esi, word [rsp + 0x536]
movzx r9d, word [rsp + 0x534]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x530]
lea rdx, str._08x_04x_04x_02x_02x_02x_02x_02x_02x_02x_02x
lea rcx, [rsp + 0xad0]
call fcn.14000e060
mov rbx, qword [rsp + 0x90]
lea rcx, [rbx + 0x98]
lea rdx, [rsp + 0xad0]
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_wchar_t_const____ptr64____ptr64]
lea rcx, [rbx + 0xc0]
mov rdx, rbp
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]
lea rcx, [rsp + 0xad0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax + rax + 2]
mov dword [rsp + 0x28], eax
lea rax, [rsp + 0xad0]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.guid
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rdx, r12
lea rcx, [rsp + 0x568]
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_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64____ptr64]
nop
mov eax, dword [0x1400c9b40]
test al, 1
jne 0x1400205eb
or eax, 1
mov dword [0x1400c9b40], eax
lea rcx, [0x1400c9180]
call fcn.1400011f0
lea rcx, [0x1400889b0]
call fcn.140077554
nop
mov r15d, 0x9e
lea r12, [0x1400c9190]
lea ebp, [r15 - 4]
mov r13d, 8
cmp qword [0x1400c91a0], 0
jbe 0x1400211a0
lea rcx, [rsp + 0x500]
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 + 0x528], r14d
cmp qword [0x1400c91a8], 0x10
jb 0x14002063e
mov rdx, qword [0x1400c9190]
test rdx, rdx
je 0x14002064f
jmp 0x140020641
mov rdx, r12
lea rcx, [rsp + 0x500]
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 + 0x518], 0x20
jne 0x140020b24
mov byte [rsp + CStatusBar::CalcFixedLayout], 0
xor eax, eax
mov qword [rsp + CStatusBar::CalcFixedLayout], rax
mov qword [rsp + 0x599], rax
mov qword [rsp + 0x5a1], rax
mov qword [rsp + CDragListBox::CancelDrag], rax
mov qword [rsp + 0x5b1], rax
mov qword [rsp + CRichEditCtrl::CanPaste], rax
mov qword [rsp + 0x5c1], rax
mov dword [rsp + 0x5c9], eax
mov word [rsp + 0x5cd], ax
mov byte [rsp + 0x5cf], al
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x590]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + CDragListBox::CancelDrag], rdx
mov ebx, r14d
mov r8d, r14d
lea r9, [rsp + 0x100]
nop dword [rax]
mov edx, r8d
shl edx, 0x18
mov ecx, r14d
mov rdi, r13
nop dword [rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x140020724
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140020726
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140020710
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x140020700
lea r8, [rsp + 0x592]
mov r9, r13
nop dword [rax]
movzx ecx, byte [r8 - 2]
mov eax, ebx
shr rax, 0x18
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0x100]
xor edx, ebx
movzx ecx, byte [r8 - 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0x100]
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 + 0x100]
xor edx, edi
movzx ecx, byte [r8 + 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x140020750
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [r9 + 0x40]
lea rcx, [rsp + 0x590]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x950], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x951]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5a8]
mov edx, 0x80
lea rcx, [rsp + 0x950]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x958], 0
mov dword [rsp + 0x70], r14d
lea r8, [rsp + 0x70]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x950]
call qword [sym.imp.MSVCR90.dll_sscanf]
cmp dword [rsp + 0x70], ebx
jne 0x140020b24
mov byte [rsp + COleClientItem::FinishCreate], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x9d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x590]
mov edx, 0x80
lea rcx, [rsp + 0x9d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x9d8], 0
mov dword [rsp + 0x80], r14d
lea r8, [rsp + 0x80]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x9d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x80]
mov byte [rsp + 0x6d0], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x6d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x598]
mov edx, 0x80
lea rcx, [rsp + 0x6d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x6d8], 0
mov dword [rsp + 0x78], r14d
lea r8, [rsp + 0x78]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x6d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov ebx, dword [rsp + 0x78]
mov byte [rsp + COleDocIPFrameWnd::DestroySharedMenu], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x851]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5a0]
mov edx, 0x80
lea rcx, [rsp + 0x850]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + reloc.mfc90u.dll_COleControl::DestroyTracker], 0
mov dword [rsp + 0x88], r14d
lea r8, [rsp + 0x88]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x850]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edx, dword [rsp + 0x88]
xor edi, edx
xor ebx, edx
cmp di, 0x1e
jne 0x140020b24
shr edi, 0x10
cmp di, 1
jne 0x140020b24
cmp ebx, ebp
je 0x1400209b7
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x140020b24
mov byte [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Construct], 0
xor eax, eax
mov qword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Construct], rax
mov qword [rsp + CPropertySheet::Construct], rax
mov qword [rsp + COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp], rax
mov qword [rsp + 0x669], rax
mov qword [rsp + 0x671], rax
mov qword [rsp + COleServerItem::CopyToClipboard], rax
mov qword [rsp + 0x681], rax
mov dword [rsp + CDockBar::Create], eax
mov word [rsp + reloc.mfc90u.dll_CDockBar::Create], ax
mov byte [rsp + 0x68f], al
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x650]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xa50], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xa51]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x658]
mov edx, 0x80
lea rcx, [rsp + 0xa50]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xa58], 0
mov dword [rsp + 0x7c], r14d
lea r8, [rsp + 0x7c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xa50]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x7c]
mov byte [rsp + 0x750], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x751]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x660]
mov edx, 0x80
lea rcx, [rsp + 0x750]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x758], 0
mov dword [rsp + 0x84], r14d
lea r8, [rsp + 0x84]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x750]
call qword [sym.imp.MSVCR90.dll_sscanf]
xor edi, dword [rsp + 0x84]
cmp edi, ebp
je 0x140020b24
cmp edi, 0x99
jne 0x140020b24
lea rcx, [rsp + 0x500]
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 0x140021138
lea rdx, [0x14008ac97]
lea rcx, [rsp + 0x540]
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
mov rdi, r12
cmp qword [0x1400c91a8], 0x10
cmovae rdi, qword [0x1400c9190]
call fcn.140007060
test rdi, rdi
jne 0x140020b5c
mov rsi, r14
jmp 0x140020b8c
lea r8, [rsp + 0x540]
mov rdx, rdi
mov rcx, rax
call fcn.1400070e0
mov rsi, rax
test rax, rax
je 0x140020b8c
lea rdx, [rsp + 0x540]
lea rcx, [0x1400c9188]
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 [0x1400c91b0], 0
je 0x140020bc2
mov rdi, r12
cmp qword [0x1400c91a8], 0x10
cmovae rdi, qword [0x1400c9190]
call fcn.140007060
lea r8, [0x1400c9b18]
mov rdx, rdi
mov rcx, rax
call fcn.140007f30
mov rsi, rax
test rsi, rsi
je 0x140021171
cmp qword [rsi + 0x18], 0x20
jne 0x140021171
mov byte [rsp + CFileFind::Close], 0
xor eax, eax
mov qword [rsp + reloc.mfc90u.dll_CFileFind::Close], rax
mov qword [rsp + 0x619], rax
mov qword [rsp + CFtpFileFind::CloseContext], rax
mov qword [rsp + CDocObjectServer::XOleDocumentView::CloseView], rax
mov qword [rsp + CDaoWorkspace::CommitTrans], rax
mov qword [rsp + CPropertySheet::CommonConstruct], rax
mov qword [rsp + ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase], rax
mov dword [rsp + COleControlSite::ConnectSink], eax
mov word [rsp + COleControlSite::ConnectSink], ax
mov byte [rsp + reloc.mfc90u.dll_COleControlSite::ConnectSink], al
cmp qword [rsi + 0x20], 0x10
jb 0x140020c3f
lea rbp, [rsi + 8]
mov r8, qword [rbp]
jmp 0x140020c46
lea rbp, [rsi + 8]
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x610]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData], rdx
mov ebx, r14d
mov r8d, r14d
lea r9, [rsp + 0x100]
mov edx, r8d
shl edx, 0x18
mov ecx, r14d
mov rdi, r13
nop dword [rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x140020c94
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140020c96
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140020c80
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x140020c71
lea r8, [rsp + 0x612]
mov r9, r13
nop dword [rax]
movzx ecx, byte [r8 - 2]
mov eax, ebx
shr rax, 0x18
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0x100]
xor edx, ebx
movzx ecx, byte [r8 - 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0x100]
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 + 0x100]
xor edx, edi
movzx ecx, byte [r8 + 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x140020cc0
cmp qword [rsi + 0x20], 0x10
jb 0x140020d3e
mov r8, qword [rbp]
jmp 0x140020d41
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x610]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData]
call fcn.1400040c0
cmp eax, ebx
jne 0x14002116c
mov byte [rsp + DDX_FieldText], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x7d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x610]
mov edx, 0x80
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + DDX_FieldText], 0
mov dword [rsp + 0x8c], r14d
lea r8, [rsp + 0x8c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x8c]
lea rcx, [rsp + 0x618]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0x620]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x140021165
shr edi, 0x10
cmp di, 1
jne 0x14002115e
cmp ebx, 0x9a
je 0x140020e21
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x140021157
cmp qword [rsi + 0x18], 0x20
jne 0x14002110b
mov byte [rsp + 0x5d0], 0
xor eax, eax
mov qword [rsp + 0x5d1], rax
mov qword [rsp + 0x5d9], rax
mov qword [rsp + CDaoTableDef::classCDaoTableDef], rax
mov qword [rsp + reloc.mfc90u.dll_CDaoWorkspace::classCDaoWorkspace], rax
mov qword [rsp + 0x5f1], rax
mov qword [rsp + 0x5f9], rax
mov qword [rsp + 0x601], rax
mov dword [rsp + 0x609], eax
mov word [rsp + CFileFind::Close], ax
mov byte [rsp + CFileFind::Close], al
cmp qword [rsi + 0x20], 0x10
jb 0x140020e91
mov r8, qword [rbp]
jmp 0x140020e94
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x5d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + reloc.mfc90u.dll_CDaoTableDef::classCDaoTableDef], rdx
mov ebx, r14d
mov r8d, r14d
lea r9, [rsp + 0x100]
nop
mov edx, r8d
shl edx, 0x18
mov ecx, r14d
mov rdi, r13
nop dword [rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x140020ee4
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140020ee6
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140020ed0
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x140020ec0
lea r8, [rsp + 0x5d2]
mov r9, r13
nop dword [rax]
movzx ecx, byte [r8 - 2]
mov eax, ebx
shr rax, 0x18
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0x100]
xor edx, ebx
movzx ecx, byte [r8 - 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0x100]
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 + 0x100]
xor edx, edi
movzx ecx, byte [r8 + 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x140020f10
cmp qword [rsi + 0x20], 0x10
jb 0x140020f8e
mov r8, qword [rbp]
jmp 0x140020f91
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x5d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + reloc.mfc90u.dll_CDaoTableDef::classCDaoTableDef]
call fcn.1400040c0
cmp eax, ebx
jne 0x14002110b
mov byte [rsp + 0x8d0], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x8d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5d0]
mov edx, 0x80
lea rcx, [rsp + 0x8d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x8d8], 0
mov dword [rsp + 0x74], r14d
lea r8, [rsp + 0x74]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x8d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x74]
lea rcx, [rsp + 0x5d8]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0x5e0]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x14002110b
shr edi, 0x10
cmp di, 1
jne 0x14002110b
cmp ebx, 0x9a
je 0x140021068
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x14002110b
mov byte [rsp + CHtmlView::Create], 0
xor eax, eax
mov qword [rsp + CHtmlView::Create], rax
mov qword [rsp + CLinkCtrl::Create], rax
mov qword [rsp + CMiniFrameWnd::Create], rax
mov qword [rsp + 0x6a9], rax
mov qword [rsp + reloc.mfc90u.dll_CRichEditCtrl::Create], rax
mov qword [rsp + 0x6b9], rax
mov qword [rsp + 0x6c1], rax
mov dword [rsp + 0x6c9], eax
mov word [rsp + 0x6cd], ax
mov byte [rsp + 0x6cf], al
cmp qword [rsi + 0x20], 0x10
jb 0x1400210cb
mov rbp, qword [rbp]
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x690]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0x698]
call fcn.1400040c0
mov edi, eax
lea rcx, [rsp + 0x6a0]
call fcn.1400040c0
xor edi, eax
mov ebp, 0x9a
cmp edi, ebp
cmove edi, ebp
jmp 0x140021113
mov edi, r15d
mov ebp, 0x9a
lea rcx, [rsp + 0x540]
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 + 0x500]
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, 0x99
jne 0x140021198
lea rdx, str._Free
lea rcx, [rsp + 0x568]
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__::append_wchar_t_const____ptr64____ptr64]
mov rbx, qword [rsp + 0x90]
jmp 0x1400211a0
mov ebp, 0x9a
jmp 0x140021171
mov ebp, 0x9a
jmp 0x140021171
mov ebp, 0x9a
jmp 0x140021171
mov ebp, 0x9a
lea rcx, [rsp + 0x540]
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 + 0x500]
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 rbx, qword [rsp + 0x90]
jmp 0x1400211a0
mov rbx, qword [rsp + 0x90]
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x568]
call qword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::end_void____ptr64]
lea rdx, [rsp + 0xc0]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x568]
call qword [sym.imp.MSVCP90.dll_public:_class_std::_String_iterator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::begin_void____ptr64]
lea rdx, [rsp + 0x530]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x538]
mov rcx, qword [rsp + 0xc8]
cmp rax, rcx
je 0x140021224
mov edx, 0x5f
cmp word [rax], 0x20
jne 0x14002121b
mov word [rax], dx
add rax, 2
cmp rax, rcx
jne 0x140021212
lea rcx, [rbx + 0xe8]
lea rdx, [rsp + 0x568]
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]
lea rdx, str.product_name
lea rcx, [rsp + 0x540]
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 r14, [rbx + 0x68]
lea r9, [rsp + 0x568]
lea r8, [rsp + 0x540]
mov rdx, r14
mov rcx, rbx
call fcn.14001fa30
nop
lea rcx, [rsp + 0x540]
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 edx, dword [0x1400c9b40]
test dl, 1
jne 0x1400212aa
or edx, 1
mov dword [0x1400c9b40], edx
lea rcx, [0x1400c9180]
call fcn.1400011f0
lea rcx, [0x1400889b0]
call fcn.140077554
nop
cmp qword [0x1400c91a0], 0
jbe 0x140021df6
lea rcx, [rsp + 0x500]
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]
xor esi, esi
mov dword [rsp + 0x528], esi
cmp qword [0x1400c91a8], 0x10
jb 0x1400212e7
mov rdx, qword [0x1400c9190]
test rdx, rdx
je 0x1400212f8
jmp 0x1400212ea
mov rdx, r12
lea rcx, [rsp + 0x500]
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 + 0x518], 0x20
jne 0x1400217c6
mov byte [rsp + 0x5d0], 0
xor eax, eax
mov qword [rsp + 0x5d1], rax
mov qword [rsp + 0x5d9], rax
mov qword [rsp + CDaoTableDef::classCDaoTableDef], rax
mov qword [rsp + reloc.mfc90u.dll_CDaoWorkspace::classCDaoWorkspace], rax
mov qword [rsp + 0x5f1], rax
mov qword [rsp + 0x5f9], rax
mov qword [rsp + 0x601], rax
mov dword [rsp + 0x609], eax
mov word [rsp + CFileFind::Close], ax
mov byte [rsp + CFileFind::Close], al
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x5d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + reloc.mfc90u.dll_CDaoTableDef::classCDaoTableDef], rdx
mov ebx, esi
mov r8d, esi
lea r9, [rsp + 0x100]
mov edx, r8d
shl edx, 0x18
mov ecx, esi
mov rdi, r13
nop dword [rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x1400213c4
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x1400213c6
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x1400213b0
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x1400213a1
lea r8, [rsp + 0x5d2]
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 + 0x100]
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 + 0x100]
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 + 0x100]
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 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x1400213f0
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [r9 + 0x40]
lea rcx, [rsp + 0x5d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x8d0], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x8d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + reloc.mfc90u.dll_CDaoTableDef::classCDaoTableDef]
mov edx, 0x80
lea rcx, [rsp + 0x8d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x8d8], 0
mov dword [rsp + 0x74], esi
lea r8, [rsp + 0x74]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x8d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
cmp dword [rsp + 0x74], ebx
jne 0x1400217c6
mov byte [rsp + DDX_FieldText], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x7d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5d0]
mov edx, 0x80
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + DDX_FieldText], 0
mov dword [rsp + 0x8c], esi
lea r8, [rsp + 0x8c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x8c]
mov byte [rsp + 0x750], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x751]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5d8]
mov edx, 0x80
lea rcx, [rsp + 0x750]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x758], 0
mov dword [rsp + 0x84], esi
lea r8, [rsp + 0x84]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x750]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov ebx, dword [rsp + 0x84]
mov byte [rsp + 0xa50], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xa51]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5e0]
mov edx, 0x80
lea rcx, [rsp + 0xa50]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xa58], 0
mov dword [rsp + 0x7c], esi
lea r8, [rsp + 0x7c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xa50]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edx, dword [rsp + 0x7c]
xor edi, edx
xor ebx, edx
cmp di, 0x1e
jne 0x1400217c6
shr edi, 0x10
cmp di, 1
jne 0x1400217c6
cmp ebx, ebp
je 0x140021653
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x1400217c6
mov byte [rsp + CHtmlView::Create], 0
xor eax, eax
mov qword [rsp + CHtmlView::Create], rax
mov qword [rsp + CLinkCtrl::Create], rax
mov qword [rsp + CMiniFrameWnd::Create], rax
mov qword [rsp + 0x6a9], rax
mov qword [rsp + reloc.mfc90u.dll_CRichEditCtrl::Create], rax
mov qword [rsp + 0x6b9], rax
mov qword [rsp + 0x6c1], rax
mov dword [rsp + 0x6c9], eax
mov word [rsp + 0x6cd], ax
mov byte [rsp + 0x6cf], al
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x690]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + COleDocIPFrameWnd::DestroySharedMenu], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x851]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x698]
mov edx, 0x80
lea rcx, [rsp + 0x850]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + reloc.mfc90u.dll_COleControl::DestroyTracker], 0
mov dword [rsp + 0x88], esi
lea r8, [rsp + 0x88]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x850]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x88]
mov byte [rsp + 0x6d0], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x6d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x6a0]
mov edx, 0x80
lea rcx, [rsp + 0x6d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x6d8], 0
mov dword [rsp + 0x78], esi
lea r8, [rsp + 0x78]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x6d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
xor edi, dword [rsp + 0x78]
cmp edi, ebp
je 0x1400217c6
cmp edi, 0x99
jne 0x1400217c6
lea rcx, [rsp + 0x500]
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 rdi, qword [rsp + 0x90]
jmp 0x1400229f9
lea rdx, [0x14008ac97]
lea rcx, [rsp + 0x540]
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
mov rdi, r12
cmp qword [0x1400c91a8], 0x10
cmovae rdi, qword [0x1400c9190]
call fcn.140007060
test rdi, rdi
je 0x140021829
lea r8, [rsp + 0x540]
mov rdx, rdi
mov rcx, rax
call fcn.1400070e0
mov rsi, rax
test rax, rax
je 0x140021829
lea rdx, [rsp + 0x540]
lea rcx, [0x1400c9188]
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 [0x1400c91b0], 0
je 0x14002185c
cmp qword [0x1400c91a8], 0x10
cmovae r12, qword [0x1400c9190]
call fcn.140007060
lea r8, [0x1400c9b18]
mov rdx, r12
mov rcx, rax
call fcn.140007f30
mov rsi, rax
test rsi, rsi
je 0x140021dd9
cmp qword [rsi + 0x18], 0x20
jne 0x140021dd9
mov byte [rsp + CFileFind::Close], 0
xor eax, eax
mov qword [rsp + reloc.mfc90u.dll_CFileFind::Close], rax
mov qword [rsp + 0x619], rax
mov qword [rsp + CFtpFileFind::CloseContext], rax
mov qword [rsp + CDocObjectServer::XOleDocumentView::CloseView], rax
mov qword [rsp + CDaoWorkspace::CommitTrans], rax
mov qword [rsp + CPropertySheet::CommonConstruct], rax
mov qword [rsp + ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase], rax
mov dword [rsp + COleControlSite::ConnectSink], eax
mov word [rsp + COleControlSite::ConnectSink], ax
mov byte [rsp + reloc.mfc90u.dll_COleControlSite::ConnectSink], al
cmp qword [rsi + 0x20], 0x10
jb 0x1400218d9
lea rbp, [rsi + 8]
mov r8, qword [rbp]
jmp 0x1400218e0
lea rbp, [rsi + 8]
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x610]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData], rdx
xor r12d, r12d
mov ebx, r12d
mov r8d, r12d
lea r9, [rsp + 0x100]
nop
mov edx, r8d
shl edx, 0x18
mov ecx, r12d
mov rdi, r13
nop dword [rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x140021934
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140021936
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140021920
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x140021910
lea r8, [rsp + 0x612]
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 + 0x100]
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 + 0x100]
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 + 0x100]
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 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x140021960
cmp qword [rsi + 0x20], 0x10
jb 0x1400219de
mov r8, qword [rbp]
jmp 0x1400219e1
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x610]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData]
call fcn.1400040c0
cmp eax, ebx
jne 0x140021dd9
mov byte [rsp + COleClientItem::FinishCreate], r12b
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x9d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x610]
mov edx, 0x80
lea rcx, [rsp + 0x9d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x9d8], r12b
mov dword [rsp + 0x80], r12d
lea r8, [rsp + 0x80]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x9d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x80]
lea rcx, [rsp + 0x618]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0x620]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x140021dd9
shr edi, 0x10
cmp di, 1
jne 0x140021dd9
mov eax, 0x9a
cmp ebx, eax
je 0x140021ac2
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x140021dd9
cmp qword [rsi + 0x18], 0x20
jne 0x140021dab
mov byte [rsp + CStatusBar::CalcFixedLayout], r12b
xor eax, eax
mov qword [rsp + CStatusBar::CalcFixedLayout], rax
mov qword [rsp + 0x599], rax
mov qword [rsp + 0x5a1], rax
mov qword [rsp + CDragListBox::CancelDrag], rax
mov qword [rsp + 0x5b1], rax
mov qword [rsp + CRichEditCtrl::CanPaste], rax
mov qword [rsp + 0x5c1], rax
mov dword [rsp + 0x5c9], eax
mov word [rsp + 0x5cd], ax
mov byte [rsp + 0x5cf], al
cmp qword [rsi + 0x20], 0x10
jb 0x140021b32
mov r8, qword [rbp]
jmp 0x140021b35
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x590]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + CDragListBox::CancelDrag], rdx
mov ebx, r12d
mov r8d, r12d
lea r9, [rsp + 0x100]
mov edx, r8d
shl edx, 0x18
mov ecx, r12d
mov rdi, r13
nop dword [rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x140021b84
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140021b86
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140021b70
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x140021b60
lea r8, [rsp + 0x592]
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 + 0x100]
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 + 0x100]
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 + 0x100]
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 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x140021bb0
cmp qword [rsi + 0x20], 0x10
jb 0x140021c2e
mov r8, qword [rbp]
jmp 0x140021c31
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x590]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0x5a8]
call fcn.1400040c0
cmp eax, ebx
jne 0x140021dab
mov byte [rsp + 0x950], r12b
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x951]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x590]
mov edx, 0x80
lea rcx, [rsp + 0x950]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x958], r12b
mov dword [rsp + 0x70], r12d
lea r8, [rsp + 0x70]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x950]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x70]
lea rcx, [rsp + 0x598]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0x5a0]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x140021dab
shr edi, 0x10
cmp di, 1
jne 0x140021dab
mov r12d, 0x9a
cmp ebx, r12d
je 0x140021d0b
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x140021dab
mov byte [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Construct], 0
xor eax, eax
mov qword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Construct], rax
mov qword [rsp + CPropertySheet::Construct], rax
mov qword [rsp + COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp], rax
mov qword [rsp + 0x669], rax
mov qword [rsp + 0x671], rax
mov qword [rsp + COleServerItem::CopyToClipboard], rax
mov qword [rsp + 0x681], rax
mov dword [rsp + CDockBar::Create], eax
mov word [rsp + reloc.mfc90u.dll_CDockBar::Create], ax
mov byte [rsp + 0x68f], al
cmp qword [rsi + 0x20], 0x10
jb 0x140021d6e
mov rbp, qword [rbp]
mov r8, rbp
mov edx, 0x40
lea rcx, [rsp + 0x650]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0x658]
call fcn.1400040c0
mov edi, eax
lea rcx, [rsp + 0x660]
call fcn.1400040c0
xor edi, eax
cmp edi, r12d
cmove edi, r12d
jmp 0x140021dae
mov edi, r15d
lea rcx, [rsp + 0x540]
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 + 0x500]
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, 0x99
je 0x1400229f1
jmp 0x140021df6
lea rcx, [rsp + 0x540]
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 + 0x500]
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]
call fcn.140001270
mov r12, rax
cmp qword [rax + 0x20], 0
jbe 0x1400229dd
lea rcx, [rsp + 0x500]
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]
xor ebp, ebp
mov dword [rsp + 0x528], ebp
cmp qword [r12 + 0x28], 0x10
jb 0x140021e2f
mov rdx, qword [r12 + 0x10]
jmp 0x140021e34
lea rdx, [r12 + 0x10]
test rdx, rdx
je 0x140021e47
lea rcx, [rsp + 0x500]
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 + 0x518], 0x20
jne 0x140022318
mov byte [rsp + 0x5d0], 0
xor eax, eax
mov qword [rsp + 0x5d1], rax
mov qword [rsp + 0x5d9], rax
mov qword [rsp + CDaoTableDef::classCDaoTableDef], rax
mov qword [rsp + reloc.mfc90u.dll_CDaoWorkspace::classCDaoWorkspace], rax
mov qword [rsp + 0x5f1], rax
mov qword [rsp + 0x5f9], rax
mov qword [rsp + 0x601], rax
mov dword [rsp + 0x609], eax
mov word [rsp + CFileFind::Close], ax
mov byte [rsp + CFileFind::Close], al
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x5d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + reloc.mfc90u.dll_CDaoTableDef::classCDaoTableDef], rdx
mov ebx, ebp
mov r8d, ebp
lea r9, [rsp + 0x100]
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 0x140021f14
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140021f16
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140021f00
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x140021ef0
lea r8, [rsp + 0x5d2]
mov r9, r13
nop dword [rax]
movzx ecx, byte [r8 - 2]
mov eax, ebx
shr rax, 0x18
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0x100]
xor edx, ebx
movzx ecx, byte [r8 - 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0x100]
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 + 0x100]
xor edx, edi
movzx ecx, byte [r8 + 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x140021f40
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [r9 + 0x40]
lea rcx, [rsp + 0x5d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x8d0], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x8d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + reloc.mfc90u.dll_CDaoTableDef::classCDaoTableDef]
mov edx, 0x80
lea rcx, [rsp + 0x8d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x8d8], 0
mov dword [rsp + 0x74], ebp
lea r8, [rsp + 0x74]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x8d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
cmp dword [rsp + 0x74], ebx
jne 0x140022318
mov byte [rsp + DDX_FieldText], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x7d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5d0]
mov edx, 0x80
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + DDX_FieldText], 0
mov dword [rsp + 0x8c], ebp
lea r8, [rsp + 0x8c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x8c]
mov byte [rsp + 0x750], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x751]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5d8]
mov edx, 0x80
lea rcx, [rsp + 0x750]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x758], 0
mov dword [rsp + 0x84], ebp
lea r8, [rsp + 0x84]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x750]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov ebx, dword [rsp + 0x84]
mov byte [rsp + 0xa50], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0xa51]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x5e0]
mov edx, 0x80
lea rcx, [rsp + 0xa50]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0xa58], 0
mov dword [rsp + 0x7c], ebp
lea r8, [rsp + 0x7c]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0xa50]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edx, dword [rsp + 0x7c]
xor edi, edx
xor ebx, edx
cmp di, 0x1e
jne 0x140022318
shr edi, 0x10
cmp di, 1
jne 0x140022318
mov eax, 0x9a
cmp ebx, eax
je 0x1400221a8
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x140022318
mov byte [rsp + CHtmlView::Create], 0
xor eax, eax
mov qword [rsp + CHtmlView::Create], rax
mov qword [rsp + CLinkCtrl::Create], rax
mov qword [rsp + CMiniFrameWnd::Create], rax
mov qword [rsp + 0x6a9], rax
mov qword [rsp + reloc.mfc90u.dll_CRichEditCtrl::Create], rax
mov qword [rsp + 0x6b9], rax
mov qword [rsp + 0x6c1], rax
mov dword [rsp + 0x6c9], eax
mov word [rsp + 0x6cd], ax
mov byte [rsp + 0x6cf], al
lea r8, [rsp + 0x508]
cmp qword [rsp + 0x520], 0x10
cmovae r8, qword [rsp + 0x508]
lea edx, [rax + 0x40]
lea rcx, [rsp + 0x690]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + COleDocIPFrameWnd::DestroySharedMenu], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x851]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x698]
mov edx, 0x80
lea rcx, [rsp + 0x850]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + reloc.mfc90u.dll_COleControl::DestroyTracker], 0
mov dword [rsp + 0x88], ebp
lea r8, [rsp + 0x88]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x850]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x88]
mov byte [rsp + 0x6d0], 0
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x6d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x6a0]
mov edx, 0x80
lea rcx, [rsp + 0x6d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x6d8], 0
mov dword [rsp + 0x78], ebp
lea r8, [rsp + 0x78]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x6d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
xor edi, dword [rsp + 0x78]
mov eax, 0x9a
cmp edi, eax
je 0x140022318
cmp edi, 0x99
jne 0x140022318
lea rcx, [rsp + 0x500]
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 0x14002291e
lea rdx, [0x14008ac97]
lea rcx, [rsp + 0x540]
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 [r12 + 0x28], 0x10
jb 0x14002233d
mov rdi, qword [r12 + 0x10]
jmp 0x140022342
lea rdi, [r12 + 0x10]
call fcn.140007060
test rdi, rdi
je 0x14002237a
lea r8, [rsp + 0x540]
mov rdx, rdi
mov rcx, rax
call fcn.1400070e0
mov rbp, rax
test rax, rax
je 0x14002237a
lea rdx, [rsp + 0x540]
lea rcx, [r12 + 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 [r12 + 0x30], 0
je 0x1400223b1
cmp qword [r12 + 0x28], 0x10
jb 0x140022391
mov rdi, qword [r12 + 0x10]
jmp 0x140022396
lea rdi, [r12 + 0x10]
call fcn.140007060
lea r8, [r12 + 0x998]
mov rdx, rdi
mov rcx, rax
call fcn.140007f30
mov rbp, rax
test rbp, rbp
je 0x1400229b6
cmp qword [rbp + 0x18], 0x20
jne 0x1400229b6
mov byte [rsp + CFileFind::Close], 0
xor eax, eax
mov qword [rsp + reloc.mfc90u.dll_CFileFind::Close], rax
mov qword [rsp + 0x619], rax
mov qword [rsp + CFtpFileFind::CloseContext], rax
mov qword [rsp + CDocObjectServer::XOleDocumentView::CloseView], rax
mov qword [rsp + CDaoWorkspace::CommitTrans], rax
mov qword [rsp + CPropertySheet::CommonConstruct], rax
mov qword [rsp + ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase], rax
mov dword [rsp + COleControlSite::ConnectSink], eax
mov word [rsp + COleControlSite::ConnectSink], ax
mov byte [rsp + reloc.mfc90u.dll_COleControlSite::ConnectSink], al
cmp qword [rbp + 0x20], 0x10
jb 0x14002242d
lea rsi, [rbp + 8]
mov r8, qword [rsi]
jmp 0x140022434
lea rsi, [rbp + 8]
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0x610]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData], rdx
xor r12d, r12d
mov ebx, r12d
mov r8d, r12d
lea r9, [rsp + 0x100]
mov edx, r8d
shl edx, 0x18
mov ecx, r12d
mov rdi, r13
nop
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x140022484
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x140022486
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x140022470
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x140022462
lea r8, [rsp + 0x612]
mov r9, r13
nop dword [rax]
movzx ecx, byte [r8 - 2]
mov eax, ebx
shr rax, 0x18
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0x100]
xor edx, ebx
movzx ecx, byte [r8 - 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0x100]
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 + 0x100]
xor edx, edi
movzx ecx, byte [r8 + 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0x100]
xor ebx, edx
add r8, 4
sub r9, 1
jne 0x1400224b0
cmp qword [rbp + 0x20], 0x10
jb 0x14002252d
mov r8, qword [rsi]
jmp 0x140022530
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0x610]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + reloc.mfc90u.dll_CThemeHelper::CloseThemeData]
call fcn.1400040c0
cmp eax, ebx
jne 0x1400229b6
mov byte [rsp + COleClientItem::FinishCreate], r12b
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x9d1]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x610]
mov edx, 0x80
lea rcx, [rsp + 0x9d0]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x9d8], r12b
mov dword [rsp + 0x80], r12d
lea r8, [rsp + 0x80]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x9d0]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x80]
lea rcx, [rsp + 0x618]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0x620]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x1400229b6
shr edi, 0x10
cmp di, 1
jne 0x1400229b6
mov eax, 0x9a
cmp ebx, eax
je 0x140022611
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x1400229b6
cmp qword [rbp + 0x18], 0x20
jne 0x1400228f7
mov byte [rsp + CStatusBar::CalcFixedLayout], r12b
xor eax, eax
mov qword [rsp + CStatusBar::CalcFixedLayout], rax
mov qword [rsp + 0x599], rax
mov qword [rsp + 0x5a1], rax
mov qword [rsp + CDragListBox::CancelDrag], rax
mov qword [rsp + 0x5b1], rax
mov qword [rsp + CRichEditCtrl::CanPaste], rax
mov qword [rsp + 0x5c1], rax
mov dword [rsp + 0x5c9], eax
mov word [rsp + 0x5cd], ax
mov byte [rsp + 0x5cf], al
cmp qword [rbp + 0x20], 0x10
jb 0x140022680
mov r8, qword [rsi]
jmp 0x140022683
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0x590]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
xor edx, edx
mov qword [rsp + CDragListBox::CancelDrag], rdx
mov ebx, r12d
mov r8d, r12d
lea r9, [rsp + 0x100]
nop
mov edx, r8d
shl edx, 0x18
mov ecx, r12d
mov rdi, r13
nop dword [rax]
mov eax, ecx
xor eax, edx
bt eax, 0x1f
jae 0x1400226d4
add ecx, ecx
xor ecx, 0x4c10db7
jmp 0x1400226d6
add ecx, ecx
add edx, edx
sub rdi, 1
jne 0x1400226c0
mov dword [r9], ecx
inc r8d
add r9, 4
cmp r8d, 0x100
jb 0x1400226b0
lea r8, [rsp + 0x592]
nop dword [rax]
movzx ecx, byte [r8 - 2]
mov eax, ebx
shr rax, 0x18
xor rcx, rax
shl ebx, 8
mov edx, dword [rsp + rcx*4 + 0x100]
xor edx, ebx
movzx ecx, byte [r8 - 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov edi, dword [rsp + rcx*4 + 0x100]
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 + 0x100]
xor edx, edi
movzx ecx, byte [r8 + 1]
mov eax, edx
shr rax, 0x18
xor rcx, rax
shl edx, 8
mov ebx, dword [rsp + rcx*4 + 0x100]
xor ebx, edx
add r8, 4
sub r13, 1
jne 0x140022700
cmp qword [rbp + 0x20], 0x10
jb 0x14002277d
mov r8, qword [rsi]
jmp 0x140022780
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0x590]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0x5a8]
call fcn.1400040c0
cmp eax, ebx
jne 0x1400228f7
mov byte [rsp + 0x950], r12b
xor edx, edx
lea r8d, [rdx + 0x7f]
lea rcx, [rsp + 0x951]
call sub.MSVCR90.dll_memset
lea r8, [rsp + 0x590]
mov edx, 0x80
lea rcx, [rsp + 0x950]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
mov byte [rsp + 0x958], r12b
mov dword [rsp + 0x70], r12d
lea r8, [rsp + 0x70]
lea rdx, [0x14008be28]
lea rcx, [rsp + 0x950]
call qword [sym.imp.MSVCR90.dll_sscanf]
mov edi, dword [rsp + 0x70]
lea rcx, [rsp + 0x598]
call fcn.1400040c0
mov ebx, eax
lea rcx, [rsp + 0x5a0]
call fcn.1400040c0
xor edi, eax
xor ebx, eax
cmp di, 0x1e
jne 0x1400228f7
shr edi, 0x10
cmp di, 1
jne 0x1400228f7
mov edi, 0x9a
cmp ebx, edi
je 0x140022858
lea eax, [rbx - 0x99]
cmp eax, 4
ja 0x1400228f7
mov byte [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Construct], r12b
xor eax, eax
mov qword [rsp + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::Construct], rax
mov qword [rsp + CPropertySheet::Construct], rax
mov qword [rsp + COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp], rax
mov qword [rsp + 0x669], rax
mov qword [rsp + 0x671], rax
mov qword [rsp + COleServerItem::CopyToClipboard], rax
mov qword [rsp + 0x681], rax
mov dword [rsp + CDockBar::Create], eax
mov word [rsp + reloc.mfc90u.dll_CDockBar::Create], ax
mov byte [rsp + 0x68f], al
cmp qword [rbp + 0x20], 0x10
jb 0x1400228ba
mov rsi, qword [rsi]
mov r8, rsi
mov edx, 0x40
lea rcx, [rsp + 0x650]
call qword [sym.imp.MSVCR90.dll_strcpy_s]
lea rcx, [rsp + 0x658]
call fcn.1400040c0
mov r15d, eax
lea rcx, [rsp + 0x660]
call fcn.1400040c0
xor r15d, eax
cmp r15d, edi
cmove r15d, edi
lea rcx, [rsp + 0x540]
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 + 0x500]
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 r15d, 0x78
je 0x1400229e7
lea rdx, str.activation_key
lea rcx, [rsp + 0x540]
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
call fcn.140001270
mov rcx, rax
lea rdx, [rsp + 0x500]
call fcn.140004930
nop
cmp qword [rax + 0x20], 0x10
jb 0x140022957
mov rdx, qword [rax + 8]
jmp 0x14002295b
lea rdx, [rax + 8]
lea rcx, [rsp + 0x590]
call fcn.140034720
nop
mov r9, rax
lea r8, [rsp + 0x540]
mov rdx, r14
mov rdi, qword [rsp + 0x90]
mov rcx, rdi
call fcn.14001fa30
nop
lea rcx, [rsp + 0x590]
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 + 0x500]
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 + 0x540]
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]
jmp 0x1400229f9
lea rcx, [rsp + 0x540]
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 + 0x500]
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 rdi, qword [rsp + 0x90]
jmp 0x1400229f9
mov rdi, qword [rsp + 0x90]
jmp 0x1400229f9
mov rdi, qword [rsp + 0x90]
jmp 0x1400229f9
mov rdi, qword [rsp + 0x90]
lea rdx, str.os_version
lea rcx, [rsp + 0x540]
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 rcx, [rsp + 0x500]
call fcn.14001fc10
nop
mov r9, rax
lea r8, [rsp + 0x540]
mov rdx, r14
mov rcx, rdi
call fcn.14001fa30
nop
lea rcx, [rsp + 0x500]
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 + 0x540]
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 + 0x568]
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 + 0xa0]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140022a83
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
mov rcx, qword [rsp + 0xbd0]
xor rcx, rsp
call fcn.140077470
add rsp, 0xbe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret