joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14020705c
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov ebp, r8d
mov rbx, rdx
mov rsi, rcx
mov rdx, rcx
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__11]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CPngImage::LoadFromBuffer]
xor r8d, r8d
lea rdx, str.wnew.chm
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CDocObjectServer::XOleObject::EnumAdvise]
cmp eax, 0xffffffff
je 0x1402070ea
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___2]
mov r8, rax
call fcn.1400624b8
mov ebx, 1
mov dword [rsp + 0x28], ebx
xor edi, edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor edx, edx
mov rcx, rax
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
jmp 0x1402071ba
mov rdx, rsi
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__11]
nop
xor edi, edi
test ebp, ebp
jne 0x140207121
test rbx, rbx
je 0x140207121
cmp word [rbx], di
je 0x140207121
mov r9, rbx
mov r8, rsi
lea rdx, str._s::__s.htm
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CMFCZoomKernel::Filter]
or ecx, 0xffffffff
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___2]
mov rsi, rax
mov ebx, 1
mov cl, bl
call fcn.140241100
test rax, rax
je 0x140207156
mov rdx, rsi
mov rcx, rax
call fcn.14024186c
jmp 0x1402071ae
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___2]
mov rbx, rax
call qword [sym.imp.USER32.dll_GetDesktopWindow]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.14007f9a4
mov rsi, rax
mov rcx, qword [0x1404c04d8]
cmp rax, rcx
je 0x1402071a6
test rcx, rcx
je 0x14020719f
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [0x1404c04d8], rsi
mov ebx, edi
test rsi, rsi
setne bl
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov eax, ebx
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140088c50
mov rbx, qword [rsp + 0x80]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
Function at 0x1402076a4
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x100
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rdi, rdx
mov rbx, rcx
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp - 0x29]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], rax
lea rdx, [rbx + 0x28]
lea r8, [0x1403300cc]
lea rcx, [rbp - 0x59]
call fcn.140037a38
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp - 0x39]
call fcn.1400392cc
nop
lea rcx, [rbp - 0x59]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov edx, 0x400
lea rcx, [rbp - 0x39]
call qword [sym.imp.mfc140u.dll_Ordinal_4946]
lea rcx, [rbp - 0x51]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp - 0x29]
mov qword [rsp + 0x40], rcx
xor edi, edi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov ebx, eax
or edx, 0xffffffff
lea rcx, [rbp - 0x39]
call qword [sym.imp.mfc140u.dll_CDialogImpl::ProcessMouseClick]
test ebx, ebx
je 0x14020778d
mov rcx, qword [rbp - 0x51]
cmp rcx, 0xffffffffffffffff
je 0x14020778a
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dil, 1
lea rcx, [rbp - 0x39]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov al, dil
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.140088c50
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret

Function at 0x1402089fc
Capabilities:
Open clipboard

