Function at 0x5708bc
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x570d5a
push dword fs:[eax]
mov dword fs:[eax], esp
or edi, 0xffffffff
or esi, 0xffffffff
xor ebx, ebx
lea edx, [ebp - 4]
mov eax, dword [0x588cd4]
mov eax, dword [eax]
call fcn.0041ecec
mov eax, dword [0x58967c]
mov eax, dword [eax]
dec eax
je 0x570929
dec eax
je 0x5709b3
jmp case.default.0x570ba5
mov eax, dword [0x5892ec]
mov eax, dword [eax]
sub eax, 0xa
jb 0x570941
sub eax, 0x50
jb 0x57096d
je 0x5709ac
jmp case.default.0x570ba5
mov eax, dword [ebp - 4]
mov edx, 0x570d78
call fcn.0040a990
je 0x57095f
mov eax, dword [ebp - 4]
mov edx, 0x570d88
call fcn.0040a990
jne 0x570966
mov bl, 2
jmp case.default.0x570ba5
mov bl, 1
jmp case.default.0x570ba5
cmp dword [0x612008], 0x4005a
jne 0x570980
mov bl, 5
jmp case.default.0x570ba5
mov eax, dword [ebp - 4]
mov edx, 0x570d98
call fcn.0040a990
je 0x57099e
mov eax, dword [ebp - 4]
mov edx, 0x570d78
call fcn.0040a990
jne 0x5709a5
mov bl, 4
jmp case.default.0x570ba5
mov bl, 3
jmp case.default.0x570ba5
mov bl, 5
jmp case.default.0x570ba5
mov eax, dword [0x588d4c]
mov eax, dword [eax]
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x570ba5
jmp dword [eax*4 + 0x5709cd]
mov eax, dword [0x5892ec]
mov eax, dword [eax]
dec eax
je 0x570a06
sub eax, 4
je 0x570a0d
sub eax, 0x2e
je 0x570a14
jmp case.default.0x570ba5
mov bl, 6
jmp case.default.0x570ba5
mov bl, 7
jmp case.default.0x570ba5
mov bl, 8
jmp case.default.0x570ba5
mov bl, 9
jmp case.default.0x570ba5
mov eax, dword [0x5892ec]
mov eax, dword [eax]
sub eax, 1
jb 0x570a38
je 0x570a3f
dec eax
je 0x570a46
jmp case.default.0x570ba5
mov bl, 0xa
jmp case.default.0x570ba5
mov bl, 0xb
jmp case.default.0x570ba5
mov dword [ebp - 0x148], 0x11c
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.00572330
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x570a6f
mov bl, 0xe
jmp case.default.0x570ba5
cmp word [ebp - 0x2c], 0
je 0x570a93
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x570a93
cmp byte [ebp - 0x2e], 1
jne 0x570a93
mov bl, 0xd
jmp case.default.0x570ba5
mov bl, 0xc
jmp case.default.0x570ba5
mov eax, dword [0x5892ec]
cmp dword [eax], 2
jne 0x570b92
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x570da8
mov edx, 0x570dcc
mov eax, 0x80000002
call fcn.0056f1d8
lea edx, [ebp - 0x14c]
mov eax, dword [0x589228]
call fcn.0040f044
mov eax, dword [ebp - 0x14c]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040abd8
dec eax
je 0x570b0e
lea edx, [ebp - 0x150]
mov eax, dword [0x5892f4]
call fcn.0040f044
mov eax, dword [ebp - 0x150]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040abd8
dec eax
jne 0x570b18
mov esi, 3
jmp 0x570b9a
lea edx, [ebp - 0x154]
mov eax, dword [0x589558]
call fcn.0040f044
mov eax, dword [ebp - 0x154]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040abd8
dec eax
je 0x570b64
lea edx, [ebp - 0x158]
mov eax, dword [0x5895cc]
call fcn.0040f044
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040abd8
dec eax
jne 0x570b6b
mov esi, 2
jmp 0x570b9a
call fcn.00571f2c
mov edi, eax
cmp edi, 6
jne 0x570b7e
mov esi, 4
jmp 0x570b9a
cmp edi, 0xa
jne 0x570b88
or esi, 0xffffffff
jmp 0x570b9a
mov esi, dword [0x5892ec]
mov esi, dword [esi]
jmp 0x570b9a
mov esi, dword [0x5892ec]
mov esi, dword [esi]
mov eax, esi
cmp eax, 4
ja case.default.0x570ba5
jmp dword [eax*4 + 0x570bac]
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x570be7
cmp byte [ebp - 0x2e], 1
jne 0x570be7
mov bl, 0xf
jmp case.default.0x570ba5
mov bl, 0x10
jmp case.default.0x570ba5
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x570c15
cmp byte [ebp - 0x2e], 1
jne 0x570c15
mov bl, 0x11
jmp case.default.0x570ba5
mov bl, 0x12
jmp case.default.0x570ba5
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x570c40
cmp byte [ebp - 0x2e], 1
jne 0x570c40
mov bl, 0x13
jmp case.default.0x570ba5
mov bl, 0x15
jmp case.default.0x570ba5
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x570c68
cmp byte [ebp - 0x2e], 1
jne 0x570c68
mov bl, 0x16
jmp case.default.0x570ba5
mov bl, 0x18
jmp case.default.0x570ba5
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x570c90
cmp byte [ebp - 0x2e], 1
jne 0x570c90
mov bl, 0x19
jmp case.default.0x570ba5
mov bl, 0x1a
jmp case.default.0x570ba5
mov edi, dword [0x588d4c]
mov edi, dword [edi]
mov esi, dword [0x5892ec]
mov esi, dword [esi]
cmp edi, 0xa
jl 0x570d2f
sub edi, 0xa
jne 0x570d2f
cmp esi, 0xffffffff
jne 0x570cbe
call fcn.00572128
mov esi, eax
sub esi, 1
jae 0x570d2f
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x570ce7
cmp byte [ebp - 0x2e], 1
jne 0x570ce7
mov bl, 0x19
jmp 0x570d2f
push 0x570e34
lea eax, [ebp - 0x15c]
push eax
mov ecx, 0x570e44
mov edx, 0x570dcc
mov eax, 0x80000002
call fcn.0056f1d8
mov eax, dword [ebp - 0x15c]
or edx, 0xffffffff
call fcn.0041f958
sub eax, 0x647
je 0x570d25
sub eax, 0xca
je 0x570d29
jmp 0x570d2d
mov bl, 0x1a
jmp 0x570d2f
mov bl, 0x1b
jmp 0x570d2f
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x570d61
lea eax, [ebp - 0x15c]
mov edx, 5
call fcn.00409b68
lea eax, [ebp - 8]
mov edx, 2
call fcn.00409b68
ret