Function at 0x18000a010
Capabilities:
Inspect load icon resource

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x960]
sub rsp, 0xa60
mov rax, qword [0x18002b040]
xor rax, rsp
mov qword [rbp + 0x958], rax
mov r14, r8
mov r13, rdx
mov rdi, rcx
xor r12d, r12d
mov qword [rcx + 0x2b38], r8
test r8, r8
je 0x18000a094
mov rax, qword [r8 + 0x120]
mov ebx, dword [rax + 0x100]
mov rax, qword [r8 + 0xf0]
mov r15d, dword [rax]
mov eax, r15d
test r15d, r15d
jns 0x18000a07d
mov eax, dword [rcx + 0x510]
cmp eax, dword [rcx + 0x514]
jge 0x18000a09c
cdqe
imul rsi, rax, 0x78
add rsi, qword [rcx + 0x2b30]
jmp 0x18000a09e
mov ebx, 0xffffffff
mov r15d, ebx
xor esi, esi
lea rcx, [rsp + 0x70]
call fcn.180004a90
nop
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov rdx, rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_char_StrTraitMFC_DLL_char_ATL::ChTraitsCRT_char_]
mov ecx, dword [rbp - 0x74]
call qword [sym.imp.GDI32.dll_CreateSolidBrush]
mov rdx, rax
lea rcx, [rbp + 0x938]
call qword [sym.imp.mfc140u.dll_CRecordset::AppendFilterAndSortSQL]
mov qword [rsp + 0x48], 0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x40], 0x28
mov dword [rsp + 0x44], 2
mov rax, qword [rbp + 0x940]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_SetMenuInfo]
sub ebx, 1
je 0x18000a134
sub ebx, 1
je 0x18000a8da
sub ebx, 1
je 0x18000a6dc
cmp ebx, 1
jne 0x18000a273
test rsi, rsi
je 0x18000a273
cmp dword [rsi + 4], 3
jne 0x18000a273
lea rdx, [0x180021868]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, reloc.mfc140u.dll_CMFCRibbonStatusBar::Create
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xcef
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcef
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], reloc.mfc140u.dll_CMFCRibbonStatusBar::Create
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], 0
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, reloc.mfc140u.dll_CMFCRibbonStatusBar::Create
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rdx, [rdi + 0x5c8]
mov r8d, r15d
call fcn.18000d4d0
test eax, eax
js 0x18000a26d
mov edx, reloc.mfc140u.dll_CMFCRibbonStatusBar::Create
mov r8d, 1
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov r12d, 1
mov rcx, qword [rdi + 0xb50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x18000aaff
lea rdx, [0x180021870]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, 0xc8e
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xcf3
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcf3
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], 0xc8e
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
xor r15d, r15d
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, 0xc8e
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
test rsi, rsi
je 0x18000a5a9
mov eax, dword [rsi + 4]
cmp eax, 1
je 0x18000a3b5
test eax, eax
jne 0x18000a5a9
mov eax, dword [rdi + 0xb94]
cmp dword [r14 + 0x12c], eax
jne 0x18000a5a9
lea rdx, [0x180021878]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, 0xc8f
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xcf4
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcf4
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], 0xc8f
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, 0xc8f
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rdx, [0x180021880]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, 0xc90
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xcf5
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcf5
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], 0xc90
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, 0xc90
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rdx, [0x180021888]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, 0xc91
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xce4
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xce4
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], 0xc91
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], 1
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, 0xc91
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov edx, dword [rdi + 0x804]
mov ebx, r15d
mov ecx, dword [rbp + 0x948]
test ecx, ecx
jle 0x18000ab02
lea rax, [rbp - 0x38]
cmp dword [rax], 0xc91
je 0x18000aad1
inc ebx
add rax, 0x18
cmp ebx, ecx
jl 0x18000a6c1
jmp 0x18000ab02
lea rdx, [0x180021868]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, reloc.mfc140u.dll_CMFCRibbonStatusBar::Create
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xcef
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcef
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], reloc.mfc140u.dll_CMFCRibbonStatusBar::Create
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
xor r15d, r15d
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, reloc.mfc140u.dll_CMFCRibbonStatusBar::Create
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rdx, [0x180021858]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, CMFCRibbonStatusBar::Create
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
lea edx, [r15 + 0xe]
mov ecx, 0xcf1
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcf1
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
lea edx, [r15 - 1]
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], CMFCRibbonStatusBar::Create
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, CMFCRibbonStatusBar::Create
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea r12d, [r15 + 1]
jmp 0x18000ab02
lea rdx, [0x180021858]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, CMFCRibbonStatusBar::Create
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xcf1
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcf1
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], CMFCRibbonStatusBar::Create
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
xor r15d, r15d
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, CMFCRibbonStatusBar::Create
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rdx, [0x180021860]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, 0xc8d
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
lea edx, [r15 + 0xe]
mov ecx, 0xcf0
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xcf0
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
lea edx, [r15 - 1]
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], 0xc8d
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, 0xc8d
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
jmp 0x18000ab02
test ebx, ebx
js 0x18000ab02
neg edx
sbb r8d, r8d
and r8d, 8
mov edx, 0xc91
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_CheckMenuItem]
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], 1
jmp 0x18000ab02
xor r15d, r15d
mov rcx, qword [rdi + 0xb50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x18000ac7a
lea rdx, [0x180021898]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, 0xc82
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xce4
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xce4
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], CMFCReBar::Create
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], 1
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, 0xc82
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov ebx, r15d
mov ecx, dword [rbp + 0x948]
test ecx, ecx
jle 0x18000ac7a
lea rax, [rbp - 0x38]
nop dword [rax]
cmp dword [rax], 0xc82
je 0x18000ac44
inc ebx
add rax, 0x18
cmp ebx, ecx
jl 0x18000ac30
jmp 0x18000ac7a
test ebx, ebx
js 0x18000ac7a
mov r8d, r15d
mov eax, 8
cmp dword [rdi + 0x52c], 0
cmove r8d, eax
mov edx, 0xc82
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_CheckMenuItem]
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], 1
lea rdx, [0x1800218a0]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov edx, 0x100
mov r8d, 0xc80
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
call qword [sym.imp.mfc140u.dll_AfxFieldText]
mov edx, select
mov ecx, 0xce5
call qword [sym.imp.mfc140u.dll_AfxCriticalNewHandler]
mov rcx, rax
mov edx, 0xce5
call qword [sym.imp.USER32.dll_LoadIconW]
mov r8, rax
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x930]
call qword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x38], 0xc80
movsxd rcx, dword [rbp + 0x948]
lea rdx, [rcx + rcx*2]
mov dword [rbp + rdx*8 - 0x34], eax
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
mov dword [rbp + rcx*8 - 0x30], r15d
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x28]
lea rcx, [rax + rcx*8]
mov rdx, rbx
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
movsxd rax, dword [rbp + 0x948]
lea rcx, [rax + rax*2]
lea rax, [rbp - 0x38]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x20], rax
mov edx, 0xc80
mov r9d, edx
mov r8d, 0x100
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_ModifyMenuW]
inc dword [rbp + 0x948]
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
test r12d, r12d
je 0x18000ae0a
cmp dword [rdi + reloc.mfc140u.dll_CAsyncMonikerFile::Open], 0
je 0x18000adbb
lea rdx, [0x18001a2f0]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__3]
mov rbx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x900
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_AppendMenuW]
nop
mov rcx, rbx
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
lea rsi, [rdi + 0x2b88]
mov ebx, r15d
cmp dword [rdi + reloc.mfc140u.dll_CAsyncMonikerFile::Open], 0
jle 0x18000ae0a
nop
movsxd rdx, ebx
shl rdx, 4
add rdx, rsi
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__4]
lea edx, [rbx + 0xcb2]
mov dword [rsp + 0x20], r15d
mov r9, rax
xor r8d, r8d
lea rcx, [rsp + 0x70]
call fcn.180004d60
inc ebx
cmp ebx, dword [rdi + reloc.mfc140u.dll_CAsyncMonikerFile::Open]
jl 0x18000add0
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
mov r9d, dword [r13 + 4]
mov r8d, dword [r13]
mov edx, 2
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc140u.dll_CMFCFilterChunkValueImpl::SetSystemTimeValue]
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc140u.dll_DDX_Text_1]
nop
lea rax, vtable.CMenuEx.0
mov qword [rsp + 0x70], rax
lea rcx, [rbp + reloc.mfc140u.dll_AfxRegDeleteKey]
call qword [sym.imp.mfc140u.dll_CGlobalUtils::DecimalFromString]
mov rcx, qword [rbp + 0x940]
call qword [sym.imp.GDI32.dll_DeleteObject]
lea rax, vtable.CBrush.0
mov qword [rbp + 0x938], rax
lea rcx, [rbp + 0x938]
call fcn.180004950
lea rcx, [rbp + reloc.mfc140u.dll_AfxRegDeleteKey]
call qword [sym.imp.mfc140u.dll_CFormView::CFormView]
lea r9, [0x180004c30]
mov edx, 0x18
lea r8d, [rdx + 0x4c]
lea rcx, [rbp - 0x38]
call fcn.1800151f0
nop
lea rax, vtable.CMenu.0
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.mfc140u.dll_DDX_Text_1]
nop
mov rcx, qword [rbp + 0x958]
xor rcx, rsp
call fcn.1800151d0
mov rbx, qword [rsp + 0xab8]
add rsp, 0xa60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret