Function at 0x589eac
Capabilities:
Check for vm using instruction vpcext
Reference the vmware io port

Disassembly:
mov dword [esp], eax
push dword [ebp + 0x1244e1a0]
call dword [ebp + 0x1244e198]
mov dword [ebp + 0x1244e1a4], eax
push dword [ebp + 0x1244e1a4]
call dword [ebp + 0x1244e194]
push dword [ebp + 0x1244e1a4]
call dword [ebp + 0x122d2a66]
jmp 0x589fb4
push ebx
mov ebx, 0x37eec98f
or ebx, 0x798e96a5
jmp 0x58b77f
xor edi, dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
push 1
push dword [ebp + 0x1244e1a4]
call dword [ebp + 0x1244e19c]
push dword [ebp + 0x1244e1a4]
call dword [ebp + 0x122d2a66]
push ebp
jmp 0x58ba89
shr dword [esp], 7
dec dword [esp]
xor dword [esp], 0xd3e5c38
mov dword [esp], eax
jmp 0x589cac
mov dword [esp], ebx
mov ebx, 0x37f30911
mov edx, 0x37f30915
push ecx
mov ecx, 0x6f2f235a
add ecx, 0x3acf65c7
or ecx, 0x7c67f5f7
not ecx
or ecx, 0x7fff0ee5
jmp 0x58a25e
sub ebp, 0x7dfeff96
jmp 0x589f6c
push esi
push dword [esp + 4]
mov esi, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
pop dword [esp]
mov esp, dword [esp]
cmp dword [ebp + 0x122d2cb8], 0
jne 0x589701
cmp dword [ebp + 0x122d2b90], 0
je 0x589716
push eax
mov eax, eax
mov eax, 0x7d4
mov dword [ebp + 0x122d294f], eax
call dword [ebp + 0x122d2935]
pop eax
push eax
push 0x6d0db432
mov dword [esp], esi
mov dword [esp], edx
jmp 0x589ebd
mov dword [esp], 0x5bfb4300
shr dword [esp], 8
jmp 0x58c016
inc edi
shr edi, 3
jmp 0x58c9f2
push ebp
mov ebp, 0x67ff364b
sub eax, ebp
pop ebp
add eax, 0x4fd6cee7
jmp 0x5897d9
add eax, ecx
push ebp
push edx
mov edx, 0x7f7fce9b
mov ebp, edx
pop edx
xor ebp, 0x30a9007c
sub eax, ebp
pop ebp
add eax, 0x67ff364b
jmp 0x58c2ce
pop esp
mov ecx, dword [esp]
add esp, 4
sub eax, 0x6fbffb10
sub eax, esi
jmp 0x589e97
mov edx, 0x3add20ae
sub eax, edx
pop edx
pop esi
sub eax, 4
jmp 0x58b7e8
mov dword [esp], 0x2c7f5185
and dword [esp], 0x4b1f4a17
and dword [esp], 0x337a6fea
jmp 0x58acdf
push dword [ebp + 0x1244e1a0]
call dword [ebp + 0x1244e198]
test eax, eax
jne 0x589cc0
mov dword [ebp + 0x1244e1a4], eax
push 0
jmp 0x58ce8e
sub edx, 4
push edx
push dword [esp + 4]
pop edx
pop dword [esp]
mov esp, dword [esp]
jmp 0x58d2af
add eax, 0x6fbffb10
pop esi
push eax
push dword [esp + 4]
pop eax
pop dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
push ebp
mov ebp, esp
push edi
mov dword [esp], ecx
mov ecx, 0x5df7a644
jmp 0x58d5dc
mov edx, 0x76fe13df
sub dword [esp + 4], edx
jmp 0x58a286
add ebp, 0x6ccd93d8
not ebp
sub ebp, 0x48932d9
xor dword [esp + 4], ebp
jmp 0x58a600
shl ebx, 5
jmp 0x58bdee
push ecx
mov dword [esp], esi
push eax
push ebp
mov ebp, 0x43fb43bd
xor dword [esp + 4], ebp
pop ebp
pop esi
push ebp
mov ebp, 0x43fb43bd
xor esi, ebp
pop ebp
push edx
jmp 0x58a629
add dword [esp + 4], edx
add dword [esp + 4], 0x7ae76520
pop edx
jmp 0x58d121
sub dword [esp + 8], ebx
jmp 0x58efe8
mov ecx, 0x3d74353
sub ebx, ecx
pop ecx
mov eax, ebx
mov ebx, dword [esp]
add esp, 4
push ecx
jmp 0x58cc58
sub ecx, 0x608dae64
add edx, ecx
pop ecx
sub edx, ebx
sub edx, 0x1f716089
jmp 0x58c02a
pop edx
push dword [esp]
jmp 0x58a91d
add esi, 0xc800ec04
push ecx
jmp 0x58d272
dec edx
jmp 0x58dd63
push eax
mov eax, esp
jmp 0x58bf1b
push esi
jmp 0x589685
push esi
mov esi, 0x6dcfaa33
jmp 0x58a36f
mov dword [esp], eax
push dword [ebp + 0x1244e1a0]
call dword [ebp + 0x1244e18c]
test eax, eax
jne 0x58ef7d
jmp 0x58ef97
pop edi
add esp, 4
push edi
jmp 0x58b127
lea eax, [ebp + 0x1244e1d3]
push eax
push ebx
mov dword [esp], esp
add dword [esp], 4
jmp 0x58dcd6
pop ebp
dec dword [esp]
push edi
mov edi, 0x4fbefd8
sub dword [esp + 4], edi
pop edi
xor dword [esp], edi
xor edi, dword [esp]
xor dword [esp], edi
inc edi
xchg dword [esp], edi
jmp 0x58bd62
mov dword [esp], esi
pop eax
push dword [esp]
pop esi
push esi
mov esi, esp
push ebp
mov ebp, 0x1eef7a7a
shr ebp, 1
xchg ebp, ebx
not ebx
xor ebp, ebx
xor ebx, ebp
xor ebp, ebx
neg ebp
add ebp, 0xf08842c6
add esi, ebp
pop ebp
sub esp, 4
mov dword [esp], edx
mov edx, 4
sub esi, 0x3713d35b
jmp 0x58d171
and eax, 0x7bbffbb4
sub esp, 4
mov dword [esp], edi
mov edi, 0x78fd8bc3
jmp 0x58c8b6
push ecx
mov ecx, 0x2cb95a3c
jmp 0x58b650
pop eax
push edx
jmp 0x58d2a5
push edx
jmp 0x58a41c
push ebx
mov ebx, 0x7ae74336
jmp 0x58efe2
add dword [esp], 0x4fd4c719
jmp 0x58a74f
and eax, 0x75ef0a22
and eax, 0x3f7837b4
shr eax, 6
add eax, 0x3bff3aaf
xor eax, 0x7fbba826
sub eax, 0xd6090774
mov ebx, eax
pop eax
add edi, ebx
pop ebx
mov eax, edi
pop edi
jmp 0x58bed7
mov dword [esp], ecx
mov ecx, 0x5aaddfe8
xor dword [esp + 4], ecx
pop ecx
not dword [esp]
xchg dword [esp], eax
not eax
xchg dword [esp], eax
jmp 0x58c1ae
xchg dword [esp], eax
jmp 0x58b616
mov dword [esp], 0x273e3330
mov dword [esp], eax
jmp 0x58b6d4
mov esi, 0x35f3d142
jmp 0x58d6e9
mov dword [esp], 0x34b5d1df
not dword [esp]
inc dword [esp]
inc dword [esp]
jmp 0x58b52c
add dword [esp], 0x7ce50e6c
sub dword [esp], 1
xor dword [esp], 0x5ff4d6fb
push ebp
mov dword [esp], esi
mov esi, 0x673f354a
not esi
push eax
push edi
jmp 0x58b68a
pop esp
mov dword [esp], ebx
mov ebx, 0x2ebd9c7f
or esi, ebx
mov ebx, dword [esp]
add esp, 4
shr esi, 4
add esi, 0xf900041d
add ebp, esi
mov esi, dword [esp]
add esp, 4
jmp 0x58aa77
mov edi, 0x77bd78f4
jmp 0x5897bd
push ebx
push esi
mov dword [esp], 0x7f4e68c0
pop ebx
jmp 0x58c21c
inc ebx
jmp 0x589fac
xchg dword [esp], eax
mov esp, dword [esp]
mov dword [esp], eax
push 1
push 1
push 1
jmp 0x58c429
add esp, 4
cmp dword [ebp + 0x122d2d5c], 0
je 0x58c921
lea eax, [ebp + 0x1244e1fd]
jmp 0x58c927
push esp
jmp 0x58cc03
xchg dword [esp], edx
add dword [esp], 1
jmp 0x589564
push ebx
mov ebx, 0xab207085
sub dword [esp + 4], ebx
jmp 0x58d1a5
mov esi, 0x7fff147f
add esi, 1
jmp 0x5893c1
push ecx
mov ecx, 0x5eba6f41
and dword [esp + 4], ecx
pop ecx
xor dword [esp], 0x6dc39a19
xor dword [esp], 0x3776dc27
push 0
push 0
call dword [ebp + 0x122d1ceb]
test eax, eax
jne 0x58bd8d
mov dword [ebp + 0x1244e1a0], eax
push 0
push 0
push 0
push 0
jmp 0x58d23b
xor ebx, 0xca24e042
and esi, ebx
pop ebx
jmp 0x58a2e2
sub eax, 0x6bf3165e
inc eax
xor eax, 0x97bea1b1
sub esi, eax
pop eax
add dword [esp + 4], esi
jmp 0x58c257
add eax, 4
sub eax, 4
jmp 0x58b0ab
push 0x932a4f7
jmp 0x58af8f
pop ebx
add ebp, 0x7ffb37fd
sub ebp, edx
sub ebp, 0x7ffb37fd
mov edx, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
jmp 0x58c0d9
xchg dword [esp], ebp
jmp 0x58c519
mov eax, 0x7ffec76f
xor ecx, eax
jmp 0x58e7a6
shr dword [esp], 6
sub dword [esp], 0x757bbe5a
sub esp, 4
mov dword [esp], edx
mov edx, 0x5fdf09cd
push edi
mov dword [esp], 0x482d479b
mov dword [esp], esi
push eax
mov eax, 0x41b7cc19
xor eax, 0x3b50a939
jmp 0x58c5d7
push ecx
jmp 0x58a0c8
mov esi, dword [esp]
add esp, 4
jmp 0x589365
pop edx
pop dword [esp]
neg edx
jmp 0x58bcfc
pop ecx
add eax, 0x756717f5
add eax, esi
sub eax, 0x756717f5
push edx
jmp 0x589ae4
push esi
push esp
pop esi
add esi, 4
sub esi, 4
xchg dword [esp], esi
pop esp
mov dword [esp], edx
jmp 0x58978f
pop esp
jmp 0x58c595
mov ebx, 0x435c7fc5
jmp 0x58a062
mov dword [esp], ebp
push ebp
jmp 0x58c6ec
mov esi, eax
pop eax
sub dword [esp + 8], esi
mov esi, dword [esp]
add esp, 4
jmp 0x589fee
mov ebp, 0xf01ff
mov dword [esp + 4], ebp
mov ebp, dword [esp]
jmp 0x58b9bf
lea eax, [ebp + 0x1244e1d3]
push edi
jmp 0x58efb1
xor eax, edi
pop edi
xor eax, 0x2ebe6000
sub esi, eax
mov eax, dword [esp]
add esp, 4
add ecx, 0x66ef0ebd
add ecx, 0x35b7a35e
add ecx, esi
sub ecx, 0x35b7a35e
sub ecx, 0x66ef0ebd
mov esi, dword [esp]
add esp, 4
push edx
jmp 0x58dc16
lea eax, [ebp + 0x1244e1d3]
push esi
mov dword [esp], ebx
mov dword [esp], 0x718d6554
not dword [esp]
inc dword [esp]
dec dword [esp]
push eax
mov eax, 0xff3fd6e7
jmp 0x58cc64
neg edi
push ebx
push eax
mov eax, 0x57db34ca
jmp 0x58ae87
pop ebp
jmp 0x58a42a
mov ecx, 0x7b772569
sub eax, ecx
jmp 0x58cd81
xor dword [esp + 4], eax
jmp 0x58ce73
mov ecx, dword [esp]
add esp, 4
push edx
mov edx, 0x7f7b69e2
sub edx, 0xff814946
jmp 0x58cff6
mov eax, dword [esp]
add esp, 4
mov dword [esp], edi
jmp 0x58b31b
push 0
push dword [ebp + 0x1244e1a4]
call dword [ebp + 0x1244e190]
test eax, eax
jne 0x58cea4
push dword [ebp + 0x1244e1a4]
call dword [ebp + 0x122d2a66]
test eax, eax
jne 0x58ceb8
push 0
push 0x6be8a34a
mov dword [esp], ebx
mov dword [esp], 0x57787eb9
and dword [esp], 0x67f8dd15
and dword [esp], 0x7efe0c20
add dword [esp], 0x3cfb7a0a
dec dword [esp]
not dword [esp]
add dword [esp], 0xda62fd7d
and dword [esp], 0x3b6f37c7
jmp 0x58bd39
sub edi, edx
pop edx
add edi, eax
add edi, 0x7ffa209c
pop eax
sub edi, 4
xor edi, dword [esp]
xor dword [esp], edi
jmp 0x589489
push ebp
mov ebp, 0x93f0a44e
add dword [esp + 4], ebp
pop ebp
push eax
jmp 0x58d9e9
add esi, edx
add esi, 0x3713d35b
pop edx
jmp 0x5896d1
pop ebx
mov dword [esp], edi
mov dword [esp], ebx
jmp 0x589c6e
push 0
lea eax, [ebp + 0x1244e37a]
sub esp, 4
mov dword [esp], eax
mov eax, esp
push ecx
mov dword [esp], esi
jmp 0x58bd48
push esi
jmp 0x58d611
push 0x1c9ef8e0
jmp 0x58da7a
mov dword [esp], esi
mov esi, esp
add esi, 4
push ebp
mov ebp, 4
add esi, ebp
pop ebp
push esi
push dword [esp + 4]
pop esi
pop dword [esp]
mov esp, dword [esp]
push edx
mov edx, 0x76fe13df
add eax, edx
mov edx, dword [esp]
jmp 0x58e95a
add ecx, 0x7fc1d70c
push esi
jmp 0x58b2c9
mov esi, 0x7cdf5600
push edi
mov edi, 0x27a5f7b5
sub edi, 0xe1a38107
mov ecx, edi
pop edi
xor ecx, esi
pop esi
jmp 0x5897c6
push eax
mov eax, 0x71ffc897
push esi
mov esi, 0x3fdf7157
or eax, esi
pop esi
or eax, 0x68ecb166
jmp 0x58a6ea
mov eax, 0x7fb0c9ac
xor dword [esp + 4], eax
pop eax
jmp 0x58da62
cmp dword [ebp + 0x122d2d5c], 0
je 0x58a4dd
lea eax, [ebp + 0x1244e1fd]
jmp 0x58a4e3
mov dword [esp], esp
add dword [esp], 4
jmp 0x58e06d
mov edx, 0xe5b13c17
sub ecx, edx
pop edx
add ebp, ecx
pop ecx
push edx
mov edx, 0x77f53301
jmp 0x58a30e
mov eax, dword [esp]
push edi
mov edi, esp
add edi, 4
jmp 0x58de2c
push esi
mov esi, 0x57e37711
shl esi, 2
add esi, 0xc4d4bf2
or edx, esi
pop esi
push ebx
mov ebx, 0x3d77cfbd
jmp 0x58eb06
add edi, 4
xchg dword [esp], edi
pop esp
push edx
mov dword [esp], ecx
mov ecx, 4
add eax, 0x2ff76937
add eax, ecx
jmp 0x58e185
pop edx
push ecx
mov ecx, 4
add edx, ecx
mov ecx, dword [esp]
add esp, 4
jmp 0x589d6b
sub eax, 0x2ff76937
pop ecx
push esi
push ecx
push 0x7ffec76c
pop ecx
add ecx, 0xffffffff
push eax
jmp 0x58c18a
add eax, 4
add eax, 4
xchg dword [esp], eax
jmp 0x589ad1
pop eax
push ecx
mov esi, dword [esp]
push eax
mov eax, esp
jmp 0x58e366
add ebx, 0xc2074b34
sub edx, ebx
mov ebx, dword [esp]
add esp, 4
sub ebp, edx
pop edx
xchg dword [esp], ebp
pop esp
jmp 0x58ebfc
add esp, 4
push eax
mov dword [esp], 0x554f7ca0
xchg dword [esp], edx
push edx
xchg dword [esp], edx
not edx
jmp 0x58ee62
not ebx
inc ebx
and ebx, 0x7f5f98a5
not ebx
jmp 0x58e8c6
mov dword [esp], ebx
jmp 0x58a491
xchg dword [esp], edx
pop edx
xor dword [esp], edx
xor edx, dword [esp]
xor dword [esp], edx
inc dword [esp]
xchg dword [esp], esi
not esi
xor dword [esp], esi
xor esi, dword [esp]
jmp 0x58ef5e
xor dword [esp], esi
inc dword [esp]
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x7bafa302
or ebp, 0x3afb8aea
shr ebp, 6
jmp 0x5896ba
mov dword [ebp + 0x1244e1a4], eax
push dword [ebp + 0x1244e1a4]
call dword [ebp + 0x122d2a66]
test eax, eax
jne 0x58ef97
push 0x10
cmp dword [ebp + 0x122d2d5c], 0
je 0x58c890
lea eax, [ebp + 0x1244e1fd]
jmp 0x58c896
mov dword [esp], esi
mov dword [esp], 0x7b5980c3
xchg dword [esp], ebx
inc ebx
xor dword [esp], ebx
xor ebx, dword [esp]
xor dword [esp], ebx
not dword [esp]
jmp 0x58efd0
inc dword [esp]
sub dword [esp], 1
not dword [esp]
jmp 0x58aa8c
push ebx
jmp 0x58c52a
pop ebx
add dword [esp + 4], ebx
push edx
mov edx, 0x435c7fc5
jmp 0x58eff8
add dword [esp + 8], edx
mov edx, dword [esp]
add esp, 4
mov ebx, dword [esp]
add esp, 4
jmp 0x58f013
xor dword [esp], 0x6375dc11
xor dword [esp], 0xe8faef3e
push 0x20b608e1
mov dword [esp], edx
push dword [esp + 4]
jmp 0x58c294