Function at 0x180012e60
Capabilities:
Check os version

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x1800a98a0]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword gs:[0x30]
movsxd rbx, ecx
cmp qword [rax + 0x78], 0
je 0x1800132cd
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x100], r15
cmp ebx, 0x56
jge 0x180013057
lea eax, [rbx - 0x2000]
cmp eax, 6
jbe 0x180013082
cmp ebx, 0x60
ja 0x18003e124
mov rax, qword gs:[0x30]
mov ecx, 0x400
cmp word [rax + 0x810], cx
jb 0x18003ded5
xor dil, dil
lea rdx, sym.USER32.dll_Ordinal_2603
cmp ebx, 0x10
jge 0x180013007
cmp ebx, 2
jl 0x180013007
mov qword [rsp + 0x120], rsi
cmp ebx, 0x28
jge 0x180013032
xor r15d, r15d
mov esi, 0x12
cmp ebx, 0xb
je 0x180012f31
cmp ebx, 0xc
jne 0x1800130aa
lea r14d, [rsi - 0xc]
jmp 0x180012f37
mov r14d, 5
cmp dword [0x1800aa358], r15d
jne 0x180012f71
mov rax, qword gs:[0x30]
add rax, 0x800
je 0x18003e07a
mov rax, qword gs:[0x30]
cmp dword [rax + 0x8e8], r15d
jne 0x1800131ce
mov esi, dword [0x1800a98b4]
test sil, 0xf
je 0x180013171
call qword [sym.imp.win32u.dll_NtUserGetDpiForCurrentProcess]
movzx r10d, ax
mov r9, qword [0x1800aa168]
mov r8d, 0xffffffff
movzx eax, word [r9 + 0x1b56]
cmp r10d, eax
jne 0x18003e093
mov r8d, r15d
movsxd rax, r8d
imul rcx, rax, 0x1e
movsxd rax, r14d
add rcx, rax
lea rsi, [rcx*4 + 0x8ec]
mov eax, dword [rsi + r9]
cmp eax, 0xffffffff
je 0x18003e0db
test dil, dil
jne 0x18003e0ff
mov rsi, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x128]
mov r14, qword [rsp + 0x130]
mov r15, qword [rsp + 0x100]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180033470
add rsp, 0x108
pop rbx
pop rbp
ret
cmp ebx, 0x3b
jge 0x180013015
cmp ebx, 0x2b
jge case.0x180013030.15
cmp ebx, 0x5c
ja case.0x180013030.15
movzx eax, byte [rdx + rbx + 0x13408]
mov ecx, dword [rdx + rax*4 + 0x133c8]
add rcx, rdx
jmp rcx
cmp ebx, 0x31
jge 0x180012f15
test dil, dil
jne 0x18003e059
mov rax, qword [0x1800aa168]
mov eax, dword [rax + rbx*4 + 0x768]
jmp 0x180012fd1
cmp ebx, 0x5f
jle 0x1800130f5
cmp ebx, 0x1000
je 0x180013135
cmp ebx, 0x1800
jne 0x180012eb5
mov eax, 1
jmp 0x180012fd9
mov rax, qword [0x1800aa168]
lea ecx, [rbx - 0x2000]
xor r15d, r15d
movzx edx, cl
mov ecx, dword [rax + 0x8bc]
bt ecx, edx
setb r15b
mov eax, r15d
jmp 0x180012fd9
lea eax, [rbx - 2]
cmp eax, 0x5a
ja case.0x1800130c6.30
cdqe
movzx eax, byte [rdx + rax + 0x134dc]
mov ecx, dword [rdx + rax*4 + 0x13468]
add rcx, rdx
jmp rcx
mov r14d, 0x14
jmp 0x180012f37
call sym.USER32.dll_GetDpiForSystem
mov ecx, 0x9900
mov edi, eax
call sym.USER32.dll_GetAppCompatFlags2
mov r8d, eax
mov edx, edi
mov ecx, ebx
call fcn.180014314
jmp 0x180012fd9
cmp ebx, 0x5e
jge 0x180013189
mov ecx, ebx
sub ecx, 0x56
je 0x180013189
cmp ecx, 1
jne 0x180012eb5
jmp 0x18003deb3
mov rax, qword [0x1800aa168]
test byte [rax], 2
jne 0x18003dedd
xor r15d, r15d
mov r14d, r15d
mov eax, r14d
jmp 0x180012fd9
call qword [sym.imp.KERNELBASE.dll_WTSGetServiceSessionId]
mov rcx, qword gs:[0x60]
cmp dword [rcx + 0x2c0], eax
je 0x180013127
call qword [sym.imp.ntdll.dll_RtlGetActiveConsoleId]
mov rcx, qword gs:[0x60]
cmp dword [rcx + 0x2c0], eax
je 0x180013127
mov r14d, 1
mov eax, r14d
jmp 0x180012fd9
call sym.USER32.dll_IsThreadDesktopComposited
test eax, eax
je 0x180012f7b
mov r10d, 0x60
jmp 0x180012f85
xor r15d, r15d
lea r8, [rbp - 0x20]
lea rdx, str.IsTabletPC
mov edi, r15d
lea rcx, str.RegistryMachineSoftwareMicrosoftWindowsTablet_PC_
lea r9d, [r15 + 4]
call fcn.180019c94
test eax, eax
je 0x1800131b1
mov edi, dword [rbp - 0x14]
cmp ebx, 0x5e
je 0x180013356
cmp ebx, 0x5f
jne 0x1800132e6
shr edi, 8
movzx eax, di
jmp 0x180012fd9
mov rax, qword gs:[0x30]
mov esi, dword [rax + 0x8e8]
jmp 0x180012f71
lea rcx, [rbp - 0x40]
call fcn.180013540
movups xmm1, xmmword [rax]
movdqa xmm0, xmm1
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub eax, ecx
jmp 0x180012fd9
lea rcx, [rbp - 0x30]
call fcn.180013540
movups xmm0, xmmword [rax]
movq rcx, xmm0
psrldq xmm0, 8
movq rax, xmm0
shr rcx, 0x20
shr rax, 0x20
sub eax, ecx
jmp 0x180012fd9
lea rcx, [rbp - 0x50]
call fcn.180013540
mov rax, qword [rax]
shr rax, 0x20
jmp 0x180012fd9
lea rcx, [rbp - 0x60]
call fcn.180013540
mov eax, dword [rax]
jmp 0x180012fd9
mov r14d, 0x15
jmp 0x180012f37
mov rax, qword [0x1800aa168]
test byte [rax], 8
je 0x180013127
jmp 0x18003deca
mov r14d, r15d
jmp 0x180012f37
lea rcx, [rsp + 0x30]
call fcn.180012948
jmp 0x18001320f
lea rcx, [rsp + 0x20]
call fcn.180012948
movups xmm1, xmmword [rax]
movdqa xmm0, xmm1
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub eax, ecx
jmp 0x180012fd9
mov rax, qword [0x1800aa168]
mov eax, dword [rax]
shr eax, 2
and eax, 1
jmp 0x180012fd9
mov r14d, 1
jmp 0x180012f37
mov ecx, 0xe
call qword [sym.imp.win32u.dll_NtUserGetThreadState]
test rax, rax
jne 0x180012e94
jmp 0x18003deac
test dil, 0xd
setne cl
test dil, 0x80
setne al
test al, cl
je 0x18001312a
jmp 0x18003deca
mov r14d, esi
jmp 0x180012f37
mov r14d, 0x13
jmp 0x180012f37
mov r14d, 2
jmp 0x180012f37
mov r14d, 0xa
jmp 0x180012f37
mov r14d, 0xd
jmp 0x180012f37
mov r14d, 0xc
jmp 0x180012f37
mov r14d, 0x19
jmp 0x180012f37
mov r14d, 0x1a
jmp 0x180012f37
and edi, 0xcf
mov eax, edi
jmp 0x180012fd9
mov r14d, 0x10
jmp 0x180012f37
mov r14d, 0x11
jmp 0x180012f37
mov r14d, 0x16
jmp 0x180012f37
call fcn.180001bfc
cmp ebx, 0x3b
je 0x180012fd9
shr rax, 0x20
jmp 0x180012fd9
mov r14d, 7
jmp 0x180012f37
mov r14d, 8
jmp 0x180012f37
mov r14d, 0x1b
jmp 0x180012f37
mov r14d, 0x1c
jmp 0x180012f37
xor eax, eax
jmp 0x180012ff1
call fcn.1800815ec
xor r15d, r15d
cmp eax, 5
setae r15b
mov eax, r15d
jmp 0x180012fd9
mov r14d, 1
jmp 0x18001312d
mov dil, 1
jmp 0x180012eeb
mov r14d, 1
jmp 0x18001312d
lea rcx, [rsp + 0x40]
call fcn.180085cc0
movups xmm1, xmmword [rax]
movdqa xmm0, xmm1
movd ecx, xmm1
psrldq xmm0, 8
movd eax, xmm0
sub eax, ecx
jmp 0x180012fd9
lea rcx, [rsp + 0x50]
call fcn.180085cc0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
call sym.USER32.dll_GetDpiForSystem
mov edx, eax
mov ecx, 2
call fcn.180013888
movups xmm1, xmmword [rbp - 0x20]
mov edx, eax
movzx ecx, dil
movdqa xmm0, xmm1
psrldq xmm1, 4
psrldq xmm0, 0xc
movd eax, xmm0
sub eax, ecx
movd ecx, xmm1
sub eax, ecx
sub eax, edx
jmp 0x180012fd9
lea rcx, [rsp + 0x60]
call fcn.180085cc0
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
call fcn.180085cc0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
call sym.USER32.dll_GetDpiForSystem
mov ecx, eax
call 0x180001cb4
movups xmm0, xmmword [rsp + 0x20]
add eax, eax
sub eax, dword [rbp - 0x20]
psrldq xmm0, 8
movd ecx, xmm0
add eax, ecx
jmp 0x180012fd9
lea rcx, [rbp - 0x80]
call fcn.180085cc0
lea rcx, [rbp - 0x70]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
call fcn.180085cc0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
call sym.USER32.dll_GetDpiForSystem
mov ecx, eax
call fcn.180001c78
movups xmm0, xmmword [rsp + 0x20]
add eax, eax
psrldq xmm0, 4
movd ecx, xmm0
movups xmm0, xmmword [rbp - 0x20]
sub eax, ecx
psrldq xmm0, 0xc
movd ecx, xmm0
add eax, ecx
jmp 0x180012fd9
mov r14d, 3
jmp 0x180012f37
mov r14d, 4
jmp 0x180012f37
mov r14d, 9
jmp 0x180012f37
mov r14d, 0xb
jmp 0x180012f37
mov r14d, 0xe
jmp 0x180012f37
mov r14d, 0xf
jmp 0x180012f37
mov r14d, 0x17
jmp 0x180012f37
mov r14d, 0x18
jmp 0x180012f37
mov r14d, 0x1d
jmp 0x180012f37
lea eax, [rbx - 7]
cmp eax, 1
ja 0x180013044
mov rax, qword [0x1800aa168]
mov eax, dword [rax + rbx*4 + 0x768]
dec eax
jmp 0x180012fd1
mov ecx, 0xe
call qword [sym.imp.win32u.dll_NtUserGetThreadState]
test rax, rax
je 0x180012f71
jmp 0x180012f55
cmp r10d, 0x60
jb 0x180012fa6
mov eax, 0xaaaaaaab
mul r10d
shr edx, 4
lea ecx, [rdx + rdx*2]
shl ecx, 3
cmp r10d, ecx
jne 0x180012fa6
lea ecx, [r10 - 0x48]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 0x12
cmovge edx, r8d
mov r8d, edx
jmp 0x180012fa6
mov ecx, r10d
mov edx, 0x53
call qword [sym.imp.win32u.dll_NtUserCallOneParam]
mov rax, qword [0x1800aa168]
mov eax, dword [rsi + rax]
cmp eax, 0xffffffff
cmove eax, r15d
jmp 0x180012fc8
cmp ebx, 2
jl 0x180012fd1
cmp ebx, 4
jle 0x18003e11d
cmp ebx, 0xf
jne 0x180012fd1
dec eax
jmp 0x180012fd1
inc eax
jmp 0x180012fd1
mov ecx, 0x57
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
xor eax, eax
jmp 0x180012fd9