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

Disassembly:
mov al, byte [0x706ef0]
sub esp, 0xcc
push ebx
xor ebx, ebx
cmp al, bl
jne 0x63310c
push ebp
mov dword [0x707624], ebx
mov dword [0x707620], ebx
mov dword [0x707634], ebx
mov dword [0x707618], ebx
mov dword [0x6d9f1c], ebx
mov dword [0x707614], ebx
mov dword [0x707610], ebx
mov dword [0x70760c], ebx
mov dword [0x70761c], ebx
mov dword [0x707628], ebx
mov dword [0x6d9f24], ebx
mov dword [0x6d9f20], ebx
mov dword [0x707638], ebx
mov dword [0x70762c], ebx
mov dword [0x707630], ebx
mov dword [0x6d9f28], ebx
mov byte [0x706e78], bl
call fcn.00636fc0
test eax, eax
je 0x6330b7
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [esp + 0x30]
lea edx, [esp + 8]
push ebx
push edx
mov dword [0x6d9f1c], ecx
mov dword [esp + 0x20], ebx
call fcn.00636fdb
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [0x706e78], ecx
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp eax, ebx
mov ebp, eax
mov dword [0x706e7c], edx
mov dword [0x706e80], ecx
mov byte [0x706e84], bl
jle 0x6330c1
push esi
push edi
mov edi, str.GenuineIntel
mov esi, 0x706e78
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x632e86
mov dword [0x6d9f28], 1
jmp 0x632ee7
mov edi, str.AuthenticAMD
mov esi, 0x706e78
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x632ea7
mov dword [0x70762c], 1
jmp 0x632ee7
mov edi, str.CyrixInstead
mov esi, 0x706e78
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x632ec8
mov dword [0x707630], 1
jmp 0x632ee7
mov edi, str.CentaurHauls
mov esi, 0x706e78
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x632ee7
mov dword [0x707638], 1
mov esi, 1
lea ecx, [esp + 0x10]
push esi
push ecx
call fcn.00636fdb
mov eax, dword [esp + 0x18]
mov ecx, eax
mov edx, eax
sar ecx, 8
sar edx, 4
and ecx, 0xf
and edx, 0xf
and eax, 0xf
add esp, 8
cmp ecx, 6
mov dword [0x70760c], ecx
mov dword [0x707610], edx
mov dword [0x707614], eax
jl 0x632f2d
mov dword [0x6d9f20], esi
lea eax, [esp + 0x10]
push bind
push eax
call fcn.00636fdb
mov eax, dword [0x70762c]
add esp, 8
cmp eax, ebx
je 0x632f7d
cmp dword [esp + 0x10], 0x80000000
jbe 0x632f7d
lea ecx, [esp + 0x10]
push reloc.WS2_32.dll_accept
push ecx
call fcn.00636fdb
mov eax, dword [esp + 0x20]
mov edx, eax
shr edx, 0x1f
shr eax, 0x16
add esp, 8
and eax, esi
mov dword [0x707634], edx
mov dword [0x70761c], eax
lea eax, [esp + 0x10]
push esi
push eax
call fcn.00636fdb
mov eax, dword [esp + 0x20]
mov ecx, eax
shr ecx, 0x1a
mov edx, eax
shr edx, 0x17
and ecx, esi
and edx, esi
mov dword [0x707624], ecx
mov ecx, eax
mov dword [0x707618], edx
mov edx, eax
shr ecx, 0x19
shr edx, 4
shr eax, 0xf
and ecx, esi
and edx, esi
and eax, esi
add esp, 8
cmp ecx, ebx
mov dword [0x707620], ecx
mov dword [0x6d9f24], edx
mov dword [0x707628], eax
je 0x632fd7
mov dword [0x70761c], esi
push str.ISMMX
call fcn.00665853
add esp, 4
cmp eax, ebx
je 0x632ff6
push eax
call fcn.0066448a
add esp, 4
mov dword [0x707618], eax
push str.ISK3D
call fcn.00665853
add esp, 4
cmp eax, ebx
je 0x633015
push eax
call fcn.0066448a
add esp, 4
mov dword [0x707634], eax
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [esp + 0x58]
pop edi
cmp eax, esi
pop esi
jne 0x633044
cmp dword [esp + 0x48], ebx
jne 0x633044
mov dword [0x707624], ebx
mov dword [0x707620], ebx
push str.ISSSE
call fcn.00665853
add esp, 4
cmp eax, ebx
je 0x633063
push eax
call fcn.0066448a
add esp, 4
mov dword [0x707620], eax
push str.ISSSE2
call fcn.00665853
add esp, 4
cmp eax, ebx
je 0x633082
push eax
call fcn.0066448a
add esp, 4
mov dword [0x707624], eax
push str.ISMOVNT
call fcn.00665853
add esp, 4
cmp eax, ebx
je 0x6330a1
push eax
call fcn.0066448a
add esp, 4
mov dword [0x70761c], eax
cmp ebp, 2
jl 0x6330c1
lea ecx, [esp + 8]
push 2
push ecx
call fcn.00636fdb
add esp, 8
jmp 0x6330c1
call fcn.00636ff9
mov dword [0x707630], eax
call fcn.00632860
mov ecx, eax
cmp ecx, ebx
mov eax, 0xf4240
pop ebp
jne 0x6330de
call fcn.006329b0
mov ecx, eax
mov eax, 5
mul ecx
cmp edx, ebx
mov dword [0x706ef8], eax
mov dword [0x706efc], edx
mov dword [0x706ef4], eax
ja 0x6330f9
cmp eax, 0xffffffff
jb 0x633103
mov dword [0x706ef4], 0xffffffff
mov byte [0x706ef0], 1
jmp 0x633117
mov edx, dword [0x706efc]
mov eax, dword [0x706ef8]
cmp dword [0x706ef4], ebx
je 0x633218
mov dword [0x706e88], eax
mov dword [0x706e8c], edx
call fcn.00637020
mov edx, 0x706e90
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
cmp cl, bl
jne 0x633138
mov edx, dword [0x6d9f1c]
mov dword [0x706ea0], edx
xor eax, eax
mov cl, byte [eax + 0x706e78]
mov byte [eax + 0x706ea4], cl
inc eax
cmp cl, bl
jne 0x633150
mov eax, dword [0x70760c]
mov ecx, dword [0x707610]
mov edx, dword [0x707614]
mov dword [0x706eb4], eax
mov eax, dword [0x6d9f20]
mov dword [0x706eb8], ecx
mov ecx, dword [0x6d9f28]
mov dword [0x706ebc], edx
mov edx, dword [0x70762c]
mov dword [0x706ec0], eax
mov eax, dword [0x707630]
mov dword [0x706ec4], ecx
mov ecx, dword [0x707638]
mov dword [0x706ec8], edx
mov edx, dword [0x6d9f24]
mov dword [0x706ecc], eax
mov eax, dword [0x707628]
mov dword [0x706ed0], ecx
mov ecx, dword [0x70761c]
mov dword [0x706ed4], edx
mov edx, dword [0x707618]
mov dword [0x706ed8], eax
mov eax, dword [0x707620]
mov dword [0x706edc], ecx
mov ecx, dword [0x707624]
mov dword [0x706ee0], edx
mov edx, dword [0x707634]
mov dword [0x706ee4], eax
mov eax, dword [0x706ef4]
mov dword [0x706ee8], ecx
mov dword [0x706eec], edx
pop ebx
add esp, 0xcc
ret
push 0x68
push 0x706e88
call fcn.006327d0
mov eax, dword [0x706ef4]
add esp, 8
pop ebx
add esp, 0xcc
ret