Function at 0x42cf30
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a11e2
mov eax, dword fs:[0]
push eax
sub esp, 0x35c
mov eax, dword [0x629a40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x360], edx
mov edi, ecx
mov dword [ebp - 0x33c], edi
mov dword [ebp - 0x358], edi
push 0x118
mov dword [ebp - 4], 0
lea eax, [ebp - 0x334]
push 0
mov dword [ebp - 0x35c], 0
push eax
mov dword [ebp - 0x364], edi
mov dword [ebp - 0x338], 0x11c
sbb al, 1
add byte [eax], al
call fcn.00578b50
add esp, 0xc
lea eax, [ebp - 0x338]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
call fcn.00437a40
test al, al
je 0x42cfd1
or dword [ecx + 0x3b5f72a8], edx
jge 0x42cff0
jge 0x42cf9d
sub byte [eax], cl
xor dword [edi*4 + 0x1047c70b], ebx
add byte [eax], al
add byte [eax], al
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x14], 7
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x42cff7
add byte [edx + 4], dh
mov eax, dword [edi]
jmp 0x42cff9
mov eax, edi
xor ecx, ecx
push ecx
mov word [eax], cx
mov ecx, edi
push 0x61b488
call fcn.00404030
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x354], eax
movzx eax, byte [ebp - 0x21e]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x330]
mov dword [ebp - 0x35c], 1
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x34c], eax
call fcn.00437dc0
test al, al
je 0x42d091
or esi, eax
cwde
or al, byte [ecx - 0x46]
push esp
dec edx
mov dword [ebx - 0x11], ebp
pop ecx
xor dh, byte [ebx]
shl byte [ebp + 0x1beb7014], 0xa6
nop
and cl, dl
jecxz 0x42d0ac
fst qword [eax - 0x4d95179f]
add byte [eax], al
call fcn.00438300
test al, al
je 0x42d0b3
inc ebp
dec ebx
mov ah, 0xdf
hlt
std
in al, dx
pushal
sub eax, 0xe8f538a0
cmp byte [edi - 0x3f7c0000], ch
call fcn.00437ff0
test al, al
je 0x42d0d4
mov eax, 0x6012ce0c
lodsb al, byte [esi]
inc ebx
aas
wait
sbb dword [edi + 0x70ae97c1], esi
insb byte es:[edi], dx
xchg esi, eax
out dx, al
hlt
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
test esi, esi
je 0x42d120
push str.RtlGetNtVersionNumbers
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x42d119
lea ecx, [ebp - 0x340]
push ecx
lea ecx, [ebp - 0x344]
push ecx
lea ecx, [ebp - 0x350]
push ecx
call dword [ecx - 0x73]
lea esi, [eax + 0x51fffffc]
call eax
movzx eax, word [ebp - 0x340]
mov dword [ebp - 0x340], eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.00437ce0
test al, al
je 0x42d142
add ecx, ebp
or dword [edi - 0x25], esp
mov edi, 0xf6efe16a
cmp esp, ecx
mov esp, 0x1b4bc1b9
jecxz 0x42d101
into
invalid
call fcn.00438450
test al, al
je 0x42d162
cmpsd dword [esi], dword es:[edi]
push esi
ret
call fcn.00437ce0
test al, al
je 0x42d182
ror ah, 1
or eax, 0x2af82cca
lds esp, [eax - 0x2f32160f]
sar dword [ebp + edi*2 - 0x1c8101a7], cl
out 0xc3, al
in al, dx
mov eax, dword [ebp - 0x354]
cmp eax, 5
jne 0x42d1ba
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x42d2b1
mov ecx, dword [ebp - 0x33c]
cmp eax, 1
jne 0x42d1b0
push 0x61e518
jmp 0x42d2ac
push str.WindowsServer2003
jmp 0x42d2ac
cmp eax, 6
jne 0x42d290
mov eax, dword [ebp - 0x34c]
sub eax, 0
je 0x42d273
sub eax, 1
je 0x42d26c
sub eax, 1
jne 0x42d2b1
mov ecx, dword [ebp - 0x348]
cmp ecx, 0x1ebb
jne 0x42d1fc
push str.Windows8
jmp 0x42d2a6
lea eax, [ecx - 0x1ee6]
cmp eax, 0x25
ja 0x42d211
push str.Windows8
jmp 0x42d2a6
cmp ecx, 0x1f13
jne 0x42d223
push str.Windows8
jmp 0x42d2a6
mov eax, dword [ebp - 0x350]
cmp eax, 0xa
jne 0x42d257
cmp dword [ebp - 0x344], 0
jne 0x42d2b1
cmp dword [ebp - 0x340], 0x4e20
mov ecx, dword [ebp - 0x33c]
jae 0x42d250
push str.Windows10
jmp 0x42d2ac
push str.Windows11
jmp 0x42d2ac
cmp eax, 6
jne 0x42d2b1
cmp dword [ebp - 0x344], 3
jne 0x42d2b1
push str.Windows8.1
jmp 0x42d2a6
push str.Windows7
jmp 0x42d2a6
cmp dword [ebp - 0x358], 1
mov ecx, dword [ebp - 0x33c]
jne 0x42d289
push str.WindowsVista
jmp 0x42d2ac
push str.WindowsServer2008
jmp 0x42d2ac
cmp eax, 0xa
jne 0x42d2b1
cmp dword [ebp - 0x348], 0x4e20
jb 0x42d2b1
push str.Windows11
mov ecx, dword [ebp - 0x33c]
call fcn.00403c40
call fcn.00437ce0
test al, al
je 0x42d2d3
pop ss
and eax, 0x8437013c
invalid
call fcn.00438450
test al, al
je 0x42d2f3
daa
sbb al, byte [esi - 0x67]
sal byte [edx + 0x4ce665c0], 1
adc dword [esi + esi*2 - 0x42cf8181], edi
invalid
call fcn.00437ce0
test al, al
je 0x42d313
popal
into
and al, 0xf4
scasb al, byte es:[edi]
test dword [ebx], esi
pop edi
push 0x8b4d59c2
sbb al, 0x20
sahf
jno 0x42d30a
mov dl, 0x6c
lodsd eax, dword [esi]
stosb byte es:[edi], al
mov ebx, dword [ebp - 0x33c]
mov ecx, ebx
push 0x61b488
call fcn.0040c8d0
test eax, eax
jne 0x42d39e
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00578b50
push dword [ebp - 0x348]
mov eax, dword [ebp - 0x354]
push dword [ebp - 0x34c]
push eax
lea eax, [ebp - 0x218]
push str.Windows_d._d._d
push eax
call fcn.00409380
add esp, 0x20
cmp word [ebp - 0x218], 0
jne 0x42d370
xor ecx, ecx
jmp 0x42d38f
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42d380
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.00404030
call fcn.00438290
test al, al
je 0x42d3c7
cld
mov ch, byte [edx - 0x58e30a60]
ja 0x42d410
daa
xor al, 0xb1
push ds
lds edx, [esi + ecx*8 + 0x34]
wait
cld
xchg ebp, eax
push 0xffffffffffffffd1
inc esi
daa
neg ebp
invalid
call fcn.004380d0
test al, al
je 0x42d3e7
jmp 0xd843923f
call fcn.00437ea0
test al, al
je 0x42d407
inc ebx
invalid
cmp dword [ebp - 0x360], 0
je 0x42d449
cmp word [ebp - 0x324], 0
jne 0x42d41e
xor ecx, ecx
jmp 0x42d436
lea ecx, [ebp - 0x324]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42d427
sub ecx, edx
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x33c]
lea eax, [ebp - 0x324]
push eax
call fcn.0040c670
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00572ac9
mov esp, ebp
pop ebp
ret