Function at 0x6cd644
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x28
push 0
push 0
dec ecx
jne 0x6cd64c
push ebx
xor eax, eax
push ebp
push 0x6cd989
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x128]
mov eax, 0x6cd9a4
call fcn.0042bc5c
mov edx, dword [ebp - 0x128]
mov eax, 0x6fbac0
call fcn.0040a114
mov eax, 0x6fbac4
mov ecx, 0x6cd9c0
mov edx, dword [0x6fbac0]
call fcn.0040aaf4
call fcn.006be064
test al, al
je 0x6cd6b7
mov eax, 0x6fbac8
mov ecx, 0x6cd9e0
mov edx, dword [0x6fbac0]
call fcn.0040aaf4
jmp 0x6cd6c7
mov eax, 0x6fbac8
mov edx, dword [0x6fbac4]
call fcn.0040a114
mov ecx, 0xf013f
mov dl, 1
mov eax, dword [0x50a008]
call fcn.0050b198
mov ebx, eax
mov edx, 0x80000002
mov eax, ebx
call fcn.0050b23c
mov edx, 0x6cda04
mov eax, ebx
call fcn.0050b4c8
test al, al
je 0x6cd745
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 8]
mov edx, 0x6cda6c
mov eax, ebx
call fcn.0050bd70
lea eax, [ebp - 8]
xor ecx, ecx
mov edx, 0x6cda90
call fcn.0042dfe4
lea eax, [ebp - 0xc]
xor ecx, ecx
mov edx, 0x6cdab4
call fcn.0042dfe4
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x3bc]
call fcn.00534d30
mov eax, ebx
call fcn.0050b20c
mov dl, 1
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx - 4]
mov dword [ebp - 0x124], 0x114
lea eax, [ebp - 0x124]
push eax
call sub.kernel32.dll_GetVersionExW
mov eax, dword [ebp - 0x11c]
mov dword [0x6fbabc], eax
lea edx, [ebp - 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x3bc]
call fcn.00534cdc
lea ecx, [ebp - 0x10]
mov edx, dword [0x6f5b44]
mov edx, dword [edx]
lea eax, [ebp - 4]
call fcn.0042e320
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x10]
call fcn.0040a15c
lea eax, [ebp - 4]
mov edx, 0x6cdad4
call fcn.0042ddd0
cmp al, 1
jne 0x6cd7c3
mov dword [0x6fbabc], 3
lea eax, [ebp - 4]
mov edx, 0x6cdae8
call fcn.0042ddd0
cmp al, 1
je 0x6cd7e5
lea eax, [ebp - 4]
mov edx, 0x6cdafc
call fcn.0042ddd0
cmp al, 1
jne 0x6cd7ef
mov dword [0x6fbabc], 3
cmp dword [ebp - 0x120], 6
je 0x6cd80e
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x3c8]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x84]
lea edx, [ebp - 0x130]
mov eax, 1
call fcn.00406bc0
mov eax, dword [ebp - 0x130]
mov edx, 0x6cdb18
call fcn.0040ac2c
je 0x6cd883
lea edx, [ebp - 0x134]
xor eax, eax
call fcn.00406bc0
mov eax, dword [ebp - 0x134]
push eax
push dword [0x6fbac0]
push 0x6cdb30
push dword [0x6f4cf4]
push 0x6cdb40
push dword [0x6f4cf4]
push 0x6cdb50
lea eax, [ebp - 0x138]
mov edx, 6
call fcn.0040ab7c
mov edx, dword [ebp - 0x138]
pop eax
call fcn.0040ac2c
jne 0x6cd88a
mov byte [0x6f4cf0], 1
cmp dword [0x6fbabc], 1
jg 0x6cd8a6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x3c4]
mov dl, 1
call fcn.00534bf8
cmp byte [0x6f4cf0], 0
jne 0x6cd8bb
mov eax, dword [ebp + 8]
push eax
call fcn.006cd358
pop ecx
jmp 0x6cd8f6
lea edx, [ebp - 0x13c]
mov eax, 2
call fcn.00406bc0
mov eax, dword [ebp - 0x13c]
mov edx, 0x6cdb68
call fcn.0040ac2c
jne 0x6cd8f6
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x3c4]
mov edx, 1
mov ecx, dword [eax]
call dword [ecx + 0x108]
lea edx, [ebp - 0x140]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ebx, dword [eax + 0x3c0]
mov eax, ebx
call fcn.00534cdc
lea eax, [ebp - 0x140]
mov edx, dword [0x6f4d00]
call fcn.0040aa9c
mov edx, dword [ebp - 0x140]
mov eax, ebx
call fcn.00534d30
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x3c8]
mov edx, 0x6cdb7c
call fcn.00534d30
mov edx, dword [0x6f4cfc]
mov eax, dword [0x6fbab8]
call fcn.00534d30
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6cd990
lea eax, [ebp - 0x140]
call fcn.00409d34
lea eax, [ebp - 0x13c]
mov edx, 6
call fcn.00409d94
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.00409d94
ret