Function at 0x42a797
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
mov dword [ebp - 4], esi
test esi, esi
jne 0x42a7c3
call fcn.0042aad9
neg eax
sbb eax, eax
inc eax
jmp 0x42a87f
call fcn.0043d2b8
test al, al
je 0x42a7eb
mov ecx, 0x64413e49
cmp eax, 0x18770e64
bound ecx, qword es:[edi - 0x399df79a]
adc edx, 0xffffffa0
mov ecx, 0x57fa41f2
fldcw word [edx - 0x12daee59]
push 0x5aa794
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x28]
push ecx
call eax
call fcn.0043d56a
test al, al
je 0x42a81d
fcom dword [ecx - 1]
shr al, 1
push 0x8400012d
sal byte [edi + edx - 0x2b], 0x8a
aad 0x8a
scasb al, byte es:[edi]
or dh, byte [ebx + edi*4]
sti
xchg edi, eax
jae 0x42a828
je 0x42a88e
movsd dword es:[edi], dword [esi]
mov byte [0x2a747748], al
std
mov byte [0xdbe811c7], al
sub al, byte [ecx]
add byte [eax + eax*8 - 0x1844e78c], al
call fcn.0043d2fd
test al, al
je 0x42a83e
mov ebx, 0xfb8624e7
and al, 0x86
sti
sbb dh, bh
rol byte [ebx + 0x50], cl
pop eax
xchg byte [edi + 0x5d], al
mov eax, dword [0x21abee3c]
das
int1
dec eax
js 0x42a7f9
call fcn.0043d387
test al, al
je 0x42a85f
sbb byte [esi], cl
xchg edx, eax
push cs
retf 0xd8b8
cmp word [ebp - 0x28], 9
je 0x42a871
cmp word [ebp - 0x28], 6
je 0x42a871
xor esi, esi
jmp 0x42a874
xor esi, esi
inc esi
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add byte [ecx + 0x62c144], ah
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, 0x11c
lea eax, [ebp - 0x120]
push esi
push 0
push eax
call fcn.00446360
add esp, 0xc
mov dword [ebp - 0x120], esi
call fcn.0043d56a
test al, al
je 0x42a8d9
sbb bh, byte [ebx + 0x1c]
jge 0x42a8e0
or dl, byte [ebp + 0x5b]
popal
jo 0x42a88e
pushal
mov bh, al
out 0xcd, eax
inc ebp
in eax, 0x9c
imul ecx, dword [edx + ecx*8 + 0x2a1fe8ca], 0xc0840001
call fcn.0043d2fd
test al, al
je 0x42a8fa
mov dh, 0x82
or eax, 0xdc3454c6
adc dword [edx], eax
adc dword [0x58712ea4], 0xffffffe5
adc cx, di
je 0x42a961
cld
sub al, 0x88
sub al, byte [ecx]
add byte [eax + eax*8 - 0x2f08e78c], al
call fcn.0043d387
test al, al
je 0x42a91b
not eax
aaa
invalid
wait
cmpsb byte [esi], byte es:[edi]
add dword [ecx + 0x39], ebp
cmc
jbe 0x42a96f
mov ecx, 0x2200964a
push 0x549327bf
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x11c], 6
jne 0x42a94b
xor eax, eax
inc eax
cmp dword [ebp - 0x118], 0
je 0x42a945
cmp dword [ebp - 0x118], eax
jne 0x42a94b
cmp byte [ebp - 6], 1
je 0x42a9aa
call fcn.0043d5f4
test al, al
je 0x42a96f
and byte [eax + 0x1de9e45], 0xe4
mov bh, 0xdb
sbb dh, al
jle 0x42a963
fiadd word [ecx]
in al, 0xb7
fistp dword [eax]
invalid
test edx, 0xe44e269b
rcr dword [ebx - 0x43], 0xdd
outsd dx, dword [esi]
ror dword [ebx + 0x2ae2e8e1], 1
add byte [eax + eax*8 - 0x7087ea8c], al
wait
dec esi
in al, 0xc1
pop ebx
mov ebp, 0x8bc16fdd
loope 0x42a958
call fcn.0043d456
loop 0x42a99c
add dword [eax], eax
test al, al
je 0x42a98d
js 0x42a909
cli
jo 0x42a95c
mov al, 0xb4
add dword [eax + edi*2], ebp
inc ecx
insb byte es:[edi], dx
push ebx
adc dword [esi], ecx
invalid
call fcn.0043d5af
test al, al
je 0x42a9a8
dec ecx
into
arpl si, bx
int 0xaf
push cs
xor dword [eax + 0x5debbddd], esp
invalid
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00439cb7
mov esp, ebp
pop ebp
ret