Function at 0x14008a300
Capabilities:
Check os version

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x188
mov rax, qword [0x14012df80]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov r14, qword [rsp + 0x1f0]
mov rax, qword [rcx]
mov rbx, r8
mov r15d, r9d
mov r8d, 0xf000c
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], r14
mov rbp, rdx
mov r13, rcx
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x30], rcx
call qword [rax + 0x38]
test rax, rax
jne 0x14008a427
xor esi, esi
test rbp, rbp
mov r12d, 0x7fffffff
je 0x14008a3ac
mov rcx, r12
mov rax, rbp
mov edi, esi
cmp word [rax], si
je 0x14008a391
add rax, 2
sub rcx, 1
jne 0x14008a378
mov edi, 0x80070057
mov rax, rsi
jmp 0x14008a3a6
test rcx, rcx
jne 0x14008a3a0
mov edi, 0x80070057
mov rax, rsi
jmp 0x14008a3a6
mov rax, r12
sub rax, rcx
test edi, edi
jns 0x14008a3b4
jmp 0x14008a3b1
mov edi, 0x80070057
mov rax, rsi
test edi, edi
mov r8, rsi
cmovns r8, rax
test rbx, rbx
je 0x14008a40d
cmp r15d, r8d
jbe 0x14008a40d
test r15d, r15d
mov rcx, r15
je 0x14008a40d
cmp rcx, r12
ja 0x14008a40d
mov edx, 0x7ffffffe
sub rdx, rcx
sub rbp, rbx
nop
lea rax, [rdx + rcx]
test rax, rax
je 0x14008a401
movzx eax, word [rbx + rbp]
test ax, ax
je 0x14008a401
mov word [rbx], ax
add rbx, 2
sub rcx, 1
jne 0x14008a3e0
jmp 0x14008a406
test rcx, rcx
jne 0x14008a40a
sub rbx, 2
mov word [rbx], si
test r14, r14
je 0x14008a419
lea eax, [r8 + 1]
mov dword [r14], eax
mov dword [r13 + 8], esi
mov eax, 1
jmp 0x14008a6d2
mov rcx, rax
call sub.WINSPOOL.DRV_ClosePrinter
lea rcx, str.printui.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
mov rdi, rax
jne 0x14008a451
mov dword [r13 + 8], 0x7e
jmp 0x14008a6d2
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ecx, 0x208
call fcn.1400913a4
cmp dword [rsp + 0x54], 5
mov esi, 0x3a08
mov edx, esi
mov r12d, 0x4a38
mov r9d, 0x104
mov r8, rax
mov rcx, rdi
cmova edx, r12d
mov r15, rax
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_LoadStringW]
or r8, 0xffffffffffffffff
cmp eax, 0x104
mov r13d, 2
mov r14d, eax
jl 0x14008a500
mov rcx, r15
call fcn.1400913ac
add r14d, 1
mov rax, r13
movsxd rcx, r14d
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400913a4
cmp dword [rsp + 0x54], 5
mov r9d, r14d
cmova esi, r12d
mov r8, rax
mov rcx, rdi
mov edx, esi
mov qword [rsp + 0x20], rax
call qword [sym.imp.USER32.dll_LoadStringW]
or r8, 0xffffffffffffffff
mov r14d, eax
xor esi, esi
test rbp, rbp
mov r12d, 0x7fffffff
je 0x14008a547
mov rcx, r12
mov rax, rbp
mov edx, esi
cmp word [rax], dx
mov edi, 0x80070057
je 0x14008a52f
add rax, r13
sub rcx, 1
jne 0x14008a515
mov edx, edi
mov rax, rsi
jmp 0x14008a541
test rcx, rcx
jne 0x14008a53b
mov edx, edi
mov rax, rsi
jmp 0x14008a541
mov rax, r12
sub rax, rcx
test edx, edx
jns 0x14008a54f
jmp 0x14008a54c
mov edx, 0x80070057
mov rax, rsi
test edx, edx
mov rcx, rsi
cmovns rcx, rax
movsxd rax, r14d
lea rbx, [rcx + rax + 0x104]
mov rax, r13
mul rbx
cmovo rax, r8
mov rcx, rax
call fcn.1400913a4
mov rcx, 0xffffffffffffffff
mov r15, rax
mov rax, r13
mul rbx
cmovo rax, rcx
mov rcx, rax
call fcn.1400913a4
cmp dword [rsp + 0x60], r13d
mov rsi, rax
mov qword [rsp + 0x40], rax
jne 0x14008a5ae
cmp dword [rsp + 0x54], 5
jne 0x14008a5ae
cmp dword [rsp + 0x58], 0
je 0x14008a5b4
mov r13d, 1
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
nop
mov r9d, r13d
mov r8, rdi
mov rdx, rbx
mov rcx, rsi
call fcn.14000ff40
mov r9, rbp
mov r8, rsi
mov rdx, rbx
mov rcx, r15
add r13d, 1
call fcn.14000ff40
mov r11, qword [r12]
mov r8d, 0xf000c
mov rdx, r15
mov rcx, r12
call qword [r11 + 0x38]
test rax, rax
mov r14, rax
je 0x14008a613
mov rcx, rax
call sub.WINSPOOL.DRV_ClosePrinter
cmp r13d, 0x270f
jle 0x14008a5c0
test r15, r15
mov edi, 0x80070057
mov esi, 0
mov r12d, 0x7fffffff
je 0x14008a65b
mov rdx, r12
mov rcx, r15
mov eax, esi
cmp word [rcx], ax
je 0x14008a646
add rcx, 2
sub rdx, 1
jne 0x14008a630
mov eax, edi
mov r12, rsi
jmp 0x14008a655
test rdx, rdx
jne 0x14008a652
mov eax, edi
mov r12, rsi
jmp 0x14008a655
sub r12, rdx
test eax, eax
jns 0x14008a660
jmp 0x14008a65d
mov eax, edi
mov r12, rsi
mov rbx, qword [rsp + 0x38]
test eax, eax
mov rdi, rsi
cmovns rdi, r12
test rbx, rbx
je 0x14008a687
mov edx, dword [rsp + 0x28]
cmp rdx, rdi
jbe 0x14008a687
mov r8, r15
mov rcx, rbx
call fcn.1400010e0
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14008a696
lea eax, [rdi + 1]
mov dword [rcx], eax
mov rcx, r15
call fcn.1400913ac
mov rcx, qword [rsp + 0x40]
call fcn.1400913ac
mov rcx, qword [rsp + 0x20]
call fcn.1400913ac
mov r13, qword [rsp + 0x30]
mov r11, r14
neg r11
sbb ecx, ecx
and ecx, 0x70a
test r14, r14
sete sil
mov dword [r13 + 8], ecx
mov eax, esi
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400cd6e0
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret