Function at 0x140070db0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push r12
push r13
sub rsp, 0x198
mov rax, qword [0x1401786a0]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rax, r9
mov ebx, edx
mov rdx, qword [rsp + 0x1e0]
shr rax, 0x10
mov r13, r8
mov rsi, rcx
test ax, ax
je 0x140070dfc
xor r12d, r12d
mov dword [rdx], r12d
lea eax, [r12 + 1]
jmp 0x1400711bc
movzx ecx, byte [rcx + 0xf0]
movzx eax, cl
shr al, 1
and al, 1
jne 0x140070e11
test cl, 1
je 0x140070dec
mov qword [rsp + 0x178], r15
test al, al
je 0x140070e5a
test r9, r9
jne 0x140070e3c
test cl, 0x10
jne 0x140070e3c
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov edx, 0x447
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r9, eax
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x70]
mov qword [rsp + 0x20], r9
mov r9, r13
mov r8d, ebx
call qword [sym.imp.USER32.dll_CallWindowProcW]
mov r15, rax
jmp 0x140070e9b
test r9, r9
jne 0x140070e79
test cl, 0x10
jne 0x140070e79
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov edx, 0x447
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r9, eax
mov rdx, qword [rsi + 0xa0]
mov rcx, qword [rsi + 0xd0]
mov qword [rsp + 0x20], r9
mov r9, r13
mov r8d, ebx
call qword [sym.imp.USER32.dll_CallWindowProcW]
mov r15, rax
test byte [rsi + 0xf2], 1
mov qword [rsp + 0x190], rbp
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x180], r14
je 0x140070fb1
xor r12d, r12d
mov rcx, r13
mov ebp, r12d
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x140071199
or r14, 0xffffffffffffffff
nop dword [rax + rax]
mov edx, ebp
mov rcx, r13
call qword [sym.imp.USER32.dll_GetMenuItemID]
mov edx, dword [rsi + 0x90]
mov ebx, r12d
mov rdi, r12
test edx, edx
jle 0x140070f14
mov rcx, qword [rsi + 0x88]
cmp word [rcx], ax
je 0x140070f1a
inc ebx
inc rdi
add rcx, 2
cmp ebx, edx
jl 0x140070f02
mov ebx, r14d
mov rdi, r14
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0x50]
call fcn.140076300
test byte [rsi + 0xf0], 4
mov dword [rsp + 0x30], 0x50
mov dword [rsp + 0x34], 0x80
je 0x140070f68
cmp rdi, 0xffffffffffffffff
je 0x140070f68
test rdi, rdi
js 0x140070f9b
cmp ebx, dword [rsi + 0x138]
jge 0x140070f9b
mov rax, qword [rsi + 0x130]
mov rcx, qword [rax + rdi*8]
mov qword [rsp + 0x78], rcx
jmp 0x140070f6d
mov qword [rsp + 0x78], r12
lea r9, [rsp + 0x30]
mov r8d, 1
mov edx, ebp
mov rcx, r13
call qword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov rcx, r13
inc ebp
call qword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebp, eax
jl 0x140070ee0
jmp 0x140071199
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
test byte [rsi + 0xf0], 4
je 0x140071199
lea rcx, [rsp + 0x90]
xor edx, edx
mov r8d, 0xc8
call fcn.140076300
xor r12d, r12d
mov rcx, r13
mov ebp, r12d
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x140071180
or r14, 0xffffffffffffffff
nop
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0x50]
call fcn.140076300
lea rax, [rsp + 0x90]
lea r9, [rsp + 0x30]
mov r8d, 1
mov edx, ebp
mov rcx, r13
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x30], 0x50
mov dword [rsp + 0x70], 0x64
mov dword [rsp + 0x34], 0x3f
call qword [sym.imp.USER32.dll_GetMenuItemInfoW]
bt dword [rsp + 0x38], 8
jb 0x14007116d
mov ecx, 0x20
mov dword [rsp + 0x34], 0x31
call fcn.1400766e0
mov rbx, rax
test rax, rax
je 0x14007116d
mov dword [rax], 0x1313
mov qword [rax + 8], r12
mov dword [rax + 0x10], r12d
mov dword [rax + 0x14], r12d
mov dword [rax + 0x18], r12d
mov ecx, dword [rsp + 0x38]
mov dword [rax + 0x10], ecx
mov eax, dword [rsp + 0x3c]
mov edx, r12d
mov dword [rbx + 0x14], eax
bts dword [rsp + 0x38], 8
mov dword [rbx + 0x18], r14d
mov r9d, dword [rsi + 0x90]
test r9d, r9d
jle 0x1400710e3
mov r10d, dword [rsp + 0x40]
mov r8, r12
nop word [rax + rax]
test r8, r8
js 0x1400711da
cmp edx, r9d
jge 0x1400711da
mov rax, qword [rsi + 0x88]
movzx ecx, word [r8 + rax]
cmp ecx, r10d
je 0x1400710e0
inc edx
add r8, 2
cmp edx, r9d
jl 0x1400710b0
jmp 0x1400710e3
mov dword [rbx + 0x18], edx
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov qword [rbx + 8], r12
inc eax
movsxd rdi, eax
mov eax, 2
mul rdi
cmovo rax, r14
mov rcx, rax
call fcn.140076ec0
mov qword [rbx + 8], rax
test rax, rax
je 0x140071152
lea r8, [rsp + 0x90]
mov rdx, rdi
mov rcx, rax
call fcn.140076ec8
test eax, eax
je 0x140071152
cmp eax, 0xc
je 0x140071206
cmp eax, 0x16
je 0x1400711fb
cmp eax, 0x22
je 0x1400711fb
cmp eax, 0x50
jne 0x1400711f0
lea r9, [rsp + 0x30]
mov r8d, 1
mov edx, ebp
mov rcx, r13
mov qword [rsp + 0x60], rbx
call qword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov rcx, r13
inc ebp
call qword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebp, eax
jl 0x140070ff0
lea rcx, [rsi + 0x20]
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x80], r13
call fcn.14006e7e0
mov r14, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x190]
mov rax, r15
mov r15, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1400762d0
add rsp, 0x198
pop r13
pop r12
pop rsi
pop rbx
ret
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
lea edx, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov ecx, 0x80004005
call fcn.1400014f0
int3
mov ecx, 0x80070057
call fcn.1400014f0
int3
mov ecx, 0x8007000e
call fcn.1400014f0
int3