Function at 0x14001a040
Capabilities:
Check os version
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x200
movaps xmmword [rsp + 0x1f0], xmm6
mov rax, qword [0x140163028]
xor rax, rsp
mov qword [rsp + 0x1e8], rax
mov eax, dword [0x1401698c0]
mov ecx, dword [0x1401666f4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14001a0b8
mov rcx, qword [rsp + 0x1e8]
xor rcx, rsp
call fcn.140107cc0
movaps xmm6, xmmword [rsp + 0x1f0]
add rsp, 0x200
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1401698c0]
call fcn.1401050e8
cmp dword [0x1401698c0], 0xffffffff
jne 0x14001a08d
lea rsi, [rsp + 0xcc]
xor ebx, ebx
mov r8d, 0x118
mov rcx, rsi
xor edx, edx
call fcn.14010a410
mov dword [rsi - 4], 0x11c
lea rsi, [rsp + 0xc8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
lea rdi, [rsp + 0x2c]
mov dword [rdi], 0
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov qword [rsp + 0x20], rdi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetProductInfo]
mov ecx, 0x80
call fcn.140105030
mov r14, rax
mov rsi, rax
mov r15d, dword [rdi]
mov eax, dword [0x1401698f8]
mov ecx, dword [0x1401666f4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14001a4cf
mov dword [rsi], ebx
xorps xmm6, xmm6
movups xmmword [rsi + 0x20], xmm6
movups xmmword [rsi + 0x30], xmm6
movups xmmword [rsi + 0x40], xmm6
mov rdi, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rdi
mov rcx, rax
call fcn.14001a8b0
mov dword [rsi + 0x50], eax
call rdi
lea rdi, [rsp + 0x30]
mov dword [rdi], ebx
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
xor ecx, ecx
cmp dword [rdi], ebx
setne cl
test eax, eax
mov eax, 2
cmovne eax, ecx
mov dword [rsi + 0x60], eax
movups xmmword [rsi + 0x68], xmm6
mov qword [rsi + 0x78], rbx
mov eax, dword [rsp + 0xcc]
mov dword [rsi + 4], eax
mov eax, dword [rsp + 0xd0]
mov dword [rsi + 8], eax
mov eax, dword [rsp + 0xd4]
mov dword [rsi + 0xc], eax
mov dword [rsp + 0xc4], ebx
mov qword [rsp + 0xb0], rbx
movaps xmmword [rsp + 0xa0], xmm6
movaps xmm0, xmmword [0x140141df0]
lea rcx, [rsp + 0x80]
movaps xmmword [rcx], xmm0
mov qword [rcx], rbx
mov dword [rcx + 8], ebx
mov qword [rcx + 0x10], rbx
lea r8, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov rdx, 0xffffffff80000002
mov r9d, 1
call fcn.14001a730
test eax, eax
jne 0x14001a262
lea rdx, [0x14014976a]
lea rdi, [rsp + 0x80]
lea r8, [rsp + 0xc4]
mov rcx, rdi
call fcn.14001a9a0
lea rdx, str.ReleaseId
lea rbx, [rsp + 0xa0]
mov rcx, rdi
mov r8, rbx
call fcn.14001aa20
mov dl, byte [rbx + 0x17]
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
jmp 0x14001a268
xor eax, eax
xor ecx, ecx
xor edx, edx
test dl, dl
lea r13, [rsp + 0xa0]
cmovns rcx, r13
lea r12, [r14 + 0x20]
movzx edx, dl
cmovs rdx, rax
xorps xmm0, xmm0
lea rbx, [rsp + 0x60]
movaps xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov r8, rbx
call fcn.140019140
mov eax, dword [rsp + 0xc4]
lea rdi, [rsp + 0x38]
mov dword [rdi - 8], eax
movaps xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
lea rcx, [rsp + 0x80]
call fcn.14001a5a0
cmp byte [r13 + 0x17], 0
jns 0x14001a2da
mov rcx, qword [rsp + 0xa0]
call fcn.140105028
lea rax, [r14 + 0x10]
lea rcx, [rsp + 0xa8]
mov qword [rcx - 8], rax
mov qword [rcx], r12
mov rdx, rdi
call fcn.14001a650
mov eax, dword [rsp + 0x30]
mov dword [rsi + 0x10], eax
cmp byte [rsp + 0x4f], 0
jns 0x14001a30d
mov rcx, qword [rsp + 0x38]
call fcn.140105028
mov r8d, dword [rsi + 0xc]
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
call fcn.14001a7e0
mov dword [rsi], eax
lea rcx, [rsp + 0xdc]
movzx eax, word [rcx + 0x100]
mov dword [rsi + 0x18], eax
movzx eax, word [rcx + 0x102]
mov dword [rsi + 0x1c], eax
cmp word [rcx], 0
je 0x14001a356
xor eax, eax
lea rdx, [rax + 1]
cmp word [rsp + rax*2 + 0xde], 0
mov rax, rdx
jne 0x14001a342
jmp 0x14001a358
xor edx, edx
add r14, 0x38
xorps xmm0, xmm0
lea r8, [rsp + 0x30]
movaps xmmword [r8], xmm0
mov qword [r8 + 0x10], 0
call fcn.140019140
cmp byte [rsi + 0x4f], 0
js 0x14001a3e2
mov byte [rsi + 0x4f], 0
mov rax, qword [rsp + 0x40]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [r14], xmm0
mov eax, dword [0x1401698e8]
mov dword [rsi + 0x54], eax
mov eax, dword [0x1401698f0]
mov qword [rsi + 0x58], rax
mov eax, dword [rsp + 0xcc]
cmp eax, 5
je 0x14001a404
cmp eax, 0xa
je 0x14001a3be
cmp eax, 6
jne 0x14001a4b0
cmp r15d, 0x30
ja 0x14001a455
mov eax, r15d
mov ecx, 0x206f780
bt rcx, rax
jae 0x14001a43a
mov dword [rsi + 0x14], 2
jmp 0x14001a4b7
mov rax, qword [rsi + 0x38]
mov byte [rax], 0
mov qword [rsi + 0x40], 0
cmp byte [rsi + 0x4f], 0
jns 0x14001a37f
mov rcx, qword [r14]
call fcn.140105028
jmp 0x14001a37b
mov eax, dword [rsp + 0xd0]
cmp eax, 1
je 0x14001a477
cmp eax, 2
jne 0x14001a4b0
cmp byte [rsp + 0x1e2], 1
jne 0x14001a42d
cmp word [0x1401698c8], 9
je 0x14001a481
cmp word [rsp + 0x1e0], 0
jns 0x14001a3d6
jmp 0x14001a4b0
mov ecx, 0x8010050
bt rcx, rax
jb 0x14001a46e
movabs rcx, 0x1000000000002
bt rcx, rax
jb 0x14001a481
lea eax, [r15 - 0x46]
cmp eax, 0x3c
ja 0x14001a49a
movabs rcx, 0x1982000000004005
bt rcx, rax
jae 0x14001a48a
mov dword [rsi + 0x14], 3
jmp 0x14001a4b7
test byte [rsp + 0x1e1], 2
jne 0x14001a4b0
mov dword [rsi + 0x14], 1
jmp 0x14001a4b7
movabs rcx, 0x18000000000000
bt rcx, rax
jb 0x14001a4a7
add r15d, 0xffffff5c
cmp r15d, 2
jae 0x14001a4b0
mov dword [rsi + 0x14], 4
jmp 0x14001a4b7
mov dword [rsi + 0x14], 0
mov qword [0x1401698b8], rsi
lea rcx, [0x1401698c0]
call fcn.1401052d4
jmp 0x14001a08d
lea rcx, [0x1401698f8]
call fcn.1401050e8
cmp dword [0x1401698f8], 0xffffffff
jne 0x14001a159
xorps xmm0, xmm0
lea rdi, [rsp + 0x30]
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
movaps xmm0, xmmword [rdi]
movaps xmm1, xmmword [rdi + 0x10]
movaps xmm2, xmmword [rdi + 0x20]
movups xmmword [0x1401698e8], xmm2
movups xmmword [0x1401698d8], xmm1
movups xmmword [0x1401698c8], xmm0
lea rcx, [0x1401698f8]
call fcn.1401052d4
jmp 0x14001a159