Function at 0x140035fb0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
movzx edx, dx
jmp method.BCMenu.virtual_48
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov qword [rsp + 0xe0], rbx
mov rdi, rdx
mov r12, rcx
xor r13d, r13d
mov dword [rbp + 0x77], r13d
call fcn.140155310
mov rbx, qword [rax + 0x18]
lea r8d, [r13 + 4]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
jne 0x140036037
mov ebx, r13d
lea r8d, [r13 + 4]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
jne 0x140036037
xor eax, eax
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rbx, rax
test rax, rax
je 0x14003601a
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x38]
call qword [sym.imp.USER32.dll_CreateMenu]
mov rdx, rax
mov rcx, r12
call fcn.14016a604
test eax, eax
je 0x14003601a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LockResource]
movzx ecx, word [rax + 2]
lea rdi, [rax + 4]
add rdi, rcx
lea rcx, [rbp - 0x41]
call fcn.14016cbb0
lea rax, vtable.CTypedPtrArray_class_CPtrArray__class_BCMenu____ptr64_.0
mov qword [rbp - 0x41], rax
lea rax, vtable.CArray_int__int_.0
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], r13
mov qword [rbp + 0xf], r13
mov qword [rbp + 7], r13
mov qword [rbp - 1], r13
mov r8, r12
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp - 0x41]
call fcn.14016ce54
mov edx, 1
lea r8, [rdx - 2]
lea rcx, [rbp - 0x11]
call fcn.1400392e0
mov r15, qword [rbp - 9]
mov dword [r15], r13d
mov rbx, qword [rbp - 1]
mov edx, 2
movzx r14d, word [rdi]
movzx esi, r14w
and si, 0x10
jne 0x1400360f2
movzx r13d, word [rdi + 2]
mov eax, 4
test si, si
cmovne rax, rdx
add rdi, rax
movzx eax, r14w
test al, 0x80
lea ecx, [rax - 0x80]
cmove ecx, eax
mov dword [rbp + 0x7f], ecx
mov r8, 0xffffffffffffffff
mov rcx, r8
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x140036120
inc rcx
mov rax, rdx
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.140153a84
mov qword [rbp - 0x19], rax
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp word [rdi + rdx*2], 0
jne 0x140036150
inc rdx
mov r8, rdi
mov rcx, rax
call fcn.1402f386c
mov rax, 0xffffffffffffffff
nop
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x140036170
lea rdi, [rdi + rax*2]
add rdi, 2
mov qword [rbp - 0x49], rdi
test si, si
je 0x1400362a8
test r14b, r14b
jns 0x1400361b4
mov rax, qword [rbp - 0x31]
sub rax, 1
js 0x140036572
cmp rax, rbx
jge 0x140036572
mov dword [r15 + rax*4], 1
mov ecx, 0x90
call fcn.140153a34
mov qword [rbp + 0x1f], rax
test rax, rax
je 0x1400361d4
mov rcx, rax
call fcn.140032850
mov rdi, rax
jmp 0x1400361d6
xor edi, edi
mov eax, dword [r12 + 0x80]
mov dword [rdi + 0x80], eax
mov eax, dword [r12 + 0x7c]
mov dword [rdi + 0x7c], eax
mov rax, qword [r12 + 0x70]
mov qword [rdi + 0x70], rax
mov dword [rdi + 0x78], 1
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov rdx, rax
mov rcx, rdi
call fcn.14016a604
mov rcx, qword [rbp - 0x31]
lea rax, [rcx - 1]
test rax, rax
js 0x14003657e
cmp rax, rcx
jge 0x14003657e
mov r9d, dword [rdi + 8]
mov r8d, dword [rbp + 0x7f]
mov r13, qword [rbp - 0x19]
mov rdx, r13
mov rcx, qword [rbp - 0x39]
mov rcx, qword [rcx + rax*8]
call fcn.140035970
mov r8, rdi
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp - 0x41]
call fcn.14016ce54
test rbx, rbx
js 0x140036578
lea rdx, [rbx + 1]
mov r14, 0xffffffffffffffff
mov r8, r14
lea rcx, [rbp - 0x11]
call fcn.1400392e0
mov r15, qword [rbp - 9]
mov dword [r15 + rbx*4], 0
mov rbx, qword [rbp - 1]
mov rdi, qword [rbp - 0x49]
mov rcx, r13
call fcn.140153a7c
mov rax, qword [rbp - 0x31]
dec rax
cmp rax, 0xffffffffffffffff
je 0x1400363c4
xor r13d, r13d
jmp 0x1400360da
mov rcx, qword [rbp - 0x31]
lea rax, [rcx - 1]
test rax, rax
js 0x14003656c
cmp rax, rcx
jge 0x14003656c
movzx r9d, r13w
mov r8d, dword [rbp + 0x7f]
mov r13, qword [rbp - 0x19]
mov rdx, r13
mov rcx, qword [rbp - 0x39]
mov rcx, qword [rcx + rax*8]
call fcn.140035970
test r14b, r14b
jns 0x140036302
mov rax, qword [rbp - 0x31]
sub rax, 1
js 0x140036584
cmp rax, rbx
jge 0x140036584
mov dword [r15 + rax*4], 1
mov rcx, qword [rbp - 0x31]
lea esi, [rcx - 1]
test esi, esi
js 0x140036287
movsxd rdi, esi
test rdi, rdi
js 0x140036596
cmp rdi, rbx
jge 0x140036596
cmp dword [r15 + rdi*4], 0
je 0x140036283
lea rax, [rcx - 1]
test rax, rax
js 0x140036590
cmp rax, rcx
jge 0x140036590
mov rcx, qword [rbp - 0x39]
mov rcx, qword [rcx + rax*8]
call fcn.140036ab0
movsxd r14, esi
mov r8d, 1
mov rdx, r14
lea rcx, [rbp - 0x41]
call fcn.14016cdb8
lea rax, [r14 + 1]
test esi, esi
js 0x14003658a
cmp rax, rbx
jg 0x14003658a
cmp rax, 1
jl 0x14003658a
mov rdx, rbx
sub rdx, rax
je 0x1400363a8
lea rdx, [rdx*4]
lea r8, [r15 + rax*4]
lea rcx, [r15 + r14*4]
mov r9, rdx
call fcn.140024150
dec rbx
mov qword [rbp - 1], rbx
dec rdi
sub esi, 1
js 0x140036283
mov rcx, qword [rbp - 0x31]
jmp 0x140036314
xor esi, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x140036539
xor edi, edi
nop dword [rax + rax]
test rdi, rdi
js 0x140036566
cmp rdi, qword [r12 + 0x20]
jge 0x140036566
mov rax, qword [r12 + 0x18]
mov r14, qword [rax + rdi*8]
call fcn.140162c14
mov rcx, rax
test rax, rax
je 0x1400365ae
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x7f], rbx
mov r15d, dword [rbp + 0x77]
or r15d, 1
mov dword [rbp + 0x77], r15d
mov rdx, qword [r14 + 0x10]
mov r14, 0xffffffffffffffff
test rdx, rdx
je 0x14003645a
mov rax, r14
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140036440
mov r8d, eax
lea rcx, [rbp + 0x7f]
call fcn.140016ad0
mov rbx, qword [rbp + 0x7f]
mov edx, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov rcx, rax
call fcn.14016ad48
test rax, rax
je 0x1400364b0
cmp rdi, qword [r12 + 0x20]
jge 0x14003659c
mov rax, qword [r12 + 0x18]
mov rcx, qword [rax + rdi*8]
mov dword [rcx + 0x24], 0x410
mov edx, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov rcx, rax
call fcn.14016ad48
movsxd r9, dword [rax + 8]
mov r8d, 0x410
jmp 0x1400364e9
cmp rdi, qword [r12 + 0x20]
jge 0x1400365a8
mov rax, qword [r12 + 0x18]
mov rcx, qword [rax + rdi*8]
mov dword [rcx + 0x24], 0x400
cmp rdi, qword [r12 + 0x20]
jge 0x1400365a2
mov rax, qword [r12 + 0x18]
mov rcx, qword [rax + rdi*8]
mov r9d, dword [rcx + 0x28]
mov r8d, 0x400
mov qword [rsp + 0x20], rbx
mov edx, esi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_ModifyMenuW]
and r15d, 0xfffffffe
mov dword [rbp + 0x77], r15d
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003651d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc esi
inc rdi
mov rcx, qword [r12 + 8]
call qword [sym.imp.USER32.dll_GetMenuItemCount]
cmp esi, eax
jl 0x1400363e0
mov r15, qword [rbp - 9]
mov dword [r12 + 0x88], 1
test r15, r15
je 0x140036553
mov rcx, r15
call fcn.140153a7c
nop
lea rcx, [rbp - 0x41]
call fcn.14016cbd0
mov eax, 1
jmp 0x14003601c
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
nop
call fcn.140161be4
int3
call fcn.140161be4
int3
call fcn.140161be4
int3
mov ecx, 0x80004005
call fcn.140012800
int3