Disassembly:
push rbx
sub rsp, 0x20
mov rcx, qword [rcx + 0x40]
xor ebx, ebx
call qword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x140208a37
lea ecx, [rbx + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x140208a2c
lea ecx, [rbx + 7]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x140208a31
mov ebx, 1
call qword [sym.imp.USER32.dll_CloseClipboard]
mov eax, ebx
add rsp, 0x20
pop rbx
ret
Function at 0x14020a17c
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
call qword [sym.imp.mfc140u.dll_AfxFieldText]
xor ebx, ebx
cmp qword [rax + 8], rbx
je 0x14020a1fb
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov rdx, qword [rax + 8]
cmp qword [rdx + 0x40], rbx
je 0x14020a1fb
test rsi, rsi
je 0x14020a260
cmp word [rsi], bx
je 0x14020a260
mov rcx, rsi
call fcn.14000f130
lea ecx, [rbx + 0x42]
lea ebp, [rax + 1]
mov edx, ebp
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rdi, rax
test rax, rax
je 0x14020a1fb
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
test rax, rax
jne 0x14020a212
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalFree]
xor al, al
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
movsxd rdx, ebp
mov r8, rsi
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x14020a241
mov rbx, qword [rax + 0x40]
mov rcx, rbx
call qword [sym.imp.USER32.dll_OpenClipboard]
call qword [sym.imp.USER32.dll_EmptyClipboard]
mov rdx, rdi
mov ecx, SafeArrayDestroy
call qword [sym.imp.USER32.dll_SetClipboardData]
jmp 0x14020a286
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x14020a277
mov rbx, qword [rax + 0x40]
mov rcx, rbx
call qword [sym.imp.USER32.dll_OpenClipboard]
call qword [sym.imp.USER32.dll_EmptyClipboard]
call qword [sym.imp.USER32.dll_CloseClipboard]
mov al, 1
jmp 0x14020a1fd
Function at 0x1402226c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, r8
mov r14, rcx
call qword [sym.imp.accore.dll_public:_static_bool___cdecl_CCmdThroat::IsQuiescent_void_]
xor esi, esi
test al, al
je 0x1402227c7
call qword [sym.imp.accore.dll_bool___cdecl_inPlotPreview_void_]
test al, al
jne 0x1402227c7
mov rcx, qword [r14 + 0x108]
call qword [sym.imp.accore.dll_public:_static_class_AcApViewImp____ptr64___cdecl_AcApViewImp::getImp_class_AcApView____ptr64_]
mov rcx, rax
call qword [sym.imp.accore.dll_public:_class_AcApOleClientItem____ptr64___cdecl_AcApViewImp::GetSelection_void_const___ptr64]
mov rbp, rax
test rax, rax
je 0x1402227c7
xor edx, edx
mov rcx, rax
call qword [sym.imp.accore.dll_public:_class_AcDbOle2Frame____ptr64___cdecl_AcApOleClientItem::getOleEntity_int____ptr64]
test rax, rax
je 0x1402227c7
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1402227c7
mov dil, byte [rcx + 0x1ca]
mov rcx, rax
call qword [sym.imp.acdb24.dll_public:_enum_Acad::ErrorStatus___cdecl_AcDbObject::close_void____ptr64]
mov rcx, rbp
call qword [sym.imp.accore.dll_public_virtual:_class_COleClientItem____ptr64___cdecl_AcApOleClientItem::getCOleClientItem_void____ptr64]
mov r15, rax
test dil, dil
je 0x1402227c7
mov rdx, rbx
mov rcx, rax
call fcn.14029484c
test eax, eax
je 0x1402227c7
call qword [sym.imp.accore.dll_public:_static_class_AcDisplay____ptr64___cdecl_AcDisplay::curDisplay_void_]
test rax, rax
je 0x140222784
lea rcx, [rax + 0x10]
call qword [sym.imp.accore.dll_public:_void___cdecl_AcCursor::clear_void____ptr64]
mov rcx, r14
call qword [sym.imp.mfc140u.dll_Ordinal_2514]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0xfffffffe
mov r8, r14
test ax, ax
mov rax, qword [r15]
cmovs esi, ecx
xor r9d, r9d
mov edx, esi
mov rcx, r15
call qword [rax + VarDecRound]
mov rcx, r14
call qword [sym.imp.mfc140u.dll_CMFCColorMenuButton::EnableAutomaticButton]
mov eax, 1
jmp 0x1402227c9
xor eax, eax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x140223e74
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
cmp edx, 0x56
jne 0x140223f1a
xor edx, edx
lea rcx, str.CLASSICKEYS
call qword [sym.imp.acdb24.dll_public:_static_bool___cdecl_AcRxVariablesDictionary::getBool_wchar_t_const____ptr64__bool_]
test al, al
jne 0x140223f1a
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x140223f1a
mov ecx, SafeArrayGetLBound
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x140223f1a
call fcn.140041348
test rax, rax
je 0x140223ed6
xor edx, edx
mov rcx, rax
call qword [sym.imp.accore.dll_public:_int___cdecl_AcApViewImp::IsAcadInFormats_class_COleDataObject____ptr64____ptr64]
test eax, eax
jne 0x140223f1a
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call qword [sym.imp.mfc140u.dll_CMFCRibbonComboBox::FindItem]
test rax, rax
je 0x140223f1a
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call qword [sym.imp.mfc140u.dll_CMFCRibbonComboBox::FindItem]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x302
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov al, 1
jmp 0x140223f1c
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x140223f28
Capabilities:
Get keyboard layout

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov edi, edx
mov rsi, rcx
call qword [sym.imp.accore.dll_bool___cdecl_IPEIsActive_void_]
test al, al
je 0x140223f75
mov rax, qword [rbp - 0x59]
lea rcx, [rbp - 0x51]
mov qword [rbp - 0x51], rax
call qword [sym.imp.accore.dll_void___cdecl_IPEGetInsertPoint_class_AcPoint_int_____ptr64_]
mov rax, qword [rbp - 0x51]
mov qword [rbp - 0x59], rax
jmp 0x140223f7f
lea rcx, [rbp - 0x59]
call qword [sym.imp.USER32.dll_GetCaretPos]
mov rcx, rsi
call qword [sym.imp.IMM32.dll_ImmGetContext]
xor ecx, ecx
mov rbx, rax
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov ecx, 0x412
cmp ax, cx
jne 0x140223fae
mov ecx, dword [rbp - 0x55]
mov edx, edi
neg edx
lea r8d, [rcx + rdx*2]
mov dword [rbp - 0x55], r8d
jmp 0x140223fb2
mov r8d, dword [rbp - 0x55]
mov eax, dword [rbp - 0x59]
lea rdx, [rbp - 0x49]
mov rcx, rbx
mov dword [rbp - 0x45], eax
mov dword [rbp - 0x49], 2
mov dword [rbp - 0x41], r8d
call qword [sym.imp.IMM32.dll_ImmSetCompositionWindow]
lea rdx, [rbp - 0x29]
mov rcx, rbx
call qword [sym.imp.IMM32.dll_ImmGetCompositionFontW]
lea rdx, [rbp - 0x29]
mov dword [rbp - 0x29], edi
mov rcx, rbx
call qword [sym.imp.IMM32.dll_ImmSetCompositionFontW]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.IMM32.dll_ImmReleaseContext]
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140088c50
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop rdi
pop rsi
pop rbp
ret
Function at 0x14022b560
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, rcx
xor edi, edi
lea ecx, [rdi + 0x10]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
mov ebx, edi
sets bl
call qword [sym.imp.accore.dll_class_AcDocGlobals____ptr64___cdecl_GetDocGlobals_void_]
mov rcx, rax
call qword [sym.imp.accore.dll_public:_class_AcRegenGlobals____ptr64___cdecl_AcDocGlobals::regenGlobals_void____ptr64]
mov rsi, rax
test ebx, ebx
je 0x14022b5a7
mov edi, 4
jmp 0x14022b5de
call fcn.14022ed8c
test eax, eax
je 0x14022b5b7
mov edi, 3
jmp 0x14022b5de
call fcn.14022eeac
test eax, eax
je 0x14022b5c7
mov edi, 2
jmp 0x14022b5de
lea rcx, [rsi + 0x2d0]
call qword [sym.imp.accore.dll_public:_bool___cdecl_SSet::is_empty_void_const___ptr64]
test al, al
mov ecx, 1
cmove edi, ecx
mov rbx, qword [rsp + 0x30]
mov eax, edi
mov rsi, qword [rsp + 0x40]
mov dword [rbp + 0x30], edi
mov rbp, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x14022c360
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
mov rsi, rcx
mov rdi, r8
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rbp, rdx
call qword [sym.imp.USER32.dll_GetKeyState]
xor r14d, r14d
test ax, ax
mov ebx, r14d
sets bl
lea ecx, [r14 + 0x11]
call qword [sym.imp.USER32.dll_GetKeyState]
mov rcx, qword [rsi + 0xc0]
mov r8d, r14d
test ax, ax
sets r8b
test rcx, rcx
je 0x14022c403
test ebx, ebx
jne 0x14022c403
test r8d, r8d
jne 0x14022c403
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14022c403
mov rcx, rbp
call qword [sym.imp.AcPal.dll_public:_void____ptr64___cdecl_Autodesk::AutoCAD::PAL::WindowingSystem::WindowHandle::rawNativePtr_void_const___ptr64]
movzx ecx, word [rdi]
lea edx, [rbx + 0x7b]
movzx r9d, word [rdi + 4]
mov r8, rax
shl r9, 0x10
or r9, rcx
mov rcx, qword [rsi + 0xc0]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_PostMessageW]
mov al, 1
jmp 0x14022c405
xor al, al
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
Function at 0x14023814c
Capabilities:
Decode data using base64 via winapi

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r15, rdx
xor edi, edi
mov qword [rbp + 0x17], rdi
mov rdx, rcx
lea rcx, [rbp - 0x19]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__5]
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0x17]
call fcn.140035aec
lea rcx, [rbp - 0x19]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov dword [rbp + 0xf], edi
lea rcx, [rbp + 0x17]
call qword [sym.imp.ac1st24.dll_public:_char_const____ptr64___cdecl_AcString::utf8Ptr_void_const___ptr64]
mov rcx, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
lea rax, [rbp + 0xf]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor edx, edx
lea r8d, [rdi + 1]
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x1402382fc
mov ecx, dword [rbp + 0xf]
call qword [sym.imp.mfc140u.dll_operator_1]
mov r14, rax
test rax, rax
je 0x1402382fc
xor eax, eax
mov qword [r14], rax
lea rcx, [rbp + 0x17]
call qword [sym.imp.ac1st24.dll_public:_char_const____ptr64___cdecl_AcString::utf8Ptr_void_const___ptr64]
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.1400201f0
mov ebx, dword [rax + 0x10]
lea rcx, [rbp - 0x11]
call fcn.14001a4b0
lea rcx, [rbp + 0x17]
call qword [sym.imp.ac1st24.dll_public:_char_const____ptr64___cdecl_AcString::utf8Ptr_void_const___ptr64]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
lea rcx, [rbp + 0xf]
mov qword [rsp + 0x20], rcx
mov r9, r14
lea r8d, [rdi + 1]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
test eax, eax
je 0x1402382ef
xor edx, edx
xor ecx, ecx
call qword [sym.imp.SHLWAPI.dll_SHCreateMemStream]
mov rbx, rax
test rax, rax
je 0x140238268
mov rax, qword [rax]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov dword [rbp + 0x1f], edi
test rbx, rbx
jne 0x14023827b
mov ecx, 0x80004003
call fcn.140089dd0
int3
mov rax, qword [rbx]
lea r9, [rbp + 0x1f]
mov r8d, dword [rbp + 0xf]
mov rdx, r14
mov rcx, rbx
call qword [rax + GetActiveObject]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call qword [sym.imp.gdiplus.dll_GdipAlloc]
test rax, rax
je 0x1402382be
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rcx
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.140237784
mov rsi, rax
jmp 0x1402382c1
mov rsi, rdi
mov rdx, r15
mov rcx, qword [rsi + 8]
call qword [sym.imp.gdiplus.dll_GdipCreateHICONFromBitmap]
test eax, eax
je 0x1402382d5
mov dword [rsi + 0x10], eax
mov rax, qword [rsi]
mov edx, 1
mov rcx, rsi
call qword [rax]
mov dil, 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov edx, 1
mov rcx, r14
call fcn.140088c70
lea rcx, [rbp + 0x17]
call qword [sym.imp.ac1st24.dll_public:_void___cdecl_AcString::destructor_void____ptr64]
mov al, dil
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140088c50
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x140238cbc
Capabilities:
Log keystrokes via application hook

