Function at 0x4975f0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2d
push 0
push 0
dec ecx
jne 0x4975f8
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00405b64
xor eax, eax
push ebp
push 0x4979e2
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov byte [ebp - 0xe], 0
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x140]
xor ecx, ecx
mov edx, 0x94
call fcn.00403cb4
mov dword [ebp - 0x140], 0x94
cmp dword [ebp - 4], 0
je 0x4976fa
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.0040571c
lea ecx, [ebp - 0x144]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x144]
xor edx, edx
call fcn.0040c430
mov dword [ebp - 0x130], eax
lea ecx, [ebp - 0x148]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x148]
xor edx, edx
call fcn.0040c430
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x14c]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x14c]
xor edx, edx
call fcn.0040c430
mov dword [ebp - 0x138], eax
lea ecx, [ebp - 0x150]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x150]
xor edx, edx
call fcn.0040c430
mov dword [ebp - 0x134], eax
lea eax, [ebp - 4]
mov edx, dword [ebp - 8]
call fcn.0040571c
jmp 0x497706
lea eax, [ebp - 0x140]
push eax
call sub.kernel32.dll_GetVersionExA
mov esi, dword [ebp - 0x13c]
test esi, esi
jbe 0x4979b7
lea eax, [ebp - 0xc]
lea edx, [ebp - 0x12c]
mov ecx, 0x80
call fcn.00405904
cmp dword [ebp - 0x130], 1
jne 0x49779b
cmp esi, 4
jne 0x49779b
mov eax, dword [ebp - 0x138]
sub eax, 0xa
jb 0x49774c
sub eax, 0x50
jb 0x497767
sub eax, 0xb
jb 0x497799
jmp 0x49779b
mov edx, dword [ebp - 0xc]
mov eax, 0x497a08
call fcn.00405cb8
dec eax
sub eax, 2
jae 0x497763
mov bl, 2
jmp 0x49779b
mov bl, 1
jmp 0x49779b
mov edx, dword [ebp - 0xc]
mov eax, 0x497a14
call fcn.00405cb8
dec eax
sub eax, 2
jae 0x49777e
mov bl, 4
jmp 0x49779b
mov edx, dword [ebp - 0xc]
mov eax, 0x497a20
call fcn.00405cb8
dec eax
sub eax, 2
jae 0x497795
mov bl, 4
jmp 0x49779b
mov bl, 3
jmp 0x49779b
mov bl, 5
cmp dword [ebp - 0x130], 2
jne 0x4979b7
mov eax, dword [ebp - 0x13c]
cmp eax, 3
jne 0x4977cb
mov edx, dword [ebp - 0x138]
sub edx, 0xb
jb 0x4977c5
sub edx, 0x59
jb 0x4977c9
jmp 0x4977cb
mov bl, 6
jmp 0x4977cb
mov bl, 7
cmp eax, 3
jbe 0x4979b7
cmp eax, 4
jne 0x4977db
mov bl, 8
lea eax, [ebp - 0xaa]
xor ecx, ecx
mov edx, 0x9c
call fcn.00403cb4
mov dword [ebp - 0xaa], 0x9c
cmp dword [ebp - 4], 0
je 0x4978f3
lea ecx, [ebp - 0x154]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x154]
call fcn.0040c3f4
mov dword [ebp - 0x9a], eax
lea ecx, [ebp - 0x158]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x158]
call fcn.0040c3f4
mov dword [ebp - 0xa6], eax
lea ecx, [ebp - 0x15c]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x15c]
call fcn.0040c3f4
mov dword [ebp - 0xa2], eax
lea ecx, [ebp - 0x160]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x160]
call fcn.0040c3f4
mov dword [ebp - 0x9e], eax
cmp dword [ebp - 4], 0
je 0x4978ba
lea ecx, [ebp - 0x164]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x164]
call fcn.0040c3f4
mov byte [ebp - 0x10], al
jmp 0x4978c7
cmp dword [ebp - 0xa2], 1
jbe 0x4978c7
mov byte [ebp - 0x10], 3
cmp dword [ebp - 4], 0
je 0x49790c
lea ecx, [ebp - 0x168]
lea eax, [ebp - 4]
mov edx, 0x4979fc
call fcn.00494044
mov eax, dword [ebp - 0x168]
call fcn.0040c3f4
test eax, eax
setg byte [ebp - 0xd]
jmp 0x49790c
lea eax, [ebp - 0xaa]
push eax
call sub.kernel32.dll_GetVersionExA_1
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
setne byte [ebp - 0xd]
cmp dword [ebp - 0xa6], 0
jbe 0x4979b7
movzx eax, byte [ebp - 0x10]
cmp al, 3
je 0x497925
cmp al, 2
jne 0x497929
mov byte [ebp - 0xe], 1
mov eax, dword [ebp - 0xa6]
cmp eax, 4
jne 0x497940
cmp byte [ebp - 0xe], 0
je 0x49793e
mov bl, 0xa
jmp 0x497940
mov bl, 9
cmp eax, 5
jne 0x497993
cmp byte [ebp - 0xe], 0
je 0x49796d
mov edx, dword [ebp - 0xa2]
sub edx, 1
jb 0x49795b
dec edx
je 0x49795f
jmp 0x497993
mov bl, 0xc
jmp 0x497993
cmp byte [ebp - 0xd], 0
je 0x497969
mov bl, 0x11
jmp 0x497993
mov bl, 0x10
jmp 0x497993
mov edx, dword [ebp - 0xa2]
sub edx, 1
jb 0x49797f
je 0x497983
dec edx
je 0x497991
jmp 0x497993
mov bl, 0xb
jmp 0x497993
mov bl, 0xd
cmp word [ebp - 0x12], 0x200
jne 0x497993
mov bl, 0xe
jmp 0x497993
mov bl, 0xf
cmp eax, 6
jne 0x4979b7
cmp byte [ebp - 0xe], 0
je 0x4979a2
mov bl, 0x13
jmp 0x4979b7
mov eax, dword [ebp - 0xa2]
sub eax, 1
jb 0x4979b1
je 0x4979b5
jmp 0x4979b7
mov bl, 0x12
jmp 0x4979b7
mov bl, 0x14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4979e9
lea eax, [ebp - 0x168]
mov edx, 0xa
call fcn.004056a8
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004056a8
ret