Function at 0x624f50
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea4
push ebx
push esi
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 0x625384
push dword fs:[eax]
mov dword fs:[eax], esp
or esi, 0xffffffff
xor ebx, ebx
lea eax, [ebp - 0x14c]
call fcn.0042cf44
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 4]
call fcn.004255c4
call fcn.0042cf08
dec eax
je 0x624fc1
dec eax
je 0x625049
jmp case.default.0x62522a
call fcn.0042cf30
sub eax, 0xa
jb 0x624fd7
sub eax, 0x50
jb 0x625003
je 0x625042
jmp case.default.0x62522a
mov eax, dword [ebp - 4]
mov edx, 0x6253a0
call fcn.0040b808
je 0x624ff5
mov eax, dword [ebp - 4]
mov edx, 0x6253b0
call fcn.0040b808
jne 0x624ffc
mov bl, 2
jmp case.default.0x62522a
mov bl, 1
jmp case.default.0x62522a
cmp dword [0x64f144], 0x4005a
jne 0x625016
mov bl, 5
jmp case.default.0x62522a
mov eax, dword [ebp - 4]
mov edx, 0x6253c0
call fcn.0040b808
je 0x625034
mov eax, dword [ebp - 4]
mov edx, 0x6253a0
call fcn.0040b808
jne 0x62503b
mov bl, 4
jmp case.default.0x62522a
mov bl, 3
jmp case.default.0x62522a
mov bl, 5
jmp case.default.0x62522a
call fcn.0042cf1c
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x62522a
jmp dword [eax*4 + 0x625061]
call fcn.0042cf30
dec eax
je 0x625098
sub eax, 4
je 0x62509f
sub eax, 0x2e
je 0x6250a6
jmp case.default.0x62522a
mov bl, 6
jmp case.default.0x62522a
mov bl, 7
jmp case.default.0x62522a
mov bl, 8
jmp case.default.0x62522a
mov bl, 9
jmp case.default.0x62522a
call fcn.0042cf30
sub eax, 1
jb 0x6250c8
je 0x6250cf
dec eax
je 0x6250d6
jmp case.default.0x62522a
mov bl, 0xa
jmp case.default.0x62522a
mov bl, 0xb
jmp case.default.0x62522a
mov dword [ebp - 0x148], 0x11c
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.006257f8
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x6250ff
mov bl, 0xe
jmp case.default.0x62522a
cmp word [ebp - 0x2c], 0
je 0x625123
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x625123
cmp byte [ebp - 0x2e], 1
jne 0x625123
mov bl, 0xd
jmp case.default.0x62522a
mov bl, 0xc
jmp case.default.0x62522a
call fcn.0042cf30
cmp eax, 2
jne 0x62521c
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x6253d0
mov edx, 0x6253f4
mov eax, 0x80000002
call fcn.00628240
lea edx, [ebp - 0x150]
mov eax, dword [0x646ed0]
call fcn.004105ac
mov eax, dword [ebp - 0x150]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b99c
dec eax
je 0x62519e
lea edx, [ebp - 0x154]
mov eax, dword [0x646f5c]
call fcn.004105ac
mov eax, dword [ebp - 0x154]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b99c
dec eax
jne 0x6251a5
mov eax, 3
jmp 0x625221
lea edx, [ebp - 0x158]
mov eax, dword [0x647108]
call fcn.004105ac
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b99c
dec eax
je 0x6251f1
lea edx, [ebp - 0x15c]
mov eax, dword [0x647150]
call fcn.004105ac
mov eax, dword [ebp - 0x15c]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b99c
dec eax
jne 0x6251f8
mov eax, 2
jmp 0x625221
call fcn.00625450
mov esi, eax
cmp esi, 6
jne 0x62520b
mov eax, 4
jmp 0x625221
cmp esi, 0xa
jne 0x625215
or eax, 0xffffffff
jmp 0x625221
call fcn.0042cf30
jmp 0x625221
call fcn.0042cf30
cmp eax, 4
ja case.default.0x62522a
jmp dword [eax*4 + 0x625231]
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x62526c
cmp byte [ebp - 0x2e], 1
jne 0x62526c
mov bl, 0xf
jmp case.default.0x62522a
mov bl, 0x10
jmp case.default.0x62522a
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x62529a
cmp byte [ebp - 0x2e], 1
jne 0x62529a
mov bl, 0x11
jmp case.default.0x62522a
mov bl, 0x12
jmp case.default.0x62522a
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x6252c2
cmp byte [ebp - 0x2e], 1
jne 0x6252c2
mov bl, 0x13
jmp case.default.0x62522a
mov bl, 0x15
jmp case.default.0x62522a
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x6252ea
cmp byte [ebp - 0x2e], 1
jne 0x6252ea
mov bl, 0x16
jmp case.default.0x62522a
mov bl, 0x18
jmp case.default.0x62522a
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x625312
cmp byte [ebp - 0x2e], 1
jne 0x625312
mov bl, 0x19
jmp case.default.0x62522a
mov bl, 0x1a
jmp case.default.0x62522a
call fcn.0042cf1c
mov esi, eax
cmp esi, 0xa
jl 0x625357
sub esi, 0xa
jne 0x625357
call fcn.00625624
sub eax, 1
jae 0x625357
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x625355
cmp byte [ebp - 0x2e], 1
jne 0x625355
mov bl, 0x19
jmp 0x625357
mov bl, 0x1a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x62538b
lea eax, [ebp - 0x15c]
mov edx, 5
call fcn.0040aa10
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040aa10
pop eax
jmp eax