Function at 0x14000e680
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rbx, rcx
xor r14d, r14d
cmp qword [rcx + 8], r14
je 0x14000e708
mov edx, dword [rcx + 0x14]
lea r15, str.Windows
mov rcx, r15
call fcn.14003c814
mov ecx, dword [rbx + 0x14]
lea r8d, [rcx - 1]
cmp eax, ecx
cmovb r8d, eax
lea edx, [r8 + r8]
mov rax, qword [rbx + 8]
mov ecx, edx
shr rcx, 2
mov rsi, r15
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov ecx, edx
and ecx, 3
je 0x14000e6f9
and rdx, 0xfffffffffffffffc
lea rsi, [rdx + r15]
lea rdi, [rdx + rax]
rep movsb byte [rdi], byte [rsi]
mov ecx, r8d
mov dword [rbx + 0x10], ecx
mov rax, qword [rbx + 8]
mov word [rax + r8*2], r14w
xor edx, edx
mov r8d, 0x118
lea rcx, [rsp + 0x24]
call fcn.14014e180
mov dword [rsp + 0x20], 0x11c
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x14000e996
mov eax, dword [rsp + 0x24]
cmp eax, 6
jne 0x14000e7a5
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x14000e792
sub eax, 1
je 0x14000e77f
sub eax, 1
je 0x14000e76c
cmp eax, 1
jne 0x14000e839
lea rax, str.Windows_8.1
lea rdx, str.Windows_Server_2012_R2
jmp 0x14000e829
lea rax, str.Windows_8
lea rdx, str.Windows_Server_2012
jmp 0x14000e829
lea rax, str.Windows_7
lea rdx, str.Windows_Server_2008_R2
jmp 0x14000e829
lea rax, str.Windows_Vista
lea rdx, str.Windows_Server_2008
jmp 0x14000e829
cmp eax, 0xa
jne 0x14000e816
mov eax, dword [rsp + 0x2c]
cmp byte [rbp + 0x3a], 1
jne 0x14000e7dd
cmp eax, 0x55f0
jae 0x14000e7c4
lea rdx, [0x1401c15f0]
jmp 0x14000e831
lea rdx, str.Windows_11
lea rcx, str.Windows_12
cmp eax, 0x6590
cmovae rdx, rcx
jmp 0x14000e831
cmp eax, 0x6590
jb 0x14000e7ed
lea rdx, str.Windows_Server_2025
jmp 0x14000e831
cmp eax, 0x4f7c
jb 0x14000e7fd
lea rdx, str.Windows_Server_2022
jmp 0x14000e831
lea rdx, str.Windows_Server_2019
lea rcx, str.Windows_Server_2016
cmp eax, 0x3839
cmovbe rdx, rcx
jmp 0x14000e831
cmp eax, 0xb
jne 0x14000e839
lea rax, str.Windows_11
lea rdx, str.Windows_Server_2022
cmp byte [rbp + 0x3a], 1
cmove rdx, rax
mov rcx, rbx
call fcn.140003290
lea rax, [rbp + 0x58]
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x50], r14d
mov dword [rbp + 0x54], 0x80
mov word [rbp + 0x58], r14w
lea rax, [0x1401c16d8]
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x40]
cmp word [rsp + 0x34], 0
jne 0x14000e87c
movzx r8d, word [rsp + 0x2c]
lea rdx, str._build__d
call fcn.1400038c0
jmp 0x14000e893
movzx r9d, word [rsp + 0x2c]
lea r8, [rsp + 0x34]
lea rdx, str.__s_build__d
call fcn.1400038c0
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14000e8f0
mov ecx, dword [rbp + 0x50]
test ecx, ecx
je 0x14000e8f0
mov esi, dword [rbx + 0x10]
lea eax, [rsi + rcx]
cmp eax, dword [rbx + 0x14]
jae 0x14000e8f0
lea eax, [rcx + rcx]
mov edx, eax
mov r8, qword [rbp + 0x48]
lea r9, [rdi + rsi*2]
mov ecx, eax
shr rcx, 2
mov rdi, r9
mov rsi, r8
rep movsd dword [rdi], dword [rsi]
mov ecx, eax
and ecx, 3
je 0x14000e8de
and rdx, 0xfffffffffffffffc
lea rsi, [rdx + r8]
lea rdi, [rdx + r9]
rep movsb byte [rdi], byte [rsi]
mov edx, dword [rbx + 0x10]
add edx, dword [rbp + 0x50]
mov dword [rbx + 0x10], edx
mov rax, qword [rbx + 8]
mov word [rax + rdx*2], r14w
lea rcx, [rbp + 0x40]
call fcn.1400096d0
test al, al
je 0x14000e994
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000e937
mov edx, dword [rbx + 0x10]
lea eax, [rdx + 4]
cmp eax, dword [rbx + 0x14]
jae 0x14000e937
lea rdi, [rcx + rdx*2]
lea rsi, str._on
mov ecx, 2
rep movsd dword [rdi], dword [rsi]
add dword [rbx + 0x10], 4
mov ecx, dword [rbx + 0x10]
mov rax, qword [rbx + 8]
mov word [rax + rcx*2], r14w
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x14000e994
mov ecx, dword [rbp + 0x50]
test ecx, ecx
je 0x14000e994
mov esi, dword [rbx + 0x10]
lea eax, [rsi + rcx]
cmp eax, dword [rbx + 0x14]
jae 0x14000e994
lea eax, [rcx + rcx]
mov edx, eax
mov r8, qword [rbp + 0x48]
lea r9, [rdi + rsi*2]
mov ecx, eax
shr rcx, 2
mov rdi, r9
mov rsi, r8
rep movsd dword [rdi], dword [rsi]
mov ecx, eax
and ecx, 3
je 0x14000e982
and rdx, 0xfffffffffffffffc
lea rsi, [rdx + r8]
lea rdi, [rdx + r9]
rep movsb byte [rdi], byte [rsi]
mov edx, dword [rbx + 0x10]
add edx, dword [rbp + 0x50]
mov dword [rbx + 0x10], edx
mov rax, qword [rbx + 8]
mov word [rax + rdx*2], r14w
mov al, 1
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret