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

Disassembly:
push rbx
push rsi
push r12
push r13
sub rsp, 0x198
mov rax, qword [0x18013b490]
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 0x180070e1c
xor r12d, r12d
mov dword [rdx], r12d
lea eax, [r12 + 1]
jmp 0x1800711dc
movzx ecx, byte [rcx + 0xf0]
movzx eax, cl
shr al, 1
and al, 1
jne 0x180070e31
test cl, 1
je 0x180070e0c
mov qword [rsp + 0x178], r15
test al, al
je 0x180070e7a
test r9, r9
jne 0x180070e5c
test cl, 0x10
jne 0x180070e5c
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 0x180070ebb
test r9, r9
jne 0x180070e99
test cl, 0x10
jne 0x180070e99
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 0x180070fd1
xor r12d, r12d
mov rcx, r13
mov ebp, r12d
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x1800711b9
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 0x180070f34
mov rcx, qword [rsi + 0x88]
cmp word [rcx], ax
je 0x180070f3a
inc ebx
inc rdi
add rcx, 2
cmp ebx, edx
jl 0x180070f22
mov ebx, r14d
mov rdi, r14
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0x50]
call fcn.180076350
test byte [rsi + 0xf0], 4
mov dword [rsp + 0x30], 0x50
mov dword [rsp + 0x34], 0x80
je 0x180070f88
cmp rdi, 0xffffffffffffffff
je 0x180070f88
test rdi, rdi
js 0x180070fbb
cmp ebx, dword [rsi + 0x138]
jge 0x180070fbb
mov rax, qword [rsi + 0x130]
mov rcx, qword [rax + rdi*8]
mov qword [rsp + 0x78], rcx
jmp 0x180070f8d
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 0x180070f00
jmp 0x1800711b9
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 0x1800711b9
lea rcx, [rsp + 0x90]
xor edx, edx
mov r8d, 0xc8
call fcn.180076350
xor r12d, r12d
mov rcx, r13
mov ebp, r12d
call qword [sym.imp.USER32.dll_GetMenuItemCount]
test eax, eax
jle 0x1800711a0
or r14, 0xffffffffffffffff
nop
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0x50]
call fcn.180076350
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 0x18007118d
mov ecx, 0x20
mov dword [rsp + 0x34], 0x31
call fcn.180076730
mov rbx, rax
test rax, rax
je 0x18007118d
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 0x180071103
mov r10d, dword [rsp + 0x40]
mov r8, r12
nop word [rax + rax]
test r8, r8
js 0x1800711fa
cmp edx, r9d
jge 0x1800711fa
mov rax, qword [rsi + 0x88]
movzx ecx, word [r8 + rax]
cmp ecx, r10d
je 0x180071100
inc edx
add r8, 2
cmp edx, r9d
jl 0x1800710d0
jmp 0x180071103
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.180076f10
mov qword [rbx + 8], rax
test rax, rax
je 0x180071172
lea r8, [rsp + 0x90]
mov rdx, rdi
mov rcx, rax
call fcn.180076f18
test eax, eax
je 0x180071172
cmp eax, 0xc
je 0x180071226
cmp eax, 0x16
je 0x18007121b
cmp eax, 0x22
je 0x18007121b
cmp eax, 0x50
jne 0x180071210
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 0x180071010
lea rcx, [rsi + 0x20]
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x80], r13
call fcn.18006e800
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.180076320
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.1800014f0
int3
mov ecx, 0x80070057
call fcn.1800014f0
int3
mov ecx, 0x8007000e
call fcn.1800014f0
int3