Disassembly:
sub rsp, 0x28
mov rcx, r8
call qword [sym.imp.acdb24.dll_public:_struct_resbuf_const____ptr64___cdecl_AcRxVariableChangedEventArgs::newValue_void_const___ptr64]
mov ecx, CBasePane::get_accState
cmp word [rax + 8], cx
jne 0x140238ce9
cmp word [rax + 0x10], 1
jne 0x140238ce4
add rsp, 0x28
jmp fcn.140069ac4
call fcn.140069874
add rsp, 0x28
ret

Function at 0x14023a600
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, rdx
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetKeyState]
mov rdx, rbx
mov rcx, rdi
test ax, ax
jns 0x14023a633
mov r8d, 1
call fcn.140238f30
jmp 0x14023a646
call fcn.140239138
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.14023a238
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14023a654
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
lea rdi, [rcx + 0x130]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rbx, rdx
call qword [sym.imp.USER32.dll_GetKeyState]
xor ebp, ebp
test ax, ax
js 0x14023a6a4
cmp dword [rdi], ebp
je 0x14023a696
mov rdx, rbx
mov rcx, rsi
call fcn.140239138
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.14023a238
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14023a6c9
cmp dword [rdi], ebp
jne 0x14023a6c9
mov r8d, 1
mov rdx, rbx
mov rcx, rsi
call fcn.14023a238
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140241154
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x60
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, rcx
call qword [sym.imp.accore.dll_thisProgram]
mov r9, rax
mov r8d, 9
lea rdx, str._.s.dhlp
lea rcx, [rsp + 0x30]
call fcn.14001a998
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__11]
nop
xor ebx, ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.acdb24.dll_class_AcDbHostApplicationServices____ptr64___cdecl_acdbHostApplicationServices_void_]
mov rcx, rax
mov rax, qword [rax]
lea rdx, [rsp + 0x20]
call qword [rax + 0x48]
test eax, eax
jne 0x1402411f4
mov rdx, qword [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call qword [sym.imp.mfc140u.dll_Ordinal_1667]
mov rcx, rdi
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___2]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1402411f4
mov bl, 1
lea rcx, [rsp + 0x28]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov al, bl
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140088c50
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rdi
ret

