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

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x198]
sub rsp, 0x290
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov rax, qword [0x1801878e0]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov rbx, rcx
xor edi, edi
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x30], 0x11c
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x180008410
lea rcx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x34]
sub eax, 4
je 0x18000834e
sub eax, 1
je 0x180008275
sub eax, 1
je 0x18000817b
cmp eax, 4
jne 0x180008410
cmp dword [rsp + 0x38], edi
jne 0x180008410
mov rcx, rbx
cmp byte [rbp + 0x4a], 1
jne 0x18000816a
lea rdx, str.Windows_10
call fcn.1800021e0
jmp 0x1800084ca
lea rdx, str.Windows_Server_2016_Techical_Preview
call fcn.1800021e0
jmp 0x1800084ca
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x18000822f
sub eax, 1
je 0x1800081ef
sub eax, 1
je 0x1800081c4
cmp eax, 1
jne 0x180008410
mov rcx, rbx
cmp byte [rbp + 0x4a], al
jne 0x1800081b3
lea rdx, str.Windows_8.1
call fcn.1800021e0
jmp 0x1800084ca
lea rdx, str.Windows_Server_2012_R2
call fcn.1800021e0
jmp 0x1800084ca
mov rcx, rbx
cmp byte [rbp + 0x4a], 1
jne 0x1800081de
lea rdx, str.Windows_8
call fcn.1800021e0
jmp 0x1800084ca
lea rdx, str.Windows_Server_2012
call fcn.1800021e0
jmp 0x1800084ca
mov rcx, rbx
cmp byte [rbp + 0x4a], 1
jne 0x18000821e
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
mov r8d, 9
lea rdx, str.Windows_7
call fcn.1800023a0
jmp 0x1800084ca
lea rdx, str.Windows_Server_2008_R2
call fcn.1800021e0
jmp 0x1800084ca
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov rcx, rbx
cmp byte [rbp + 0x4a], 1
mov byte [rbx], dil
jne 0x18000825e
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.Windows_Vista
call fcn.1800023a0
jmp 0x1800084ca
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Windows_Server_2008
call fcn.1800023a0
jmp 0x1800084ca
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x180008325
sub eax, 1
je 0x1800082fc
sub eax, 1
jne 0x180008410
movzx eax, byte [rbp + 0x4a]
cmp al, 1
jne 0x1800082cb
cmp word [rbp + 0x50], 9
jne 0x180008410
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
mov r8d, 0x23
lea rdx, str.Windows_XP_Professional_x64_Edition
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
cmp al, 3
jne 0x180008410
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.Windows_Server_2003
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
mov r8d, 0xa
lea rdx, str.Windows_XP
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
mov r8d, Ordinal_14
lea rdx, str.Windows_2000
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x1800083b4
cmp eax, 0xa
je 0x18000838b
cmp eax, 0x5a
jne 0x180008410
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
lea r8d, [rax - 0x50]
lea rdx, str.Windows_Me
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
mov r8d, 0xa
lea rdx, str.Windows_98
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
mov eax, dword [rsp + 0x40]
cmp eax, 2
jne 0x1800083e4
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
lea r8d, [rax + 0xc]
lea rdx, str.Windows_NT_4.0
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
cmp eax, 1
jne 0x180008410
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], rdi
mov byte [rbx], dil
lea r8d, [rax + 9]
lea rdx, str.Windows_95
mov rcx, rbx
call fcn.1800023a0
jmp 0x1800084ca
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x80]
call fcn.18007f510
lea rcx, [rbp + 0x80]
call fcn.180005da0
nop
lea rdx, str.Windows_NT
lea rcx, [rbp + 0x90]
call fcn.180007510
mov edx, dword [rsp + 0x34]
lea rcx, [rbp + 0x90]
call fcn.180009000
mov rcx, rax
lea rdx, reloc.WLDAP32.dll_Ordinal_46
call fcn.180007510
mov edx, dword [rsp + 0x38]
lea rcx, [rbp + 0x90]
call fcn.180009000
mov rcx, rax
lea rdx, reloc.WLDAP32.dll_Ordinal_46
call fcn.180007510
mov edx, dword [rsp + 0x3c]
lea rcx, [rbp + 0x90]
call fcn.180009000
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.180005c90
nop
lea rcx, [rbp + 0x118]
call fcn.180005cc0
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x118]
call fcn.1800a3afc
nop
mov rax, rbx
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.18005ef00
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret