Function at 0x410c74
Capabilities:
Check os version

Disassembly:
push ebx
push esi
push edi
add esp, 0xffffff60
mov esi, eax
lea eax, [esp + 4]
mov dword [esp], eax
mov edx, 0x9c
mov eax, dword [esp]
call fcn.00405394
mov dword [esp + 4], 0x9c
mov eax, dword [esp]
push eax
call sub.kernel32.dll_GetVersionExA
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
jne 0x410cd4
mov dword [esp + 4], 0x94
mov eax, dword [esp]
push eax
call sub.kernel32.dll_GetVersionExA
test eax, eax
jne 0x410cd4
mov eax, esi
mov edx, 0x410fc4
call fcn.00403e00
jmp 0x410faf
mov eax, dword [esp + 0x14]
sub eax, 1
jb 0x410fa3
je 0x410f53
dec eax
jne 0x410faf
cmp dword [esp + 8], 5
jne 0x410d21
cmp dword [esp + 0xc], 2
jne 0x410d21
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x410d15
mov eax, esi
mov edx, 0x410fd8
call fcn.00403e00
jmp 0x410d21
mov eax, esi
mov edx, 0x410ffc
call fcn.00403e00
cmp dword [esp + 8], 5
jne 0x410d3b
cmp dword [esp + 0xc], 1
jne 0x410d3b
mov eax, esi
mov edx, 0x411018
call fcn.00403e00
cmp dword [esp + 8], 5
jne 0x410d55
cmp dword [esp + 0xc], 0
jne 0x410d55
mov eax, esi
mov edx, 0x41102c
call fcn.00403e00
mov edi, dword [esp + 8]
cmp edi, 6
jne 0x410d71
cmp dword [esp + 0xc], 0
jne 0x410d71
mov eax, esi
mov edx, 0x411044
call fcn.00403e00
cmp edi, 4
ja 0x410d82
mov eax, esi
mov edx, 0x41105c
call fcn.00403e00
test bl, bl
je 0x410faf
cmp byte [esp + 0x9e], 1
jne 0x410dee
cmp edi, 4
jne 0x410daa
mov eax, esi
mov edx, 0x411070
call fcn.00403e00
jmp 0x410faf
test byte [esp + 0x9d], 2
je 0x410dd1
push dword [esi]
push 0x411088
push 0x411094
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
push dword [esi]
push 0x411088
push 0x4110ac
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
mov al, byte [esp + 0x9e]
cmp al, 2
je 0x410e01
cmp al, 3
jne 0x410faf
cmp dword [esp + 8], 5
jne 0x410ea0
cmp dword [esp + 0xc], 2
jne 0x410ea0
mov ax, word [esp + 0x9c]
test al, 0x80
je 0x410e40
push dword [esi]
push 0x411088
push 0x4110c4
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
test al, 2
je 0x410e61
push dword [esi]
push 0x411088
push 0x4110e0
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
test ah, 4
je 0x410e83
push dword [esi]
push 0x411088
push 0x4110fc
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
push dword [esi]
push 0x411088
push 0x411110
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
cmp dword [esp + 8], 5
jne 0x410f15
cmp dword [esp + 0xc], 0
jne 0x410f15
mov ax, word [esp + 0x9c]
test al, 0x80
je 0x410ed7
push dword [esi]
push 0x411088
push 0x41112c
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
test al, 2
je 0x410ef8
push dword [esi]
push 0x411088
push 0x411148
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
push dword [esi]
push 0x411088
push 0x411160
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
test byte [esp + 0x9c], 2
je 0x410f39
push dword [esi]
push 0x411170
push 0x41117c
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
push dword [esi]
push 0x411170
push 0x4111a4
mov eax, esi
mov edx, 3
call fcn.00404014
jmp 0x410faf
cmp dword [esp + 8], 4
jne 0x410f6d
cmp dword [esp + 0xc], 0
jne 0x410f6d
mov eax, esi
mov edx, 0x4111b8
call fcn.00403e00
cmp dword [esp + 8], 4
jne 0x410f87
cmp dword [esp + 0xc], 0xa
jne 0x410f87
mov eax, esi
mov edx, 0x4111cc
call fcn.00403e00
cmp dword [esp + 8], 4
jne 0x410faf
cmp dword [esp + 0xc], 0x5a
jne 0x410faf
mov eax, esi
mov edx, 0x4111e0
call fcn.00403e00
jmp 0x410faf
mov eax, esi
mov edx, 0x411204
call fcn.00403e00
add esp, 0xa0
pop edi
pop esi
pop ebx
ret