Function at 0x180026100
Capabilities:
Capture screenshot

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov qword [rbp - 9], 0xfffffffffffffffe
mov qword [rsp + 0x138], rbx
mov rax, qword [0x1800f1020]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r15, r8
mov rbx, rdx
mov rsi, rcx
mov rcx, qword [rcx + reloc.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____]
test rcx, rcx
je 0x180026151
call qword [sym.imp.GDI32.dll_DeleteObject]
xor edi, edi
mov qword [rbp - 1], rdi
mov qword [rbp + 7], rdi
lea rdx, [rbp - 1]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
lea r9, [rbp - 1]
mov r8, rsi
mov rdx, rbx
mov rcx, rsi
call sym.Hg3DUiHU.dll_private:_void___cdecl_CHgImageBoxCtrl::CreateViews_class_CHg3DData____ptr64__class_CWnd____ptr64__class_CRect_const____ptr64____ptr64
mov rcx, qword [rsi + 0x140]
mov r14, qword [rsi + 0x148]
test rcx, rcx
je 0x18002644c
test r14, r14
je 0x18002644c
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call qword [sym.imp.mfc100u.dll_CMFCToolBar::FindDropIndex]
mov r12, rax
mov rcx, r14
call qword [sym.imp.Hg3DHU.dll_public:_class_CHg3DData____ptr64___cdecl_CHg3DCtrl::GetHg3DData_void____ptr64]
mov r13, rax
test rax, rax
je 0x18002644c
mov rbx, qword [rax]
mov rcx, r15
call qword [sym.imp.Hg3DEntityHU.dll_public:_static_int___cdecl_IEttBase::GetEttType_class_CEttBase_const____ptr64_]
mov edx, eax
lea r8d, [rdi + 1]
mov rcx, r13
call qword [rbx + ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >]
mov rbx, rax
test rax, rax
je 0x18002644c
mov r10, qword [r13]
lea r9d, [rdi + 1]
mov r8, r15
mov rdx, rax
mov rcx, r13
call qword [r10 + 0x148]
mov rcx, rbx
call qword [sym.imp.Hg3DEntityHU.dll_public:_static_int___cdecl_IEttBase::Create_class_CEttBase____ptr64_]
mov rcx, r14
call qword [sym.imp.Hg3DHU.dll_public:_class_CHg3DView____ptr64___cdecl_CHg3DCtrl::GetHg3DView_void____ptr64]
mov rcx, rax
call qword [sym.imp.Hg3DHU.dll_public:_void___cdecl_CHg3DView::Redraw_void____ptr64]
mov rcx, r14
call qword [sym.imp.Hg3DHU.dll_public:_class_CHg3DView____ptr64___cdecl_CHg3DCtrl::GetHg3DView_void____ptr64]
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x480]
mov qword [rbp + 0xf], rdi
mov qword [rbp + 0x17], rdi
mov rcx, r14
call qword [sym.imp.Hg3DHU.dll_public:_class_CHg3DView____ptr64___cdecl_CHg3DCtrl::GetHg3DView_void____ptr64]
lea rdx, [rbp + 0xf]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetClientRect]
mov r11d, dword [rbp + 0xb]
sub r11d, dword [rbp + 3]
mov dword [rbp - 0x5d], r11d
mov eax, dword [rbp + 7]
sub eax, dword [rbp - 1]
mov dword [rbp - 0x61], eax
mov rcx, r14
call qword [sym.imp.Hg3DHU.dll_public:_class_CHg3DView____ptr64___cdecl_CHg3DCtrl::GetHg3DView_void____ptr64]
mov rcx, rax
lea r8, [rbp - 0x5d]
lea rdx, [rbp - 0x61]
call qword [sym.imp.Hg3DHU.dll_unsigned_char____ptr64___cdecl_Hg3D_CaptureView_class_CHg3DView____ptr64__int_const____ptr64__int_const____ptr64_]
mov r13, rax
mov qword [rbp - 0x51], rdi
lea r14, vtable.CBitmap.0
mov qword [rbp - 0x59], r14
mov ecx, dword [rbp + 0xb]
sub ecx, dword [rbp + 3]
mov dword [rbp - 0x65], ecx
mov ecx, dword [rbp + 7]
sub ecx, dword [rbp - 1]
mov dword [rbp - 0x69], ecx
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
mov r9, r13
lea r8, [rbp - 0x65]
lea rdx, [rbp - 0x69]
mov rcx, r12
call qword [sym.imp.Hg3DHU.dll_int___cdecl_Hg3D_CreateBitmapByImageData_class_CDC____ptr64__int_const____ptr64__int_const____ptr64__unsigned_char_const____ptr64__class_CBitmap____ptr64_]
test r13, r13
je 0x1800262d2
mov rcx, r13
call qword [sym.imp.mfc100u.dll_delete__]
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [rbp - 0x49]
call qword [sym.imp.mfc100u.dll_CDaoRecordView::CDaoRecordView]
nop
test r12, r12
mov rcx, rdi
je 0x1800262f8
mov rcx, qword [r12 + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, rax
lea rcx, [rbp - 0x49]
call qword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::Append]
mov rdx, qword [rbp - 0x51]
mov rcx, qword [rbp - 0x41]
call qword [sym.imp.mfc100u.dll_CDataBoundProperty::RemoveSource]
mov rbx, rax
lea rcx, [rbp - 0x29]
call qword [sym.imp.mfc100u.dll_CDaoRecordView::CDaoRecordView]
nop
test r12, r12
mov rcx, rdi
je 0x180026334
mov rcx, qword [r12 + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, rax
lea rcx, [rbp - 0x29]
call qword [sym.imp.mfc100u.dll_ATL::CSimpleStringT_wchar_t_1_::Append]
mov r8d, dword [rbp + 0xb]
sub r8d, dword [rbp + 3]
mov edx, dword [rbp + 7]
sub edx, dword [rbp - 1]
add r8d, 3
add edx, 3
mov rcx, qword [r12 + 8]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov qword [rsi + reloc.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____], rax
mov rcx, rax
call qword [sym.imp.mfc100u.dll_CMFCRibbonStatusBar::FindElement]
test rax, rax
mov rdx, rdi
je 0x180026383
mov rdx, qword [rax + 8]
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.mfc100u.dll_CDataBoundProperty::RemoveSource]
mov r12, rax
mov edx, dword [rbp + 0xb]
sub edx, dword [rbp + 3]
mov r9d, dword [rbp + 7]
sub r9d, dword [rbp - 1]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov rcx, qword [rbp - 0x41]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
mov edx, 1
mov r8d, edx
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.GDI32.dll_BitBlt]
test r12, r12
mov rdx, rdi
je 0x1800263da
mov rdx, qword [r12 + 8]
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.mfc100u.dll_CDataBoundProperty::RemoveSource]
lea rcx, [rbp - 0x29]
call qword [sym.imp.mfc100u.dll_DDX_FieldLBIndex]
nop
lea rcx, [rbp - 0x29]
call qword [sym.imp.mfc100u.dll_CCommandLineInfo::CCommandLineInfo]
lea rcx, [rbp - 0x59]
call qword [sym.imp.mfc100u.dll_DDX_FieldText_1]
test rbx, rbx
je 0x18002640c
mov rdi, qword [rbx + 8]
mov rdx, rdi
mov rcx, qword [rbp - 0x41]
call qword [sym.imp.mfc100u.dll_CDataBoundProperty::RemoveSource]
lea rcx, [rbp - 0x49]
call qword [sym.imp.mfc100u.dll_DDX_FieldLBIndex]
nop
lea rcx, [rbp - 0x49]
call qword [sym.imp.mfc100u.dll_CCommandLineInfo::CCommandLineInfo]
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_InvalidateRect]
nop
mov qword [rbp - 0x59], r14
lea rcx, [rbp - 0x59]
call fcn.180013b70
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.180030d20
mov rbx, qword [rsp + 0x138]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret