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

Disassembly:
push 0x200
mov eax, 0x5f0854
call fcn.005c5e27
lea eax, [ebp - 0x20c]
xor esi, esi
push eax
mov dword [ebp - 0x1e8], esi
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, 0x9c
push edi
lea eax, [ebp - 0x1c8]
push esi
push eax
call fcn.005c2720
add esp, 0xc
lea eax, [ebp - 0x1c8]
push eax
mov dword [ebp - 0x1c8], edi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x403538
push 0xf
xor ecx, ecx
pop esi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x11c], ecx
mov byte [ebp - 0x12c], cl
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x1c4]
sub eax, 4
je 0x403426
dec eax
je 0x4033bb
dec eax
je 0x403304
sub eax, 4
je 0x4032dd
push 0x17
push str.Unknown_OperatingSystem
jmp 0x403474
cmp byte [ebp - 0x12e], 1
lea ecx, [ebp - 0x12c]
jne 0x4032f8
push 0x14
push str.Microsoft_Windows_10
jmp 0x40347a
push 0x2f
push str.Microsoft_Windows_Server_2016_Technical_Preview
jmp 0x40347a
mov eax, dword [ebp - 0x1c0]
sub eax, ecx
je 0x403394
dec eax
je 0x40336d
dec eax
je 0x403346
dec eax
jne 0x40347f
cmp byte [ebp - 0x12e], 1
lea ecx, [ebp - 0x12c]
jne 0x40333a
push 0x15
push str.Microsoft_Windows_8.1
jmp 0x40347a
push 0x20
push str.Microsoft_Windows_Server_2012_R2
jmp 0x40347a
cmp byte [ebp - 0x12e], 1
lea ecx, [ebp - 0x12c]
jne 0x403361
push 0x13
push str.Microsoft_Windows_8
jmp 0x40347a
push 0x1d
push str.Microsoft_Windows_Server_2012
jmp 0x40347a
cmp byte [ebp - 0x12e], 1
lea ecx, [ebp - 0x12c]
jne 0x403388
push 0x13
push str.Microsoft_Windows_7
jmp 0x40347a
push 0x20
push str.Microsoft_Windows_Server_2008_R2
jmp 0x40347a
cmp byte [ebp - 0x12e], 1
lea ecx, [ebp - 0x12c]
jne 0x4033af
push 0x17
push str.Microsoft_Windows_Vista
jmp 0x40347a
push 0x1d
push str.Microsoft_Windows_Server_2008
jmp 0x40347a
mov eax, dword [ebp - 0x1c0]
sub eax, ecx
je 0x40341d
dec eax
je 0x403414
dec eax
jne 0x40347f
cmp byte [ebp - 0x12e], 1
jne 0x4033f0
push 9
pop eax
cmp ax, word [ebp - 0x20c]
jne 0x4033f0
push 0x2d
push str.Microsoft_Windows_XP_Professional_X64_Edition
jmp 0x403474
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [ebp - 0x12c]
test eax, eax
jne 0x40340b
push 0x1d
push str.Microsoft_Windows_Server_2003
jmp 0x40347a
push 0x21
push str.Microsoft_Windows_Server_2003_RC2
jmp 0x40347a
push 0x14
push str.Microsoft_Windows_XP
jmp 0x403474
push 0x16
push str.Microsoft_Windows_2000
jmp 0x403474
cmp dword [ebp - 0x1c0], ecx
je 0x403452
cmp dword [ebp - 0x1c0], 0xa
je 0x403449
cmp dword [ebp - 0x1c0], 0x5a
jne 0x40347f
push 0x14
push str.Microsoft_Windows_Me
jmp 0x403474
push 0x14
push str.Microsoft_Windows_98
jmp 0x403474
cmp dword [ebp - 0x1b8], 2
jne 0x403464
push 0x18
push str.Microsoft_Windows_NT_4.0
jmp 0x403474
cmp dword [ebp - 0x1b8], 1
jne 0x40347f
push 0x14
push str.Microsoft_Windows_95
lea ecx, [ebp - 0x12c]
call fcn.004022cd
mov edi, 0x627fc0
push edi
lea eax, [ebp - 0x12c]
push eax
call fcn.00402b5c
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00402b5c
movzx eax, byte [ebp - 0x12e]
push eax
movzx eax, word [ebp - 0x132]
push eax
movzx eax, word [ebp - 0x134]
push eax
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x110]
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push str._Windows_d._d._d_ServicePack_d._d_ProductType_d_
push pe_nt_image_headers32
push eax
call fcn.005be145
push edi
lea eax, [ebp - 0x1e4]
push eax
lea edi, [ebp - 0x12c]
call fcn.00404d8b
add esp, 0x2c
push 0
push 1
lea ecx, [ebp - 0x1e4]
call fcn.00402696
lea eax, [ebp - 0x110]
push eax
mov eax, edi
push eax
call fcn.00402b5c
and dword [ebx + 0x10], 0
mov dword [ebx + 0x14], esi
mov esi, edi
mov edi, ebx
mov byte [ebx], 0
call fcn.00405d94
push 0
push 1
mov ecx, esi
call fcn.00402696
jmp 0x403551
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], esi
push 0x627ca0
mov ecx, ebx
mov byte [ebx], 0
call fcn.00402342
mov eax, ebx
call fcn.005c5eaa
ret