Function at 0x14000ac20
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x140036040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov r15, rdx
mov r14, rcx
mov rdi, qword [rbp + 0x88]
mov rsi, qword [rbp + 0x90]
xor r12d, r12d
mov dword [rbp - 0x80], r12d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rax
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x10], r12
test rsi, rsi
je 0x14000aca6
test rdi, rdi
je 0x14000aca6
mov qword [rsi], r12
mov qword [rdi], r12
mov qword [rbp - 8], r12
mov qword [rbp], r12
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx + 0x60]
mov eax, r12d
test rdx, rdx
je 0x14000acd1
cmp dword [rdx + 0x118], 0xa
sete al
test eax, eax
je 0x14000ad2d
mov r9d, 0xb
mov r8, r14
mov edx, 0xc
lea rcx, [rbp + 8]
call fcn.140016a94
lea rax, [rbp + 8]
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x14000ad00
dec rcx
lea rdx, [rbp + 8]
call fcn.140003bd0
not eax
cmp eax, 0xfbc56134
jne 0x14000ad2d
movabs rax, 0x100000000000
or qword [rbp - 8], rax
movabs rax, 0x20000000000
or qword [rbp - 8], rax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400d2fd8], eax
jle 0x14000ad90
lea rcx, [0x1400d2fd8]
call fcn.14000d448
cmp dword [0x1400d2fd8], 0xffffffff
jne 0x14000ad90
mov rax, qword gs:[0x30]
mov rdx, qword [rax + 0x30]
mov rax, qword [rdx + 0x60]
mov qword [0x1400d2fd0], rax
lea rcx, [0x1400d2fd8]
call fcn.14000d3dc
mov rax, qword [0x1400d2fd0]
test rax, rax
je 0x14000adb8
mov ecx, 0x4a61
cmp word [rax + 0x120], cx
jb 0x14000adb8
movabs rax, 0x220000000
or qword [rbp], rax
cmp qword [0x1400d2d18], 0
jne 0x14000adeb
xor edx, edx
mov ecx, 0xa7dc6e73
call fcn.14000bb70
mov edx, 0x7996c9c2
mov rcx, rax
call fcn.14000beb0
mov qword [0x1400d2d18], rax
test rax, rax
je 0x14000af9e
cmp qword [0x1400d2d20], 0
jne 0x14000ae1e
xor edx, edx
mov ecx, 0xa7dc6e73
call fcn.14000bb70
mov edx, 0x32f88bb3
mov rcx, rax
call fcn.14000beb0
mov qword [0x1400d2d20], rax
test rax, rax
je 0x14000af9e
mov rax, qword [0x1400d2d28]
test rax, rax
jne 0x14000ae53
xor edx, edx
mov ecx, 0x6ae69f02
call fcn.14000bb70
mov edx, 0x5309edb7
mov rcx, rax
call fcn.14000beb0
mov qword [0x1400d2d28], rax
test rax, rax
je 0x14000af9e
cmp qword [rbp - 8], 0
jne 0x14000aea7
cmp qword [rbp], 0
jne 0x14000aea7
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x50], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 4
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8, r15
mov rdx, r14
xor ecx, ecx
call rax
jmp 0x14000af79
mov dword [rbp - 0x80], 0x70
lea r9, [rbp - 0x10]
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [0x1400d2d18]
mov rbx, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x18], rax
test rax, rax
je 0x14000af9e
lea r9, [rbp - 0x10]
xor r8d, r8d
mov edx, 1
mov rcx, rax
call qword [0x1400d2d18]
test eax, eax
je 0x14000af9e
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], 0x10
lea r9, [rbp - 8]
xor edx, edx
mov r8d, 0x20007
mov rcx, qword [rbp - 0x18]
call qword [0x1400d2d20]
test eax, eax
je 0x14000af9e
mov qword [rsp + 0x58], r12
lea rax, [rsp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], 0x80004
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8, r15
mov rdx, r14
xor ecx, ecx
call qword [0x1400d2d28]
test eax, eax
jne 0x14000af84
mov dword [rsp + 0x70], r12d
jmp 0x14000af9e
test rdi, rdi
je 0x14000af9e
test rsi, rsi
je 0x14000af9e
mov rax, qword [rsp + 0x68]
mov qword [rsi], rax
mov rax, qword [rsp + 0x60]
mov qword [rdi], rax
cmp qword [rbp - 0x18], 0
je 0x14000afba
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rbp - 0x18]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rsi, rsi
jne 0x14000aff6
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14000aff6
mov rax, qword [0x1400d2eb0]
test rax, rax
jne 0x14000afe6
mov ecx, 0x375d1c8
call fcn.14000c900
mov qword [0x1400d2eb0], rax
mov rcx, rax
call fcn.14000ce15
mov rcx, rbx
call fcn.14000d00a
test rdi, rdi
jne 0x14000b032
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x14000b032
mov rax, qword [0x1400d2eb0]
test rax, rax
jne 0x14000b022
mov ecx, 0x375d1c8
call fcn.14000c900
mov qword [0x1400d2eb0], rax
mov rcx, rax
call fcn.14000ce15
mov rcx, rbx
call fcn.14000d00a
mov eax, dword [rsp + 0x70]
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.14000d380
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret