Function at 0x14000bf90
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x760]
sub rsp, 0x860
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], 0x11c
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov rcx, qword [str.5hAUiJAXrMZH_TtX]
lea rdx, [rbp + 0x360]
call fcn.14000deb0
movzx eax, byte [rbp + 0x360]
lea r11, [rbp + 0x360]
lea rcx, [rbp + 0x80]
test al, al
je 0x14000c006
nop dword [rax]
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x14000bff0
xor edi, edi
lea rdx, [rbp + 0x220]
mov word [rcx], di
mov rcx, qword [str.ShAnGJcn5L_pxYpM9TAq7EFJiI]
call fcn.14000deb0
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [rbp + 0x220]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rbp + 0x50]
test rax, rax
cmove rax, qword [sym.imp.KERNEL32.dll_GetSystemInfo]
call rax
mov r11d, dword [rsp + 0x34]
cmp r11d, 0xa
jne 0x14000c068
cmp byte [rbp + 0x4a], 1
mov eax, edi
sete al
add eax, 0x49
jmp 0x14000c0ec
cmp r11d, 6
jne 0x14000c0bd
mov eax, dword [rsp + 0x38]
cmp eax, 3
jne 0x14000c085
cmp byte [rbp + 0x4a], 1
mov eax, edi
sete al
add eax, 0x4b
jmp 0x14000c0ec
cmp eax, 2
jne 0x14000c098
cmp byte [rbp + 0x4a], 1
mov eax, edi
sete al
add eax, 0x4d
jmp 0x14000c0ec
cmp eax, 1
jne 0x14000c0ab
cmp byte [rbp + 0x4a], 1
mov eax, edi
sete al
add eax, 0x4f
jmp 0x14000c0ec
test eax, eax
jne 0x14000c0e7
cmp byte [rbp + 0x4a], 1
mov eax, edi
sete al
add eax, 0x51
jmp 0x14000c0ec
cmp r11d, 5
jne 0x14000c0e7
mov eax, dword [rsp + 0x38]
cmp eax, 2
jne 0x14000c0d2
lea eax, [r11 + 0x4e]
jmp 0x14000c0ec
cmp eax, 1
jne 0x14000c0de
mov eax, 0x54
jmp 0x14000c0ec
test eax, eax
mov eax, 0x55
je 0x14000c0ec
mov eax, 0x56
mov ecx, eax
lea rbx, str.hjH_Jp1NncH_aqpsL8N
lea rdx, [rbp + 0x360]
mov rcx, qword [rbx + rcx*8]
call fcn.14000deb0
movzx eax, byte [rbp + 0x360]
lea r11, [rbp + 0x360]
lea rdx, [rbp + 0x80]
test al, al
je 0x14000c136
nop
movsx eax, al
inc r11
add rdx, 2
mov word [rdx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x14000c120
cmp word [rbp + 0x50], 9
mov eax, edi
mov word [rdx], di
setne al
lea rdx, [rbp + 0x360]
add eax, 0x57
mov rcx, qword [rbx + rax*8]
call fcn.14000deb0
movzx eax, byte [rbp + 0x360]
lea r11, [rbp + 0x360]
lea rcx, [rbp + 0x290]
test al, al
je 0x14000c186
nop
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x14000c170
mov word [rcx], di
xor edx, edx
mov ecx, pe_nt_image_headers64
call fcn.14000e210
mov rbx, rax
test rax, rax
je 0x14000c293
lea rdx, [rbp + 0x360]
cmp word [rbp + 0x44], di
je 0x14000c22a
mov rcx, qword [str.QLrfQLrfxRPp_P]
call fcn.14000deb0
movzx eax, byte [rbp + 0x360]
lea r11, [rbp + 0x360]
lea rcx, [rbp + 0x150]
test al, al
je 0x14000c1f6
nop word [rax + rax]
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x14000c1e0
movzx eax, word [rbp + 0x44]
mov word [rcx], di
lea r9, [rbp + 0x80]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x290]
lea r8, [rbp + 0x150]
mov edx, pe_nt_image_headers64
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140002880
jmp 0x14000c290
mov rcx, qword [str.QLrfQLr]
call fcn.14000deb0
movzx eax, byte [rbp + 0x360]
lea r11, [rbp + 0x360]
lea rcx, [rbp + 0x150]
test al, al
je 0x14000c266
nop
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x14000c250
lea rax, [rbp + 0x290]
mov word [rcx], di
lea r9, [rbp + 0x80]
lea r8, [rbp + 0x150]
mov edx, pe_nt_image_headers64
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140002880
mov rax, rbx
lea r11, [rsp + 0x860]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret