Function at 0x406533
Capabilities:
Check os version
Encrypt data using aes mixcolumns step

Disassembly:
pop dword [esp - 4]
jno 0x42a7d4
shl cl, 0x20
jo 0x406545
invalid
jo 0x42a7d4
or byte [edi], 0x8d
inc ebp
cld
push 0
jmp 0x406553
push eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0xc]
push 6
push ecx
lea edx, [ebp - 0xc]
push 0x438775
ret
mov bl, byte [esi + 0xba]
stc
and ebp, ebp
shr ax, 0x40
shr cx, 0x40
jae 0x41e9ac
mov al, byte [0xfc3a20f]
sub dword [ebp + 0x340001db], 0xfffffff6
jae 0x43c55f
xor al, 0xf6
mov word [esi + 0x1c], cx
cmp ax, 0x13
mov word [esi + 0x42], dx
jne 0x432e7a
je 0x41e9cc
and al, 0xe3
retf
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp edx, ecx
jle 0x432ea0
jg 0x41e9e0
cpuid
sbb al, 0xc3
mov eax, 7
jmp 0x432ea0
push esi
ja 0x410407
xchg bl, ch
xchg ch, bl
jbe 0x42a7e3
jecxz 0x42a84a
xchg bx, di
xchg ebx, edi
xchg di, bx
mov esi, dword [ebp + 8]
shl dx, 0x20
mov ebp, ebp
jmp 0x41e995
add byte [eax - 0x627df0fe], ch
retf 0
sub ax, 0
cmp ax, 0x11
mov bh, bh
je 0x43e8f9
jne 0x432e8f
sbb al, 0xf9
pop edx
cmp ax, 0x12
shl ah, 0x20
je 0x43e8f9
jne 0x432ea0
into
inc ebx
shl dx, 0x20
mov ecx, dword [ebp - 0x18]
cmp cx, 7
je 0x43e8c4
jne 0x432eb8
aad 0xba
bnd jp 0x432f1f
mov word [esi + 0x1a], cx
mov dword [esi + 0x1a], ecx
xchg bl, ch
xchg ch, bl
pop edi
pop esi
mov ax, cx
mov edx, edx
pop ebx
mov esp, ebp
pop ebp
ret
add byte [eax], al
pop ebp
cmovno eax, dword [eax]
dec eax
add byte [eax], al
add byte [esi - 0x2f], ah
inc edx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
invalid
fmul st(5)
sbb esi, dword [edi + 0x41000042]
add byte [eax + 0x30], al
add byte [ecx], al
add byte [eax], al
sldt word [eax]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
inc ecx
add byte [eax], al
dec eax
add byte [eax], al
add bh, ch
jae 0x436742
add byte [ebx], dl
lds eax, [edx]
invalid
pop es
test byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
inc esp
bound eax, qword [ecx]
cmpsb byte [esi], byte es:[edi]
mov ch, 0x40
add byte [ebx], bl
mov bh, 0x42
add byte [eax], al
inc eax
add byte [eax], al
xor al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
cmp byte [eax], 0
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
add al, 0
add byte [eax], al
cwde
aaa
inc ebx
add byte [ebp + 0xf], bl
inc ecx
add byte [eax + eax], al
add byte [edx + edx*2 - 0x7df2ffbf], dh
xor esi, dword [esi + 0x380040]
add byte [eax], al
xor al, 0
add byte [eax], al
xor esi, dword [esi + 0x340040]
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
imul ecx, dword [eax + 0x42], 0x200
add byte [eax], dh
add byte [eax], al
add byte [esi], al
push esp
inc ecx
add bl, ah
or dword [ebx], eax
or cl, byte [eax + 0x67ba0042]
inc ebx
add byte [edi], ah
push eax
rol word [edx], 1
dec eax
add byte [eax], al
add byte [eax], cl
add byte [eax], al
sbb esi, dword [edi + 0x61000042]
add byte [eax + 0x38], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
cwde
aaa
inc ebx
add byte [esi - 0x2f], ah
inc edx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
xchg edi, eax
cmp al, 0x43
add byte [edi], dh
xchg esi, eax
mov ebp, 0x4476
add byte [0x38004266], bh
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [ebx], dl
lds eax, [edx]
invalid
ja 0x410407
jbe 0x43c40d
das
push esi
mov al, 0x88
test byte [esi + 0x66c886c1], 0xc1
out 0x20, eax
mov dh, dh
xchg cl, al
xchg al, cl
shl di, 0x20
push 0x40a2f7
ret
cmp bl, 2
shr dx, 0x40
jne 0x43c402
shr cl, 0x40
je 0x43c574
mov byte [0x840fdd95], al
mov dh, bh
invalid
je 0x43c402
xor al, 0xb5
call fcn.00424c65
add ch, 0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, byte [ebp - 0x1c]
test cl, 2
jb 0x4366dc
je 0x43e8f9
jne 0x43e8db
dec esp
loope 0x43e85c
or bl, bl
test cl, 1
jb 0x411cc7
jne 0x43e8f9
shl cx, 0x20
je 0x43e8f4
xor edi, dword [ebp - 0x48]
or byte [eax], al
add byte [eax], al
mov eax, 8
mov word [esi + 0x1a], ax
push ebp
pop ebp
pop edi
pop esi
pop ebx
mov dl, dl
mov esp, ebp
pop ebp
lea ebp, [ebp]
ret