Function at 0x585125
Capabilities:
Check for vm using instruction vpcext
Contain obfuscated stackstrings
Reference the vmware io port

Disassembly:
push dword [esp]
jmp 0x58516f
neg edx
neg edx
xor edx, 0x395a6d80
sub eax, edx
mov edx, dword [esp]
add esp, 4
sub eax, 0x6efff5fc
jmp 0x5850b0
pop ebx
xchg dword [esp], edi
mov esp, dword [esp]
mov dword [esp], edi
push esi
push 0x35f7ce25
jmp 0x58507f
push edx
jmp 0x585156
add esi, 0xffffffff
add esi, 0x28ce1bb9
push edx
jmp 0x585085
pop esi
jmp 0x58506d
mov edx, esi
mov edi, edx
pop edx
pop esi
shl edi, 1
push ebp
mov ebp, 0x2ffcc416
xor edi, ebp
mov ebp, dword [esp]
add esp, 4
add edi, 0xffffffff
push ebx
mov ebx, 0x7e9fc642
jmp 0x5850bc
sub eax, edi
add eax, 0x6efff5fc
jmp 0x5850dd
neg ebx
shr ebx, 8
shl ebx, 4
shr ebx, 2
or ebx, 0x72fa252d
sub ebx, 0x576bab6
add edi, ebx
mov ebx, dword [esp]
jmp 0x5850ed
add eax, 0x4f5d6c9f
pop edi
jmp 0x5850e8
jmp 0x5851af
add esp, 4
push edx
push esi
mov esi, 0x1fff7cae
mov edx, 0x6998b747
xor edx, esi
pop esi
jmp 0x585107
and edx, 0x7ef73dac
and edx, 0x7e9fd331
dec edx
jmp 0x585033
add esi, 4
xchg dword [esp], esi
mov esp, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
push eax
mov eax, 4
add ebp, eax
pop eax
push esi
mov dword [esp], ebp
push dword [esp + 4]
mov ebp, dword [esp]
add esp, 4
pop dword [esp]
mov esp, dword [esp]
add esp, 4
jmp 0x585067
mov dword [esp], edi
mov edi, esp
add edi, 4
push eax
mov dword [esp], ebx
mov ebx, 4
jmp 0x5851a8
push dword [esp]
push dword [esp]
jmp 0x58517a
mov eax, dword [esp]
add esp, 4
push esi
push esp
jmp 0x585187
pop esi
push 0x7e1fca5e
mov dword [esp], ecx
mov dword [esp], edx
mov edx, 4
add esi, edx
mov edx, dword [esp]
add esp, 4
jmp 0x585119
sub edi, ebx
jmp 0x585052
mov ecx, ebx
jmp 0x5862b6
push esi
mov dword [esp], esp
push esi
push ecx
mov ecx, 0x5cf777f7
jmp 0x586889
xor eax, 0x76c5046b
jmp 0x58881e
push 0x3b758bc3
jmp 0x5897c4
push ecx
jmp 0x586f7a
mov ebp, 0x6bbf4e16
or ebp, 0x5fbba122
and ebp, 0x77ffefb5
jmp 0x58a77e
pop edx
pop dword [esp]
mov esp, dword [esp]
xor eax, 0x75ff0084
pop ebx
jmp 0x58bd6f
inc ecx
not ecx
push esi
mov esi, 0x5cf777fd
add ecx, esi
mov esi, dword [esp]
add esp, 4
push ebx
jmp 0x586c38
push ebp
mov dword [esp], 0xde5d87a
mov dword [esp], ecx
push 0x7f39227d
mov dword [esp], ecx
mov dword [esp], esp
jmp 0x588743
add eax, 4
sub eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
mov dword [esp], eax
push dword [esp]
push dword [esp]
pop eax
add esp, 4
jmp 0x589d57
mov ebx, ecx
jmp 0x58763f
pop eax
jmp 0x586ace
mov ecx, 0x3ece4cf3
jmp 0x587195
sub esp, 4
jmp 0x58a88b
sub esp, 4
jmp 0x588ad7
pop ebx
and eax, 0x7fcfbb58
jmp 0x589c94
dec ecx
jmp 0x587328
sub ecx, 0x6ff70b41
push edi
mov edi, 0x6eb72131
jmp 0x588b52
mov dword [esp], ebx
push eax
pop ebx
push ebx
jmp 0x587746
pop ebx
jmp 0x58644e
mov dword [esp], eax
push edi
push ebp
sub esp, 4
jmp 0x5878c5
mov esi, ebx
pop ebx
mov ecx, dword [esp]
add esp, 4
add dword [esp + 4], esi
mov esi, dword [esp]
jmp 0x58871d
xor dword [esp], 0x76c5046b
pop eax
jmp 0x586369
sub ebp, 0xffffffff
jmp 0x588793
pop edx
push ebp
mov ebp, 4
jmp 0x58a2e2
mov dword [esp], edx
jmp 0x589685
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
mov esp, dword [esp]
jmp 0x588ca3
push eax
push eax
mov dword [esp], edi
push 0x4b7ef853
mov edi, dword [esp]
add esp, 4
mov eax, edi
pop edi
jmp 0x589334
add edi, 0x7c202860
xor edi, 0x2b118172
jmp 0x588191
add dword [esp + 4], 0x3cf7b146
pop eax
push 0x52bcea16
mov dword [esp], esi
mov esi, 0x5a9c83ed
add dword [esp + 4], esi
pop esi
mov dword [esp], eax
mov eax, dword [esp]
add esp, 4
push ecx
mov dword [esp], 0x5c3565c7
not dword [esp]
sub dword [esp], 0x69fbc444
add dword [esp], 0x7f7b314b
inc dword [esp]
xor dword [esp], 0x884aced1
jmp 0x588dfc
push dword [esp]
pop ebx
add esp, 4
push ebp
mov ebp, 4
add ecx, ebp
mov ebp, dword [esp]
add esp, 4
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
pop esp
cmp dword [ebp + 0x122d2b11], 0
jne 0x587ea1
cmp dword [ebp + 0x122d2d0d], 0
je 0x587eb6
push eax
mov eax, eax
mov eax, 0x43d
mov dword [ebp + 0x122d1e7c], eax
call dword [ebp + 0x122d1d22]
pop eax
push 0x36bc4100
mov dword [esp], eax
sub esp, 4
mov dword [esp], esp
add dword [esp], 4
jmp 0x586cc3
shl dword [esp], 6
xchg dword [esp], esi
not esi
push esi
push dword [esp + 4]
pop esi
pop dword [esp]
jmp 0x587c4d
and ecx, edi
pop edi
push eax
mov eax, 0xb92bff53
add ecx, eax
jmp 0x589f09
pop eax
neg eax
sub esp, 4
mov dword [esp], ebx
mov ebx, 0x2bff6830
or eax, ebx
jmp 0x587138
add esp, 4
jmp 0x5899f1
pop eax
or ebp, 0x749336c1
not ebp
jmp 0x587821
add dword [esp], 4
pop ecx
push ebx
jmp 0x589a9d
neg ebp
jmp 0x5896f2
mov ebx, dword [esp]
jmp 0x5868a3
push dword [esp]
pop eax
push edx
jmp 0x587933
pop ecx
pop esi
jmp 0x58a7e2
add esp, 4
xchg dword [esp], esi
jmp 0x588fec
mov dword [esp], ebx
push esi
mov esi, 0x3bfb85eb
mov ebx, esi
pop esi
sub eax, ebx
pop ebx
sub esp, 4
mov dword [esp], eax
push dword [esp]
push dword [esp]
mov eax, dword [esp]
jmp 0x58a22c
neg edi
add edi, 0x7ff97af7
xor edi, 0x77ffcb4d
shr edi, 7
jmp 0x587d3c
add eax, 4
add eax, 4
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
mov esp, dword [esp]
jmp 0x588da7
push dword [esp + 4]
pop ebx
jmp 0x58a452
push edx
mov dword [esp], eax
push dword [esp]
push dword [esp]
pop eax
add esp, 4
sub esp, 4
mov dword [esp], ebx
push edi
mov dword [esp], 0x35cf449f
mov dword [esp], esp
add dword [esp], 4
pop ebx
jmp 0x589b74
mov dword [esp], edx
mov dword [esp], eax
push dword [esp]
push dword [esp]
mov eax, dword [esp]
jmp 0x58abbf
mov ecx, 0x3fbfda9d
push ebp
mov ebp, 0x2ff7360a
shr ebp, 1
add ebp, 0x74ded441
not ebp
push eax
mov eax, 0x79457f21
xor eax, 0xf89ed1
xor ebp, eax
pop eax
jmp 0x58ae7f
pop esp
push ecx
mov ecx, esp
add ecx, 4
sub esp, 4
mov dword [esp], edi
push edx
mov edx, 4
mov edi, edx
pop edx
add ecx, 0x7dff7cfc
add ecx, edi
sub ecx, 0x7dff7cfc
pop edi
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
mov esp, dword [esp]
add esp, 4
cmp dword [ebp + 0x122d2b11], 0
jne 0x589035
cmp dword [ebp + 0x122d2d0d], 0
je 0x589044
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x124412df]
pop eax
push edi
push esp
mov edi, dword [esp]
add esp, 4
add edi, 4
sub edi, 4
xchg dword [esp], edi
pop esp
jmp 0x58ba81
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
mov esp, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
mov eax, esi
mov esi, dword [esp]
add esp, 4
push edx
push esp
jmp 0x58786b
push ebp
push esi
mov dword [esp], 0x3cf7b146
pop ebp
sub dword [esp + 8], ebp
pop ebp
add dword [esp + 4], eax
jmp 0x587e1e
add esp, 4
cmp dword [ebp + 0x122d2b11], 0
jne 0x5893a8
cmp dword [ebp + 0x122d2d0d], 0
je 0x5893b7
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x12440e08]
pop eax
push edi
jmp 0x587628
mov dword [esp], edx
mov dword [esp], ebp
jmp 0x589ae5
push eax
mov dword [esp], ebp
mov ebp, 0x3d2fec13
shr ebp, 8
push eax
mov eax, 0xffffffff
add ebp, eax
jmp 0x588725
push eax
push ebx
mov ebx, 0x5edd7587
mov eax, ebx
pop ebx
mov dword [esp + 4], eax
pop eax
pop ebp
shl ebp, 7
push edi
mov edi, 0x76a766c4
shr edi, 2
sub edi, 0x77eba395
add edi, 0x8d010779
sub ebp, edi
pop edi
mov edi, ebp
pop ebp
add dword [esp + 4], 0x7b2f561f
sub dword [esp + 4], 0x7f7bb91f
add dword [esp + 4], edi
push eax
mov eax, 0x7f7bb91f
add dword [esp + 8], 0x7eae8b22
add dword [esp + 8], eax
sub dword [esp + 8], 0x7eae8b22
jmp 0x58b80f
xor ebp, 0x74bf3fef
sub edx, 0x7bef2142
sub edx, ebp
add edx, 0x7bef2142
jmp 0x58a8fb
mov dword [esp], ebx
mov ebx, 0x67be0b83
sub ebx, 0xffffffff
not ebx
push edx
jmp 0x589dbf
push dword [esp]
mov eax, dword [esp]
add esp, 4
push ecx
push 0x4c6e9eb7
mov dword [esp], esp
push edi
mov dword [esp], edx
mov edx, 4
sub dword [esp + 4], 0x793704ba
add dword [esp + 4], edx
add dword [esp + 4], 0x793704ba
pop edx
pop ecx
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
mov esp, dword [esp]
jmp 0x589c69
sub esi, edx
pop edx
push esi
jmp 0x58abd6
push ebx
mov dword [esp], ebp
mov ebp, 0x7d77701f
push ebp
pop ebx
pop ebp
sub ebx, 0x7d77701b
add ecx, ebx
jmp 0x587e6d
mov dword [esp], eax
push esp
pop dword [esp]
push ecx
mov ecx, 4
sub dword [esp + 4], 0x5f7dcb75
add dword [esp + 4], ecx
add dword [esp + 4], 0x5f7dcb75
jmp 0x5888c7
push ecx
jmp 0x589d91
push dword [esp]
jmp 0x58a89d
mov dword [ebp + 0x122d1d4d], eax
mov dword [ebp + 0x122d3b83], 0
push 0x2656c7f3
jmp 0x5873a2
dec eax
add eax, 0xc03057f5
add esi, eax
mov eax, dword [esp]
jmp 0x588a5d
sub esp, 4
mov dword [esp], eax
push esp
jmp 0x588855
mov ecx, 0x6efd36ec
jmp 0x586427
mov edx, 0x7eb61c45
and ebx, edx
jmp 0x589dec
pop edx
add ebx, 0x5f5fa673
add ecx, ebx
push dword [esp]
pop ebx
add esp, 4
jmp 0x58a307
mov eax, dword [esp]
add esp, 4
add edi, 0x5b7f7c33
sub edi, ecx
push ebp
jmp 0x58652a
push esi
mov esi, esp
add esi, 4
jmp 0x58aca4
add edx, ebp
pop ebp
jmp 0x589501
xor ecx, 0xe65cf1a4
add ebx, ecx
pop ecx
add ebx, 4
push ebx
jmp 0x588d69
pop dword [esp]
mov esp, dword [esp]
cmp dword [ebp + 0x122d2b11], 0
jne 0x58a46a
cmp dword [ebp + 0x122d2d0d], 0
je 0x58a479
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d2ae8]
pop eax
cmp dword [ebp + 0x122d2d0d], 0
je 0x58a48f
push eax
mov eax, 0
call dword [ebp + 0x122d33e6]
pop eax
sub esp, 4
mov dword [esp], ebp
push esp
push dword [esp]
pop ebp
add esp, 4
add ebp, 4
jmp 0x58a4f3
sub ebp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
jmp 0x58a611
pop esp
jmp 0x58a6b0
mov dword [esp], esi
jmp 0x58701c
add esi, 4
sub esp, 4
mov dword [esp], edx
mov edx, 0x73ffb077
and edx, 0x7fef3100
not edx
push ebx
mov ebx, 0x3f7748c0
xor edx, ebx
pop ebx
shr edx, 4
shr edx, 7
xor edx, 0x166cf4
jmp 0x589a5b
mov dword [esp], edi
mov dword [esp], ebx
push eax
pop ebx
mov esi, ebx
push dword [esp]
jmp 0x589bc2
pop ebx
push ebx
mov ebx, esp
jmp 0x589235
pop ebp
xchg dword [esp], edx
jmp 0x58a9d3
mov dword [esp], ebx
push ebp
mov dword [esp], 0x702ac9d0
mov dword [esp], ebx
mov dword [esp], ebp
push edx
jmp 0x58ba90
mov esp, dword [esp]
mov dword [esp], eax
push dword [esp]
pop eax
jmp 0x58aa2d
sub esp, 4
mov dword [esp], edi
push esp
mov edi, dword [esp]
add esp, 4
push eax
mov eax, 0x7bde4cfa
shl eax, 3
sub eax, 0x5fbff0e8
sub eax, 0x7f3276e4
add edi, eax
pop eax
add edi, 4
xchg dword [esp], edi
pop esp
cmp dword [ebp + 0x122d2b11], 0
jne 0x58aa6c
cmp dword [ebp + 0x122d2d0d], 0
je 0x58aa7d
push eax
push ebx
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d3bd7]
pop ebx
pop eax
push 0x27a2379c
mov dword [esp], edx
mov dword [esp], edi
mov dword [esp], 0x7cf71ca1
jmp 0x587f41
add esp, 4
jmp 0x58ad3f
push dword [esp + 4]
pop esi
pop dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
mov eax, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
jmp 0x58ae93
push eax
jmp 0x58b174
push edi
push esp
pop edi
jmp 0x58ae79
push ecx
jmp 0x588e95
add ebp, 0x35276950
sub ecx, ebp
pop ebp
add edi, 0x139e2e78
jmp 0x58b241
cmp dword [ebp + 0x122d2b11], 0
jne 0x58aea5
cmp dword [ebp + 0x122d2d0d], 0
je 0x58aeba
push eax
mov eax, eax
mov eax, 0x7d0
mov dword [ebp + 0x122d1e7c], eax
call dword [ebp + 0x122d1d22]
pop eax
push edi
push esp
pop edi
push ebx
mov ebx, 4
add edi, ebx
jmp 0x5874ac
mov eax, 0x3f5fa800
push eax
jmp 0x58b71c
add edi, ecx
sub edi, 0x139e2e78
mov ecx, dword [esp]
add esp, 4
push ebp
mov ebp, 4
add edi, ebp
jmp 0x58b477
mov ebp, dword [esp]
add esp, 4
xchg dword [esp], edi
mov esp, dword [esp]
jmp 0x589390
not dword [esp]
jmp 0x588540
mov eax, dword [esp]
add esp, 4
sub dword [esp + 4], 0x7b2f561f
push dword [esp]
pop edi
add esp, 4
jmp 0x58b840
mov eax, dword [esp]
add esp, 4
jmp 0x58704a
mov dword [esp], ebx
mov ebx, eax
push 0x1da58997
jmp 0x58a96c
mov edx, 0x7dfd3539
jmp 0x58bb15
add edx, 0xf801cb4b
mov ebp, edx
pop edx
xor dword [esp + 4], ebp
mov ebp, dword [esp]
add esp, 4
mov eax, dword [esp]
push edx
push ebp
mov dword [esp], esp
add dword [esp], 4
pop edx
push ebx
jmp 0x58bc51
mov ebx, 4
add edx, ebx
pop ebx
add edx, 4
push edx
push dword [esp + 4]
jmp 0x586540
push edx
mov dword [esp], 0x68c90ef1
mov dword [esp], esi
push 0x282d0e20
jmp 0x589451