Function at 0x10011a10
Capabilities:
Check os version
Get os information via kuser_shared_data
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x10059004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov eax, ecx
mov dword [ebp - 0x218], eax
push esi
push edi
test eax, eax
je 0x10012002
xor al, al
mov dword [ebp - 0x14c], 0
push 0x40
mov byte [ebp - 0x211], al
mov edi, 0x1004f06f
lea eax, [ebp - 0x48]
mov dword [ebp - 0x21c], 0x1004f073
push 0
push eax
mov esi, 0x1004f072
call fcn.10017bc0
add esp, 0xc
mov dword [ebp - 0x150], 0
xorps xmm0, xmm0
lea eax, [ebp - 0x210]
movups xmmword [ebp - 0x170], xmm0
push 0x11c
push 0
push eax
movups xmmword [ebp - 0x160], xmm0
call fcn.10017bc0
add esp, 0xc
mov dword [ebp - 0x210], 0x11c
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x10012002
push str.GetNativeSystemInfo
push 0x10052040
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10011ae2
lea ecx, [ebp - 0x170]
push ecx
call eax
jmp 0x10011aef
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 8
push 0x7ffe026c
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10011b42
mov ebx, dword [0x7ffe026c]
cmp ebx, 5
mov ecx, dword [0x7ffe0270]
setae al
mov dword [ebp - 0x220], ecx
test al, al
je 0x10011b48
cmp ebx, 6
ja 0x10011b2a
jne 0x10011b48
cmp ecx, 2
jbe 0x10011b48
lea ecx, [ebp - 0x48]
call fcn.10011860
mov ecx, dword [ebp - 0x220]
mov dh, 1
mov byte [ebp - 0x211], dh
jmp 0x10011b4e
xor ecx, ecx
mov dh, cl
jmp 0x10011b4e
mov dh, byte [ebp - 0x211]
cmp dword [ebp - 0x200], 2
jne 0x10011fef
cmp dword [ebp - 0x20c], 4
jbe 0x10011fef
test dh, dh
je 0x10011bc2
cmp ebx, 0xa
jne 0x10011bf4
test ecx, ecx
jne 0x10011bc2
mov dl, byte [ebp - 0x176]
cmp dl, 1
jne 0x10011b8b
mov edi, str.Windows_10
jmp 0x10011bc8
lea ecx, [ebp - 0x48]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011b91
sub ecx, edi
je 0x10011bed
lea eax, [ebp - 0x48]
push str.17763
push eax
call fcn.100203fe
mov dh, byte [ebp - 0x211]
add esp, 8
test eax, eax
mov edi, str.Windows_Server_2019
mov ecx, 0x1005207c
cmovne edi, ecx
mov dl, byte [ebp - 0x176]
mov ebx, dword [ebp - 0x20c]
cmp ebx, 6
jne 0x10011cb3
mov eax, dword [ebp - 0x208]
test eax, eax
jne 0x10011c16
mov edi, str.Windows_Vista
mov eax, str.Windows_Server_2008
jmp 0x10011c3a
mov edi, str.Windows_Server_2016
jmp 0x10011bc8
cmp ebx, 6
jne 0x10011bc2
cmp ecx, 3
jne 0x10011bc2
mov dl, byte [ebp - 0x176]
mov edi, str.Windows_8.1
cmp dl, 1
mov eax, str.Windows_Server_2012_R2
cmovne edi, eax
jmp 0x10011bc8
cmp eax, 1
jne 0x10011c27
mov edi, str.Windows_7
mov eax, str.Windows_Server_2008_R2
jmp 0x10011c3a
cmp eax, 2
jne 0x10011c40
test dh, dh
jne 0x10011c40
mov edi, str.Windows_8
mov eax, str.Windows_Server_2012
cmp dl, 1
cmovne edi, eax
push str.GetProductInfo
push 0x10052154
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x14c]
push ecx
push 0
push 0
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call eax
push 0x100
lea eax, [ebp - 0x148]
push 0
push eax
call fcn.10017bc0
mov ecx, dword [ebp - 0x14c]
lea edx, [ebp - 0x148]
add esp, 8
call fcn.10011200
mov dl, byte [ebp - 0x176]
lea ecx, [ebp - 0x148]
mov ebx, dword [ebp - 0x20c]
add esp, 4
test al, al
cmove ecx, esi
mov esi, ecx
cmp ebx, 5
jne 0x10011e1f
cmp dword [ebp - 0x208], 2
jne 0x10011dba
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov cx, word [ebp - 0x170]
test eax, eax
mov dl, byte [ebp - 0x176]
mov eax, dword [ebp - 0x178]
je 0x10011cef
mov edi, str.Windows_Server_2003_R2
jmp 0x10011d2f
mov edi, 0x2000
cmp di, ax
jne 0x10011d00
mov edi, str.Windows_Storage_Server_2003
jmp 0x10011d2f
mov edi, 0x8000
cmp di, ax
jne 0x10011d11
mov edi, str.Windows_Home_Server
jmp 0x10011d2f
cmp dl, 1
jne 0x10011d2a
mov edi, 9
cmp di, cx
jne 0x10011d2a
mov edi, str.Windows_XP_Professional_x64_Edition
jmp 0x10011dad
mov edi, str.Windows_Server_2003
cmp dl, 1
je 0x10011dad
mov ebx, 6
cmp bx, cx
jne 0x10011d54
test al, al
jns 0x10011d49
mov esi, str.Datacenter_Edition_for_Itanium_based_Systems
jmp 0x10011dad
test al, 2
je 0x10011dad
mov esi, str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x10011dad
mov ebx, 9
cmp bx, cx
jne 0x10011d77
test al, al
jns 0x10011d69
mov esi, str.Datacenter_x64_Edition
jmp 0x10011dad
test al, 2
mov esi, str.Enterprise_x64_Edition
mov ebx, str.Standard_x64_Edition
jmp 0x10011daa
test eax, 0x4000
je 0x10011d85
mov esi, str.Compute_Cluster_Edition
jmp 0x10011dad
test al, al
jns 0x10011d90
mov esi, str.Datacenter_Edition
jmp 0x10011dad
test al, 2
je 0x10011d9b
mov esi, str.Enterprise_Edition
jmp 0x10011dad
test eax, 0x400
mov esi, str.Web_Edition
mov ebx, str.Standard_Edition
cmove esi, ebx
mov ebx, dword [ebp - 0x20c]
cmp ebx, 5
jne 0x10011e29
jmp 0x10011dc7
mov cx, word [ebp - 0x170]
mov eax, dword [ebp - 0x178]
cmp dword [ebp - 0x208], 1
jne 0x10011de9
test eax, 0x200
mov esi, str.Home_Edition
mov eax, 0x10052320
mov edi, str.Windows_XP
cmove esi, eax
jmp 0x10011e2b
cmp dword [ebp - 0x208], 0
jne 0x10011e2b
mov edi, str.Windows_2000
cmp dl, 1
jne 0x10011e03
mov esi, str.Professional
jmp 0x10011e2b
test al, al
jns 0x10011e0e
mov esi, str.Datacenter_Server
jmp 0x10011e2b
test al, 2
mov esi, str.Advanced_Server
mov eax, str.Server
cmove esi, eax
jmp 0x10011e2b
mov cx, word [ebp - 0x170]
cmp ebx, 5
jb 0x10011e59
mov eax, 9
cmp ax, cx
jne 0x10011e41
mov dword [ebp - 0x21c], str.64_Bit
jmp 0x10011e59
xor edx, edx
mov eax, str.32_Bit
cmp dx, cx
mov ecx, 0x1004f073
cmovne eax, ecx
mov dword [ebp - 0x21c], eax
cmp ebx, 4
mov edx, str.Microsoft_Windows_NT
mov ebx, dword [ebp - 0x21c]
mov ecx, ebx
cmova edx, edi
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011e70
sub ecx, edi
lea ecx, [ebp - 0x1fc]
lea edi, [ecx + 1]
jne 0x10011f33
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011e88
mov al, byte [ebp - 0x211]
sub ecx, edi
jne 0x10011ede
test al, al
je 0x10011ec5
lea ecx, [ebp - 0x48]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011ea3
sub ecx, edi
je 0x10011ec5
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1fc]
push eax
push esi
push edx
push str._s_s_s__Build__s_
jmp 0x10011f77
push dword [ebp - 0x204]
lea eax, [ebp - 0x1fc]
push eax
push esi
push edx
push str._s_s_s__Build__d_
jmp 0x10011f77
test al, al
je 0x10011f00
lea ecx, [ebp - 0x48]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011ee8
sub ecx, edi
je 0x10011f00
lea eax, [ebp - 0x48]
push eax
push esi
push edx
push str._s_s_Build__s_
jmp 0x10011f0d
push dword [ebp - 0x204]
push esi
push edx
push str._s_s_Build__d_
push 0x1fc
push dword [ebp - 0x218]
call fcn.100076a0
add esp, 0x18
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100136f9
mov esp, ebp
pop ebp
ret
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011f33
mov al, byte [ebp - 0x211]
sub ecx, edi
jne 0x10011f9d
test al, al
je 0x10011f69
lea ecx, [ebp - 0x48]
lea edi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011f50
sub ecx, edi
je 0x10011f69
push ebx
lea eax, [ebp - 0x48]
push eax
push esi
push edx
push str._s_s_Build__s___s
jmp 0x10011f77
push ebx
push dword [ebp - 0x204]
push esi
push edx
push str._s_s_Build__d___s
push 0x1fc
push dword [ebp - 0x218]
call fcn.100076a0
add esp, 0x1c
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100136f9
mov esp, ebp
pop ebp
ret
test al, al
je 0x10011fc7
lea ecx, [ebp - 0x48]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10011fa7
sub ecx, edi
je 0x10011fc7
push ebx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1fc]
push eax
push esi
push edx
push str._s_s_s__Build__s___s
jmp 0x10011fdc
push ebx
push dword [ebp - 0x204]
lea eax, [ebp - 0x1fc]
push eax
push esi
push edx
push str._s_s_s__Build__d___s
push 0x1fc
push dword [ebp - 0x218]
call fcn.100076a0
add esp, 0x20
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100136f9
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100136f9
mov esp, ebp
pop ebp
ret