Function at 0x140241cf4
Capabilities:
Create process on windows

Disassembly:
sub rsp, 0x48
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rsp + 0x30]
call fcn.140241384
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CDumpContext::operator___2]
mov r8, rax
mov dword [rsp + 0x28], 1
and qword [rsp + 0x20], 0
xor r9d, r9d
lea rdx, str.open
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140088c50
add rsp, 0x48
ret
Function at 0x140242620
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x30]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rbp - 0x30]
call fcn.1402414dc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rax
lea r8, [rbp - 0x30]
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x28]
call qword [sym.imp.adui24.dll_public:_void___cdecl_CAdUiRegistryAccess::constructor_struct_HKEY______ptr64__class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.adui24.dll_public:_struct_HKEY______ptr64___cdecl_CAdUiRegistryAccess::operator_struct_HKEY______ptr64_void_const___ptr64]
xor ebx, ebx
test rax, rax
je 0x140242734
mov qword [rbp - 0x38], rbx
lea rdx, str.HelpFolder
lea rcx, [rbp - 0x50]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__11]
nop
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x28]
call qword [sym.imp.adui24.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______cdecl_CAdUiRegistryAccess::GetString_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const____ptr64____ptr64]
nop
lea r8, str.index.html
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.140037a38
nop
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.140035aec
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x140242729
mov rdx, qword [rbp - 0x38]
lea rcx, str.HELPPREFIX
call qword [sym.imp.acdb24.dll_public:_static_enum_Acad::ErrorStatus___cdecl_AcRxVariablesDictionary::setString_wchar_t_const____ptr64__wchar_t_const____ptr64_]
lea rcx, [rbp - 0x28]
call qword [sym.imp.adui24.dll_public_virtual:_void___cdecl_CAdUiRegistryAccess::Close_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.ac1st24.dll_public:_void___cdecl_AcString::destructor_void____ptr64]
mov bl, 1
jmp 0x140242734
lea rcx, [rbp - 0x38]
call qword [sym.imp.ac1st24.dll_public:_void___cdecl_AcString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.adui24.dll_public_virtual:_void___cdecl_CAdUiRegistryAccess::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov al, bl
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140088c50
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rbp
ret