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

Disassembly:
sub esp, 0xc8
mov eax, dword [0x6d2e54cc]
xor eax, esp
mov dword [esp + 0xc4], eax
cmp dword [0x6d2e56f0], 0
push ebx
mov ebx, dword [esp + 0xd0]
push ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
push esi
mov esi, dword [esp + 0xe0]
mov dword [esp + 0xc], esi
jne 0x6d2d4cb0
push edi
push 0x9c
lea eax, [esp + 0x3c]
push 0
push eax
call sub.MSVCR100.dll_memset
mov esi, dword [sym.imp.kernel32.dll_lstrcpyA]
add esp, 0xc
push str.win32
push 0x6d2e56dc
mov dword [esp + 0x40], 0x9c
call esi
mov edi, dword [sym.imp.kernel32.dll_GetVersionExA]
lea ecx, [esp + 0x38]
push ecx
call edi
test eax, eax
jne 0x6d2d4afb
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x3c], 0x94
call edi
mov eax, dword [esp + 0x48]
cmp eax, 2
jne 0x6d2d4b8f
mov eax, dword [esp + 0x3c]
cmp eax, 4
jne 0x6d2d4b1b
push str.winnt
jmp 0x6d2d4bbc
cmp eax, 6
jne 0x6d2d4b63
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x6d2d4b43
cmp byte [esp + 0xd2], 1
jne 0x6d2d4b3c
push str.winvista
jmp 0x6d2d4bbc
push str.winlong
jmp 0x6d2d4bbc
cmp eax, 1
jne 0x6d2d4bce
cmp byte [esp + 0xd2], al
jne 0x6d2d4b5c
push str.win7
jmp 0x6d2d4bbc
push str.win2008R2
jmp 0x6d2d4bbc
cmp eax, 5
jne 0x6d2d4bc3
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x6d2d4b77
push str.win2000
jmp 0x6d2d4bbc
cmp eax, 1
jne 0x6d2d4b83
push str.winxp
jmp 0x6d2d4bbc
cmp eax, 2
jne 0x6d2d4bce
push str.win2003
jmp 0x6d2d4bbc
cmp eax, 1
jne 0x6d2d4bc3
cmp dword [esp + 0x3c], 4
jne 0x6d2d4bb7
mov eax, dword [esp + 0x40]
cmp eax, 0xa
jne 0x6d2d4bab
push str.win98
jmp 0x6d2d4bbc
cmp eax, 0x5a
jne 0x6d2d4bb7
push str.winme
jmp 0x6d2d4bbc
push str.win95
push 0x6d2e56dc
call esi
cmp dword [esp + 0x3c], 0
jbe 0x6d2d4bff
mov eax, dword [esp + 0x40]
test eax, eax
je 0x6d2d4bff
push str.win32
push 0x6d2e56dc
call dword [sym.imp.kernel32.dll_lstrcmpA]
test eax, eax
jne 0x6d2d4bff
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
push str._d._d
push 0x6d2e56dc
call ebp
add esp, 0x10
movzx edx, word [esp + 0xcc]
push str.Unknown
xor eax, eax
push 0x6d2e56c8
mov dword [0x6d2e56c4], edx
mov word [esp + 0x1c], ax
call esi
push 0x6d2de1f0
call fcn.6d2c30d0
mov edi, eax
add esp, 4
test edi, edi
je 0x6d2d4c4c
push str.GetNativeSystemInfo
push edi
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x6d2d4c4c
lea ecx, [esp + 0x14]
push ecx
call eax
jmp 0x6d2d4c57
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.kernel32.dll_GetSystemInfo]
test edi, edi
je 0x6d2d4c62
push edi
call dword [sym.imp.kernel32.dll_FreeLibrary]
movzx eax, word [esp + 0x14]
pop edi
test eax, eax
je 0x6d2d4c96
cmp eax, 6
je 0x6d2d4c8f
cmp eax, 9
je 0x6d2d4c88
push eax
push 0x6d2de1d8
push 0x6d2e56c8
call ebp
add esp, 0xc
jmp 0x6d2d4ca2
push str.amd64
jmp 0x6d2d4c9b
push str.ia64
jmp 0x6d2d4c9b
push str.i586
push 0x6d2e56c8
call esi
mov esi, dword [esp + 0xc]
mov dword [0x6d2e56f0], 1
mov eax, dword [0x6d2e56c4]
test eax, eax
je 0x6d2d4ccc
push eax
push 0x6d2e56dc
push str._s_sp_d
push ebx
call ebp
add esp, 0x10
jmp 0x6d2d4cdc
push 0x6d2e56dc
push 0x6d2dcc48
push ebx
call ebp
add esp, 0xc
test esi, esi
je 0x6d2d4cf0
push 0x6d2e56c8
push 0x6d2dcc48
push esi
call ebp
add esp, 0xc
mov ecx, dword [esp + 0xd0]
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.6d2d932c
add esp, 0xc8
ret