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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102ea411
mov eax, dword fs:[0]
push eax
sub esp, 0x2fc
mov eax, dword [0x104230a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2ac], 0
push 0x102f6b8a
lea ecx, [ebp - 0x12c]
call fcn.100557f0
mov dword [ebp - 4], 0
push 0x102f6b8b
lea ecx, [ebp - 0x15c]
call fcn.100557f0
mov byte [ebp - 4], 1
push 0x102f6bc2
lea ecx, [ebp - 0x144]
call fcn.100557f0
mov byte [ebp - 4], 2
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea eax, [ebp - 0x113]
push eax
call fcn.101fd960
add esp, 0xc
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2e4], 0
push 0x11c
push 0
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.101fd960
add esp, 0xc
mov dword [ebp - 0x2a8], 0x11c
lea edx, [ebp - 0x2a8]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
jne 0x10090330
push 0x11c
push 0
lea eax, [ebp - 0x2a8]
push eax
call fcn.101fd960
add esp, 0xc
mov dword [ebp - 0x2a8], 0x114
lea ecx, [ebp - 0x2a8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x10090326
lea edx, [ebp - 0x12c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10055780
mov eax, dword [ebp - 0x2ac]
or eax, 1
mov dword [ebp - 0x2ac], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.10055650
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x15c]
call fcn.10055650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.10055650
mov eax, dword [ebp + 8]
jmp 0x100908f8
mov dword [ebp - 0x2b4], 1
cmp dword [ebp - 0x2a4], 6
jb 0x10090403
cmp dword [ebp - 0x2a0], 2
jb 0x10090403
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2cc], 0
lea ecx, [ebp - 0x2cc]
push ecx
lea edx, [ebp - 0x2c8]
push edx
lea eax, [ebp - 0x2c4]
push eax
call fcn.10090d90
add esp, 0xc
test eax, eax
jne 0x100903df
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10055780
mov edx, dword [ebp - 0x2ac]
or edx, 1
mov dword [ebp - 0x2ac], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.10055650
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x15c]
call fcn.10055650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.10055650
mov eax, dword [ebp + 8]
jmp 0x100908f8
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x2cc]
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x298], 2
jne 0x100908a7
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 5
je 0x10090444
cmp dword [ebp - 0x2b8], 6
je 0x10090511
cmp dword [ebp - 0x2b8], 0xa
je 0x100905fd
jmp 0x1009074e
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0
je 0x10090470
cmp dword [ebp - 0x2bc], 1
je 0x100904a0
cmp dword [ebp - 0x2bc], 2
je 0x100904b2
jmp 0x1009050c
movzx edx, byte [ebp - 0x18e]
cmp edx, 1
jne 0x1009048e
push str.Microsoft_Windows_2000_Professional
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009049e
push str.Microsoft_Windows_2000_Server
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009050c
push str.Microsoft_Windows_XP
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009050c
push 0x24
push 0
lea eax, [ebp - 0x308]
push eax
call fcn.101fd960
add esp, 0xc
lea ecx, [ebp - 0x308]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx edx, byte [ebp - 0x18e]
cmp edx, 1
jne 0x100904fc
movzx eax, word [ebp - 0x308]
cmp eax, 9
jne 0x100904fc
push str.Microsoft_Windows_XP_Professional_x64_Edition
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009050c
push str.Microsoft_Windows_Server_2003
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009074e
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2d0], ecx
cmp dword [ebp - 0x2d0], 3
ja case.default.0x10090530
mov edx, dword [ebp - 0x2d0]
jmp dword [edx*4 + 0x10090914]
movzx eax, byte [ebp - 0x18e]
cmp eax, 1
jne 0x10090555
push str.Windows_Vista
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x10090565
push str.Windows_Server_2008
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp case.default.0x10090530
movzx ecx, byte [ebp - 0x18e]
cmp ecx, 1
jne 0x10090588
push str.Windows_7
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x10090598
push str.Windows_Server_2008_R2
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp case.default.0x10090530
movzx edx, byte [ebp - 0x18e]
cmp edx, 1
jne 0x100905b8
push str.Windows_8
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x100905c8
push str.Windows_Server_2012
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp case.default.0x10090530
movzx eax, byte [ebp - 0x18e]
cmp eax, 1
jne 0x100905e8
push str.Windows_8.1
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp case.default.0x10090530
push str.Windows_Server_2012_R2
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009074e
mov ecx, dword [ebp - 0x2a0]
mov dword [ebp - 0x2d4], ecx
cmp dword [ebp - 0x2d4], 0
je 0x10090617
jmp 0x1009074e
movzx edx, byte [ebp - 0x18e]
cmp edx, 1
jne 0x1009066e
cmp dword [ebp - 0x29c], 0x55f0
je 0x10090647
cmp dword [ebp - 0x29c], 0x55ec
je 0x10090647
cmp dword [ebp - 0x29c], 0x585d
jne 0x10090659
push str.Windows_11
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x10090669
push 0x102f765c
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009074e
cmp dword [ebp - 0x29c], 0x3839
je 0x10090686
cmp dword [ebp - 0x29c], 0x380d
jne 0x1009069b
push str.Windows_Server_2016
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009074e
cmp dword [ebp - 0x29c], 0x4333
je 0x10090707
cmp dword [ebp - 0x29c], 0x44d7
je 0x10090707
cmp dword [ebp - 0x29c], 0x44f2
je 0x10090707
cmp dword [ebp - 0x29c], 0x4502
je 0x10090707
cmp dword [ebp - 0x29c], 0x451c
je 0x10090707
cmp dword [ebp - 0x29c], 0x452d
je 0x10090707
cmp dword [ebp - 0x29c], 0x4545
je 0x10090707
cmp dword [ebp - 0x29c], 0x4550
je 0x10090707
cmp dword [ebp - 0x29c], 0x4563
jne 0x10090719
push 0x102f767c
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009074e
cmp dword [ebp - 0x29c], 0x4a62
jne 0x1009073e
mov byte [ebp - 0x18e], 1
push str.Windows_10
lea ecx, [ebp - 0x12c]
call fcn.10055630
jmp 0x1009074e
push str.Windows_Server_2019
lea ecx, [ebp - 0x12c]
call fcn.10055630
cmp dword [ebp - 0x2a4], 6
jb 0x100908a7
lea ecx, [ebp - 0x12c]
call fcn.100552c0
movzx eax, al
test eax, eax
jne 0x100908a7
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2c0], 0
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0x804
jne 0x100907a9
mov dword [ebp - 0x2b0], 1
jmp 0x100907bf
cmp dword [ebp - 0x2c0], 0x409
jne 0x100907bf
mov dword [ebp - 0x2b0], 0
mov ecx, dword [ebp - 0x2b0]
push ecx
mov edx, dword [ebp - 0x2a0]
push edx
mov eax, dword [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x174]
push ecx
call fcn.10090e10
add esp, 0x10
mov dword [ebp - 0x2d8], eax
mov edx, dword [ebp - 0x2d8]
push edx
lea ecx, [ebp - 0x15c]
call fcn.10055690
lea ecx, [ebp - 0x174]
call fcn.10055650
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.1005d330
mov ecx, dword [ebp - 0x2b0]
push ecx
lea edx, [ebp - 0x18c]
push edx
call fcn.10091550
add esp, 8
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x144]
call fcn.10055690
lea ecx, [ebp - 0x18c]
call fcn.10055650
lea ecx, [ebp - 0x144]
push ecx
lea ecx, [ebp - 0x12c]
call fcn.1005d330
cmp dword [ebp - 0x29c], 0
je 0x100908a7
mov edx, dword [ebp - 0x29c]
push edx
mov eax, dword [ebp - 0x2a0]
push eax
mov ecx, dword [ebp - 0x2a4]
push ecx
push str.___d._d__version__d_
lea edx, [ebp - 0x114]
push edx
call fcn.10091680
add esp, 0x14
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x12c]
call fcn.10062b50
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10055780
mov edx, dword [ebp - 0x2ac]
or edx, 1
mov dword [ebp - 0x2ac], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.10055650
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x15c]
call fcn.10055650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.10055650
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100a9f90
mov esp, ebp
pop ebp
ret