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

Disassembly:
xor eax, 0x8436
jb 0x434bc3
add eax, 0
and ch, ch
sub eax, 0xe
stc
cmc
sub bp, 0
add cx, 0xf3e0
sub cx, 0xf3e0
xor eax, 0x5131
jb 0x422e98
js 0x445235
shr al, 0x40
jns 0x411dc7
pushal
retf 0xc6cd
jns 0x445235
pop dword [esp - 4]
inc esp
and al, 0xfc
mov al, byte [ebp + 0xb]
add esp, 0x30
add eax, 0
cmp bl, 1
shr di, 0x40
mov cl, cl
mov byte [esi + 0xba], bl
js 0x43d6f0
jns 0x4177f1
cpuid
pop edi
ret
jns 0x43d6f0
fnstenv [ebx - 0x7e87ea01]
push ebp
add byte [ebp - 0x7b7df040], al
cmp eax, dword [eax]
add byte [esi + 0xffa86d7], al
mov byte [ebp + 0x7900017a], cl
add al, 0xf
dec esi
jno 0x4177c5
dec edx
xchg bh, dl
xchg dl, bh
pop esi
jne 0x421ae4
je 0x41d4ef
int1
push esi
je 0x421ae4
invalid
js 0x41783c
jns 0x41ebce
mov ch, 0xf
dec eax
loopne 0x41ebde
jns 0x41783c
mov dword [eax - 0x74], ebp
invalid
xor byte [ebp - 0x15], 0xff
cmc
shl edx, 0x20
mov ebp, esp
sub esp, 0x58
mov eax, dword [ebp + 0xc]
push ebx
jmp 0x41ebe9
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], 0
mov dword [ebp - 8], eax
and edx, 2
jb 0x411731
pop ebx
dec edx
stc
jb 0x422e8e
jmp dword [esi]
push cs
dec esp
add ecx, dword [edi]
test dword [esi], esi
xor al, 1
add byte [esp + eax + 0xf], dh
mov byte [0x840fc3c5], al
sub dh, byte [ecx + eax]
add byte [ebx*4 - 0xb38277], dh
inc ecx
aaa
jno 0x410659
jo 0x42c36c
loopne 0x42c379
mov byte [0xe7800fc3], al
inc edx
invalid
jo 0x410659
invalid
add byte [edi], cl
add byte [edi + 0x4afffe53], 0x89
ror byte [ecx - 0x443ca20a], 1
rol byte [eax - 0xdaff3c], cl
add byte [eax], al
add byte [edi], cl
add byte [ebx + 0x31fffe53], 0xd2
jb 0x411728
cmp ecx, eax
pop edi
setle dl
jno 0x41d4df
jo 0x42c3af
inc esp
mov dl, 0xf
sub byte [edx], 0x11
invalid
jo 0x41d4df
xor al, 0x98
jmp dword [esi - 4]
mov eax, dword [ebp - 4]
push 0x4326f9
ret
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xb
push edi
mov dword [0x579e69], 0xffffffff
call fcn.0042cb65
add esp, 8
mov eax, 1
pop edi
mov bx, bx
pop esi
push 0x447f7c
ret
add ch, 0
js 0x422e87
jns 0x430510
stc
pop ss
or dword [edi], 0xff297189
invalid
jns 0x422e87
fmul dword [ecx]
jmp 0x43d5bf
shr ebp, 0x40
push eax
push esi
push ebx
pop ebx
xchg cl, ah
shr bl, 0x40
xchg ah, cl
mov byte [esi + 0xba], cl
mov byte [esi + 0xbb], 0
shl bh, 0x20
mov word [esi + 0xbc], dx
push edi
xchg di, di
pop edi
xchg ebp, ebx
xchg ebx, ebp
call fcn.0043a61b
js 0x432c63
jns 0x4305a6
loopne 0x43061b
out 0xd3, al
jns 0x432c63
xor eax, 0x8768d00
shl si, 0x20
mov dword [ebp + 0x40], esp
jmp dword [esi]
inc eax
jmp 0x41ebc2
sub ebp, dword [ecx - 0x40]
out dx, eax
inc eax
mov al, al
sbb dword [edi], ebx
jne 0x422e96
je 0x434bbd
mov al, 0x88
dec ebp
je 0x422e96
and byte [ebx + 0x42], 0x66
cmp eax, 0xf688ffff
inc edx
cmp ax, 0xffff
mov dh, dh
jne 0x4428c0
je 0x434bd8
pop ds
mov eax, 0xedc1660d
inc eax
shr bp, 0x40
jmp 0x42dea6
mov edi, dword [edx*8 + 0x57a135]
sub esi, 0
test edi, edi
jb 0x40d945
jne 0x4411ef
je 0x434c05
out dx, eax
stc
call fcn.0042dea2
add eax, 0x57c8d9b
add al, ch
call 0xda434c59
push esp
jmp 0x434c18
push eax
call fcn.00443296
jmp 0x438e2a
sub eax, 0xa6
test edi, 0x180275d3
cmp bl, 2
mov ax, ax
shr bp, 0x40
jne 0x430502
je 0x43874e
nop
cpuid
ret 0x8966
mov ax, di
mov al, al
mov bh, bh
shr di, 0x40
shr dx, 0x40
mov ecx, edi
xchg esi, ebx
shl dl, 0x20
shl ah, 0x20
xchg dx, ax
shl bh, 0x20
shl ch, 0x20
mov dl, dl
xchg dx, ax
mov di, di
xchg ebx, esi
lea edi, [edi]
shr ax, 0xc
mov edi, edi
mov dx, dx
mov dh, dh
shl ecx, 4
or eax, ecx
jb 0x434ba9
xor ax, word [esi + 6]
jb 0x434bba
stc
mov cx, cx
jb 0x4387a3
cmpsd dword [esi], dword es:[edi]
mov ch, 0xe9
jb 0x411d85
fiadd dword [edi]
jmp 0x42f5fb
push esi
shl si, 0x20
push ebx
call fcn.0043d561
add esp, 0x2c
jmp 0x43d5c0
push edx
push eax
xchg ebp, ebx
shl ch, 0x20
mov ecx, ecx
xchg ebx, ebp
mov si, si
call fcn.00443296
mov al, byte [ebp + 0xc]
jne 0x416949
je 0x43d5e3
or bh, bl
into
adc dword [edi], ecx
test byte [eax - 0x6d], ah
std
inc dword [0xeec1660c]
je 0x416949
add eax, 0xeec1660c
inc eax
mov dl, dl
shr cl, 0x40
jno 0x4156a1
mov si, si
jo 0x43d602
sub cl, byte es:[ecx]
jo 0x4156a1
fldln2
lea esp, [esp + 4]
mov byte [esi + 0xbb], al
xchg si, ax
xchg si, ax
push ecx
mov cx, 0xed91
pop ecx
mov word [esi + 0xbc], di
xchg bh, cl
xchg bl, ch
xchg ch, bl
xchg cl, bh
jne 0x438732
je 0x43d71b
lodsd eax, dword [esi]
dec edx
sub al, 0x68
mov ah, ah
xchg dx, di
shl ebx, 0x20
xchg di, dx
mov cx, di
shl ax, 0x20
mov edx, edi
mov si, si
shr cx, 0xa
mov ecx, ecx
shl edx, 6
jmp fcn.004351e3
fidiv dword [edx - 0xd002d78]
mov ebx, dword [ebp - 4]
test dx, 0xf22f
test ebx, ebx
jb 0x43f1f9
jne 0x4108ec
je 0x44120b
cdq
adc dh, byte ss:[eax]
xchg ebp, ecx
xchg ecx, ebp
push esi
call fcn.00435715
add esp, 4
test al, al
jb 0x423606
jne 0x4108ec
je 0x44122f
mov edx, dword [0x66f6ffc5]
mov ecx, ecx
push esi
mov cx, cx
call fcn.0042a100
add esp, 4
test al, 1
jb 0x42c343
jne 0x4108ec
lahf
idiv ah
push dword [esp + eax - 0x2c]
pop edx
je 0x441253
aam 0x5a
mov ecx, ecx
mov eax, dword [ebp - 0x44]
ja 0x4197a3
jbe 0x441262
xchg dword [edi], ecx
mov byte [0x3b860fc3], al
test ebp, edi
invalid
jbe 0x4197a3
fnstenv [ebx + 0x66]
mov edx, dword [ebp + 0x10]
js 0x430566
jns 0x44127a
cpuid
ret
jns 0x430566
or byte [eax + 6], 0xd3
inc ecx
add byte [ecx], bl
and eax, dword [edx]
or al, byte [edi]
inc ebx
add byte [esi + 0x43004412], dl
jns 0x441249
invalid
cmp ax, word [ebp + 8]
je 0x434be6
jne 0x4428d0
inc esi
sar dword [edi + 0x418b668b], cl
or byte [ecx + 0x8c1], al
add byte [edi], cl
xchg ebp, esp
and bh, bh
push dword [esi + 4]
mov ax, word [ecx + 8]
add ecx, 8
ja 0x434bc5
jbe 0x4428e6
jno 0x4428f8
dec esp
mov byte [0x22d9860f], al
invalid
jbe 0x434bc5
fnstenv [ebx]
mov ebx, dword [ebp + 0x44]
mov edx, dword [esi + 8]
shr bh, 0x40
mov eax, dword [esi + 4]
lea esi, [esi + 0xc]
inc esi
add al, 0x8d
jbe 0x442909
mov byte [ebx + edx], al
jmp dword [esi]
invalid
add byte [ecx], al
add byte [eax], bh
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
inc esi
add byte [eax], al
add bh, ch
inc ecx
add byte [ebx - 0x27ffbb87], cl
add byte [eax + eax + 0xa], 0x3e
inc esp
add byte [eax], cl
push edx
inc esp
add byte [edi], al
cmp ecx, dword [edx]
inc esp
add al, bl
add byte [eax + eax - 0x28], 0x59
js 0x436a51
jns 0x445240
fsubr st(4), st(0)
imul ecx, dword [edi], 0xff180b89
inc edi
jecxz 0x4451d6
jns 0x436a51
invalid
invalid