Function at 0x1400090b0
Capabilities:
Check os version

Disassembly:
push rbp
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x140101140]
xor rax, rsp
mov qword [rbp + 0x80], rax
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x9c
call fcn.140081f50
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x9c
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x140009128
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x9c
call fcn.140081f50
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x40], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x140009364
cmp dword [rsp + 0x50], 2
mov qword [rsp + 0x1a0], rbx
mov ebx, dword [rsp + 0x44]
mov qword [rsp + 0x1a8], rdi
jne 0x140009306
cmp ebx, 6
ja 0x14000915d
jne 0x140009232
cmp dword [rsp + 0x48], 2
jb 0x14000923b
mov r8b, 1
mov edx, 2
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov ebx, dword [rsp + 0x44]
mov rdi, rax
cmp ebx, 9
ja 0x140009232
nop dword [rax]
xor edx, edx
lea rcx, [rbp - 0x20]
mov r8d, 0x9c
call fcn.140081f50
mov r8, rdi
mov dword [rbp - 0x20], 0x9c
mov edx, 2
mov dword [rbp - 0x1c], ebx
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
test eax, eax
jne 0x1400091ba
inc ebx
cmp ebx, 9
jbe 0x140009180
jmp 0x14000922e
cmp dword [rsp + 0x44], ebx
jae 0x1400091cc
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x48], 0
mov r8b, 1
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov edi, dword [rsp + 0x48]
mov rbx, rax
cmp edi, 9
ja 0x14000922e
nop dword [rax + rax]
xor edx, edx
lea rcx, [rbp - 0x20]
mov r8d, 0x9c
call fcn.140081f50
mov r8, rbx
mov dword [rbp - 0x20], 0x9c
mov edx, 1
mov dword [rbp - 0x18], edi
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
test eax, eax
jne 0x14000922a
inc edi
cmp edi, 9
jbe 0x1400091f0
jmp 0x14000922e
mov dword [rsp + 0x48], edi
mov ebx, dword [rsp + 0x44]
cmp ebx, 0xf
ja 0x140009306
mov edi, dword [rsp + 0x48]
cmp edi, 0xf
ja 0x140009306
xor edx, edx
mov r8d, ebx
cmp byte [rbp - 0x26], 1
setbe dl
shl r8d, 4
or r8d, edi
mov dword [0x140101db4], r8d
lea eax, [r8 - 0x50]
cmp eax, 0x14
ja case.0x140009283.83
lea r9, [0x140000000]
cdqe
mov ecx, dword [r9 + rax*4 + 0x9418]
add rcx, r9
jmp rcx
lea r9, str.2000
jmp 0x140009398
lea r9, [0x1400deeac]
jmp 0x140009398
lea r9, str.2003
jmp 0x140009398
lea rax, str.Vista
lea r9, str.2008
jmp 0x1400092f7
lea rax, [0x1400deec8]
lea r9, str.2008_R2
jmp 0x1400092f7
lea rax, [0x1400deed8]
lea r9, str.2012
jmp 0x1400092f7
lea rax, [0x1400deee4]
lea r9, str.2012_R2
jmp 0x1400092f7
lea rax, [0x1400deef0]
lea r9, str.2015
test edx, edx
cmovne r9, rax
test r9, r9
jne 0x140009398
cmp dword [rsp + 0x50], 2
lea rax, [0x1400def14]
lea r9, [0x1400def18]
lea rdx, str.64_bit
cmove r9, rax
mov eax, dword [rsp + 0x48]
lea r8, str._s__u._u__s
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov edx, 0x76
lea rcx, [0x140101dd8]
call fcn.140001480
mov rbx, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x1a8]
mov byte [0x140101e4d], 0
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.140062030
add rsp, 0x190
pop rbp
ret
cmp r8d, 0x50
jge 0x140009391
mov dword [0x140101db4], 0
jmp 0x140009306
lea r9, str.11_or_later
movzx eax, word [rbp - 0x2a]
lea rdx, str.64_bit
test ax, ax
je 0x1400093c8
movzx ecx, word [rbp - 0x2c]
lea r8, str._s_SP_u._u__s
mov qword [rsp + 0x30], rdx
movzx eax, ax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
jmp 0x14000933c
movzx eax, word [rbp - 0x2c]
lea rcx, [0x140101dd8]
test ax, ax
je 0x1400093fa
mov qword [rsp + 0x28], rdx
lea r8, str._s_SP_u__s
movzx eax, ax
mov edx, 0x76
mov dword [rsp + 0x20], eax
call fcn.140001480
jmp 0x14000934d
mov qword [rsp + 0x20], rdx
lea r8, str._s__s
mov edx, 0x76
call fcn.140001480
jmp 0x14000934d