Function at 0x1400111f0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x30
mov eax, dword [0x14002fa84]
mov rbp, rdx
mov rdi, rcx
test eax, eax
jne 0x14001123b
lea rcx, [0x14002fa80]
mov dword [0x14002fa80], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [0x14002fa84]
mov r13, qword [rdi + 0x130]
xor r12d, r12d
cmp eax, 5
seta r12b
test rbp, rbp
mov esi, 1
jne 0x14001127f
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r12d, r12d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [rsi + 3]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x14001128c
xor r8d, r8d
test r12d, r12d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c6f
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r13, r13
je 0x1400112da
xor r9d, r9d
mov edx, 0x412
mov r8d, 0x9c6f
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
test r12d, r12d
je 0x1400112be
or ax, 4
jmp 0x1400112c2
and ax, 0xfffb
movzx r9d, ax
mov edx, 0x411
mov r8d, 0x9c6f
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
mov rax, qword [rdi + 0x2d8]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax + 0x1f8]
mov edx, 0x1032
call qword [sym.imp.USER32.dll_SendMessageA]
mov r13, qword [rdi + 0x130]
xor r12d, r12d
cmp eax, 1
sete r12b
test rbp, rbp
jne 0x140011337
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r12d, r12d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x140011344
xor r8d, r8d
test r12d, r12d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c49
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r13, r13
je 0x140011392
xor r9d, r9d
mov edx, 0x412
mov r8d, 0x9c49
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
test r12d, r12d
je 0x140011376
or ax, 4
jmp 0x14001137a
and ax, 0xfffb
movzx r9d, ax
mov edx, 0x411
mov r8d, 0x9c49
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
test rbp, rbp
mov r13, qword [rdi + 0x130]
jne 0x1400113c6
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r12d, r12d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, esi
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x1400113d3
xor r8d, r8d
test r12d, r12d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c60
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r13, r13
je 0x140011421
xor r9d, r9d
mov edx, 0x412
mov r8d, 0x9c60
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
test r12d, r12d
je 0x140011405
or ax, 4
jmp 0x140011409
and ax, 0xfffb
movzx r9d, ax
mov edx, 0x411
mov r8d, 0x9c60
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
test rbp, rbp
mov r13, qword [rdi + 0x130]
jne 0x140011455
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r12d, r12d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, esi
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x140011462
xor r8d, r8d
test r12d, r12d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c62
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r13, r13
je 0x1400114b0
xor r9d, r9d
mov edx, 0x412
mov r8d, 0x9c62
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
test r12d, r12d
je 0x140011494
or ax, 4
jmp 0x140011498
and ax, 0xfffb
movzx r9d, ax
mov edx, 0x411
mov r8d, 0x9c62
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, qword [rdi + 0x2d8]
xor r8d, r8d
xor r9d, r9d
cmp dword [rcx + 0x248], r8d
je 0x14001151f
mov r14, qword [rcx + 0x1f8]
mov edx, 0x1004
xor r12d, r12d
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jle 0x140011534
xor ebx, ebx
mov r13d, eax
nop
nop
nop
mov r9d, 0xf000
mov r8, rbx
mov edx, 0x102c
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageA]
shr eax, 0xc
cmp eax, 1
je 0x140011513
add r12d, 1
add rbx, 1
sub r13, 1
jne 0x1400114f0
jmp 0x140011534
mov rcx, qword [rcx + 0x1f8]
mov edx, 0x1032
call qword [sym.imp.USER32.dll_SendMessageA]
mov r12, rax
xor r13d, r13d
cmp r12d, 1
mov r12, qword [rdi + 0x130]
setge r13b
test rbp, rbp
jne 0x140011573
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r13d, r13d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x140011580
xor r8d, r8d
test r13d, r13d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c41
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r12, r12
je 0x1400115ce
xor r9d, r9d
mov edx, 0x412
mov r8d, 0x9c41
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageA]
test r13d, r13d
je 0x1400115b2
or ax, 4
jmp 0x1400115b6
and ax, 0xfffb
movzx r9d, ax
mov edx, 0x411
mov r8d, 0x9c41
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageA]
test rbp, rbp
mov r12, qword [rdi + 0x130]
jne 0x140011602
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r13d, r13d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, esi
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x14001160f
xor r8d, r8d
test r13d, r13d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c48
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r12, r12
je 0x14001165d
xor r9d, r9d
mov edx, 0x412
mov r8d, 0x9c48
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageA]
test r13d, r13d
je 0x140011641
or ax, 4
jmp 0x140011645
and ax, 0xfffb
movzx r9d, ax
mov edx, 0x411
mov r8d, 0x9c48
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageA]
test rbp, rbp
jne 0x14001168b
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r13d, r13d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [rbp + 2]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x140011698
xor r8d, r8d
test r13d, r13d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c4a
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov rax, qword [rdi + 0x2d8]
xor r9d, r9d
mov rcx, qword [rax + 0x1f8]
xor r8d, r8d
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageA]
test rbp, rbp
jne 0x1400116ef
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test eax, eax
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [rbp + 2]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x1400116fb
xor r8d, r8d
test eax, eax
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c4c
call qword [sym.imp.USER32.dll_EnableMenuItem]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
mov r14d, 8
cmp dword [rax + 4], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [r14 - 6]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c45
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
cmp dword [rax + 0x588], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [r14 - 6]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c69
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
cmp dword [rax + 0x58c], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [r14 - 6]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c6a
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
cmp dword [rax + 0x590], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [r14 - 5]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c6b
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
cmp dword [rax + 0x594], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [r14 - 5]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c76
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
cmp dword [rax + 0x598], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [r14 - 5]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c7c
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov r11, qword [rdi + 0x2d8]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [r11 + 0x1f8]
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageA]
xor r12d, r12d
test eax, eax
setg r12b
test rbp, rbp
jne 0x1400118d3
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r12d, r12d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [rbp + 2]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x1400118e0
xor r8d, r8d
test r12d, r12d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c46
call qword [sym.imp.USER32.dll_EnableMenuItem]
test rbp, rbp
mov r13, qword [rdi + 0x130]
jne 0x14001191f
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
test r12d, r12d
cmove ebx, esi
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, esi
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov rcx, rax
jmp 0x14001192c
xor r8d, r8d
test r12d, r12d
mov rcx, rbp
cmove r8d, esi
mov edx, 0x9c4e
call qword [sym.imp.USER32.dll_EnableMenuItem]
test r13, r13
je 0x14001197a
xor r9d, r9d
mov edx, 0x412
mov r8d, 0x9c4e
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
test r12d, r12d
je 0x14001195e
or ax, 4
jmp 0x140011962
and ax, 0xfffb
movzx r9d, ax
mov edx, 0x411
mov r8d, 0x9c4e
mov rcx, r13
call qword [sym.imp.USER32.dll_SendMessageA]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
cmp dword [rax + 0x580], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c5f
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
xor ebx, ebx
cmp dword [rax + 0x584], ebx
cmovne ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, 0x9c63
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
mov esi, 0xa029
nop
mov rax, qword [rdi + 0x2d0]
lea ecx, [rsi - 0xa029]
xor ebx, ebx
mov edx, dword [rax + 0x57c]
movzx r9d, cl
mov rcx, qword [rdi + 0x110]
bt edx, r9d
cmovb ebx, r14d
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r8d, ebx
mov edx, esi
mov rcx, rax
call qword [sym.imp.USER32.dll_CheckMenuItem]
add esi, 1
cmp esi, 0xa030
jbe 0x140011a00
mov rax, qword [rdi + 0x2d0]
mov rcx, qword [rdi + 0x110]
mov ebx, dword [rax + 0x5a0]
call qword [sym.imp.USER32.dll_GetMenu]
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSubMenu]
mov edx, 0xac45
lea r9d, [rbx + 0xac44]
lea r8d, [rdx + 1]
mov rcx, rax
mov dword [rsp + 0x20], 0
call qword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop r13
pop r12
ret