Function at 0x49cc28
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff28
push ebx
push esi
xor edx, edx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49d226
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, 0x49d23c
call fcn.00404304
mov bl, 1
mov dword [ebp - 0xac], 0x9c
lea eax, [ebp - 0xac]
push eax
call sub.kernel32.dll_GetVersionExA
test eax, eax
jne 0x49cca8
mov dword [ebp - 0xac], 0x94
lea eax, [ebp - 0xac]
push eax
call sub.kernel32.dll_GetVersionExA
xor ebx, ebx
mov eax, dword [ebp - 0x9c]
sub eax, 1
jb 0x49ccc1
je 0x49cd19
dec eax
je 0x49cdd3
jmp 0x49d1f5
lea eax, [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xc0], eax
mov byte [ebp - 0xbc], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 0xb4], 0
lea edx, [ebp - 0xc0]
mov ecx, 1
mov eax, 0x49d258
call fcn.0040a00c
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 4]
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d1f5
cmp dword [ebp - 0xa8], 4
jne 0x49cd60
cmp dword [ebp - 0xa4], 0
jne 0x49cd60
mov eax, dword [ebp - 4]
mov edx, 0x49d268
call fcn.00404578
mov eax, dword [ebp - 4]
mov al, byte [ebp - 0x97]
add al, 0xbe
sub al, 2
jae 0x49d1f5
mov eax, dword [ebp - 4]
mov edx, 0x49d274
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d1f5
cmp dword [ebp - 0xa8], 4
jne 0x49cda4
cmp dword [ebp - 0xa4], 0xa
jne 0x49cda4
mov eax, dword [ebp - 4]
mov edx, 0x49d284
call fcn.00404578
mov eax, dword [ebp - 4]
cmp byte [ebp - 0x97], 0x41
jne 0x49d1f5
mov eax, dword [ebp - 4]
mov edx, 0x49d290
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d1f5
cmp dword [ebp - 0xa8], 4
jne 0x49d1f5
cmp dword [ebp - 0xa4], 0x5a
jne 0x49d1f5
mov eax, dword [ebp - 4]
mov edx, 0x49d2a8
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d1f5
mov esi, dword [ebp - 0xa8]
mov eax, esi
add eax, 0xfffffffd
sub eax, 2
jb 0x49cdea
je 0x49ce39
jmp 0x49ce81
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 0xc0], esi
mov byte [ebp - 0xbc], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 0xb4], 0
lea edx, [ebp - 0xc0]
mov ecx, 1
mov eax, 0x49d2c4
call fcn.0040a00c
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 4]
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49ce81
mov eax, dword [ebp - 0xa4]
test eax, eax
jne 0x49ce55
mov eax, dword [ebp - 4]
mov edx, 0x49d2d8
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49ce81
cmp eax, 1
jne 0x49ce6c
mov eax, dword [ebp - 4]
mov edx, 0x49d2e8
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49ce81
cmp eax, 2
jne 0x49ce81
mov eax, dword [ebp - 4]
mov edx, 0x49d2f4
call fcn.00404578
mov eax, dword [ebp - 4]
test bl, bl
je 0x49cfe9
mov al, byte [ebp - 0x12]
cmp al, 1
jne 0x49cede
cmp dword [ebp - 0xa8], 4
jne 0x49ceae
mov eax, dword [ebp - 4]
mov edx, 0x49d30c
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
test byte [ebp - 0x13], 2
je 0x49cec9
mov eax, dword [ebp - 4]
mov edx, 0x49d324
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
mov eax, dword [ebp - 4]
mov edx, 0x49d33c
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
cmp al, 3
jne 0x49d0d7
cmp dword [ebp - 0xa8], 5
jne 0x49cf5d
cmp dword [ebp - 0xa4], 2
jne 0x49cf5d
mov ax, word [ebp - 0x14]
test al, 0x80
je 0x49cf15
mov eax, dword [ebp - 4]
mov edx, 0x49d354
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
test al, 2
je 0x49cf2e
mov eax, dword [ebp - 4]
mov edx, 0x49d370
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
test ah, 4
je 0x49cf48
mov eax, dword [ebp - 4]
mov edx, 0x49d38c
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
mov eax, dword [ebp - 4]
mov edx, 0x49d3a4
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
cmp dword [ebp - 0xa8], 5
jne 0x49cfba
cmp dword [ebp - 0xa4], 0
jne 0x49cfba
mov ax, word [ebp - 0x14]
test al, 0x80
je 0x49cf8c
mov eax, dword [ebp - 4]
mov edx, 0x49d3c0
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
test al, 2
je 0x49cfa5
mov eax, dword [ebp - 4]
mov edx, 0x49d3dc
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
mov eax, dword [ebp - 4]
mov edx, 0x49d3f8
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
mov eax, dword [ebp - 4]
mov edx, 0x49d3f8
call fcn.00404578
mov eax, dword [ebp - 4]
test byte [ebp - 0x14], 2
je 0x49d0d7
mov eax, dword [ebp - 4]
mov edx, 0x49d370
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0d7
mov dl, 1
mov eax, dword [0x434a88]
call fcn.00434bc4
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x49d0d0
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000002
mov eax, dword [ebp - 0xc]
call fcn.00434ca0
xor ecx, ecx
mov edx, 0x49d408
mov eax, dword [ebp - 0xc]
call fcn.00434d08
test al, al
je 0x49d0ba
mov edx, 0x49d444
mov eax, dword [ebp - 0xc]
call fcn.00435178
test al, al
je 0x49d0b2
lea ecx, [ebp - 8]
mov edx, 0x49d444
mov eax, dword [ebp - 0xc]
call fcn.0043505c
mov edx, 0x49d458
mov eax, dword [ebp - 8]
call fcn.00408b0c
test al, al
je 0x49d06e
mov eax, dword [ebp - 4]
mov edx, 0x49d30c
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0b2
mov edx, 0x49d468
mov eax, dword [ebp - 8]
call fcn.00408b0c
test al, al
je 0x49d091
mov eax, dword [ebp - 4]
mov edx, 0x49d3f8
call fcn.00404578
mov eax, dword [ebp - 4]
jmp 0x49d0b2
mov edx, 0x49d47c
mov eax, dword [ebp - 8]
call fcn.00408b0c
test al, al
je 0x49d0b2
mov eax, dword [ebp - 4]
mov edx, 0x49d490
call fcn.00404578
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
call fcn.00434c70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49d0d7
mov eax, dword [ebp - 0xc]
call fcn.004033fc
ret
mov eax, dword [ebp - 4]
push dword [eax]
push 0x49d4a8
lea eax, [ebp - 0xc8]
lea edx, [ebp - 0x98]
mov ecx, 0x80
call fcn.00404520
push dword [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov edx, 3
call fcn.00404630
cmp dword [ebp - 0xa8], 4
jne 0x49d1b3
lea eax, [ebp - 0xcc]
lea edx, [ebp - 0x98]
mov ecx, 0x80
call fcn.00404520
mov eax, dword [ebp - 0xcc]
mov edx, 0x49d4b4
call fcn.00408b0c
test al, al
je 0x49d1b3
mov dl, 1
mov eax, dword [0x434a88]
call fcn.00434bc4
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x49d1ac
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000002
mov eax, dword [ebp - 0x10]
call fcn.00434ca0
xor ecx, ecx
mov edx, 0x49d4cc
mov eax, dword [ebp - 0x10]
call fcn.00434d08
test al, al
je 0x49d196
mov eax, dword [ebp - 4]
mov edx, 0x49d514
call fcn.00404578
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
call fcn.00434c70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49d1b3
mov eax, dword [ebp - 0x10]
call fcn.004033fc
ret
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xa0]
and eax, 0xffff
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 0
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x49d520
call fcn.0040a00c
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 4]
call fcn.00404578
mov eax, dword [ebp - 4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49d22d
lea eax, [ebp - 0xd0]
mov edx, 4
call fcn.004042d4
lea eax, [ebp - 0xb0]
call fcn.004042b0
lea eax, [ebp - 8]
call fcn.004042b0
ret