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

Disassembly:
mov eax, dword [esp]
sub esp, 4
jmp 0x588030
pop edi
add edi, 0x2f5b3d86
pop edx
jmp 0x5880ec
push eax
mov eax, 0xf9df97e4
add edi, eax
pop eax
add ebx, edi
pop edi
push ebx
push dword [esp + 4]
mov ebx, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
pop dword [esp]
mov esp, dword [esp]
push edi
jmp 0x588009
mov ebp, 0xce61bdd
sub dword [esp + 4], ebp
pop ebp
pop edi
add edi, 0xce61bdd
mov esi, dword [esp]
add esp, 4
shl edi, 3
jmp 0x587ff6
xor edi, 0x773b3d42
neg edi
push ecx
mov ecx, 0x7efe3fcb
jmp 0x588058
mov dword [esp], ebx
push ecx
mov dword [esp], 0x34fff5eb
jmp 0x58805f
add ebx, 0x7faff8a7
sub ebx, ecx
sub ebx, 0x7faff8a7
pop ecx
sub eax, ebx
pop ebx
jmp 0x58810b
mov dword [esp], ebx
push esp
mov ebx, dword [esp]
add esp, 4
push edx
mov edx, 4
add ebx, edx
pop edx
push edx
mov dword [esp], edi
push esi
push 0x3b34c881
mov esi, dword [esp]
jmp 0x5880d2
and edi, ecx
jmp 0x588072
pop ebx
push edi
jmp 0x58807b
sub dword [esp], 0x2f5b3d86
jmp 0x587f97
pop ecx
shl edi, 4
jmp 0x587fa4
push edx
push ebx
mov dword [esp], 0x6cafc47f
mov edx, dword [esp]
add esp, 4
add edx, 0xb381eef
push edx
jmp 0x588066
neg edx
or edx, 0x1aca28ce
sub edx, 0x81000b00
mov ebx, edx
jmp 0x5880ae
pop edx
mov ecx, ebx
push dword [esp]
pop ebx
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
jmp 0x588019
not edx
jmp 0x588099
add esp, 4
push esi
push ebp
jmp 0x587fd7
push ecx
push ebx
push edx
mov edx, 0x7fbd9fa2
jmp 0x5880cb
add ebx, edi
pop edi
jmp 0x5880f4
push eax
mov eax, 0x3f4fab2e
or ebx, eax
push dword [esp]
pop eax
add esp, 4
shl ebx, 4
jmp 0x5880df
mov ecx, ebx
jmp 0x589212
push esp
jmp 0x58cf34
not eax
xor eax, 0x762ade92
add edi, eax
jmp 0x58b560
add edi, 0x55af02af
xor edi, 0x101b14b8
jmp 0x58b5c1
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
sub dword [esp], 0x3f45e964
jmp 0x58d8ff
add ebp, 0x723f11d3
mov edx, dword [esp]
add esp, 4
push ecx
mov ecx, 4
jmp 0x58aaf3
mov dword [esp], 0x7fbdb9ed
or dword [esp], 0x79782316
not dword [esp]
jmp 0x589e6d
and edi, 0x5fe5be96
or edi, 0x7cfdd57c
jmp 0x58bfd0
pop ebp
add ecx, 4
xchg dword [esp], ecx
jmp 0x58c30b
mov edi, 0x6bed9b53
or edi, 0x4fad15e5
not edi
add edi, 1
jmp 0x58979f
push edi
mov edi, 0x3bf3fe16
add eax, edi
pop edi
push edi
mov edi, 0x3e7e00a1
jmp 0x58d89d
xor dword [esp], 0xad89f51e
mov dword [esp], esi
mov dword [esp], edi
mov dword [esp], ebx
sub esp, 4
mov dword [esp], ecx
mov dword [esp], eax
pop ebx
push ebx
push ecx
jmp 0x58a106
mov esi, 4
add edx, esi
jmp 0x58a314
push eax
jmp 0x58d908
push edi
mov edi, 0x37ff559d
mov ecx, edi
pop edi
sub dword [esp + 4], ecx
pop ecx
pop eax
push 0x73bb5762
mov dword [esp], ecx
mov ecx, 0x73f21ea1
push edx
jmp 0x58c1f4
pop ebp
jmp 0x58b38e
mov esi, dword [esp]
add esp, 4
add edx, 4
jmp 0x58a325
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
cmp dword [ebp + 0x122d2cb8], 0
jne 0x58a343
cmp dword [ebp + 0x122d2b90], 0
je 0x58a352
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d280b]
pop eax
push ebp
mov dword [esp], eax
push ebx
push edi
mov edi, 0x73f1c4e7
jmp 0x58a483
inc edi
not edi
add edi, 0xdfd00512
jmp 0x58cc28
push eax
mov eax, 0x778bb109
mov edx, 0xa787c86d
sub edx, eax
mov eax, dword [esp]
jmp 0x58d86e
inc ecx
inc ecx
sub ecx, 0x1b325715
neg ecx
sub ecx, 0x9fc4c6ba
mov edx, ecx
pop ecx
jmp 0x58deb5
add ebp, ecx
pop ecx
xchg dword [esp], ebp
pop esp
jmp 0x58a06b
pop ecx
add ecx, 4
push edx
mov edx, 4
sub ecx, edx
pop edx
xchg dword [esp], ecx
jmp 0x58cf10
mov esi, 0x7b398100
mov ebp, 0x7b398104
sub ebp, esi
pop esi
add dword [esp + 4], ebp
push dword [esp]
pop ebp
jmp 0x58bda0
mov dword [esp], eax
push ebp
mov ebp, esp
add ebp, 4
sub ebp, 4
xchg dword [esp], ebp
pop esp
mov dword [esp], ebx
push ebp
mov ebp, 0x158fd6b5
mov ebx, 0x943f6265
sub ebx, ebp
jmp 0x58a153
neg edi
shl edi, 8
jmp 0x589231
push eax
jmp 0x58c50f
push ebx
mov ebx, 0x3ff5f370
sub dword [esp + 0xc], ebx
pop ebx
pop eax
sub dword [esp + 4], 0x276f5600
add dword [esp + 4], ebx
add dword [esp + 4], 0x276f5600
sub dword [esp + 4], 0x369bd103
mov ebx, dword [esp]
add esp, 4
mov eax, dword [esp]
jmp 0x58e22f
pop edi
jmp 0x58ba04
push esi
mov esi, 0x22090b34
mov ecx, esi
pop esi
add ecx, edi
mov edi, dword [esp]
add esp, 4
or ecx, 0x7c8c4eb1
and ecx, 0x5fbf4c40
dec ecx
push ebp
mov ebp, 0x7fff9246
push esi
mov esi, 0x3daf5d15
xor esi, 0x67ed274b
add esi, 0x3fbb6f3f
shl esi, 2
sub esi, 0x289897d6
xor ebp, esi
mov esi, dword [esp]
add esp, 4
inc ebp
neg ebp
jmp 0x58c065
pop ebp
add eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
sub esp, 4
mov dword [esp], edx
mov edx, esp
jmp 0x58ccb6
sub dword [esp + 4], esi
sub dword [esp + 4], 0x7feb5d34
mov esi, dword [esp]
jmp 0x58e3eb
add esp, 4
mov edx, dword [esp]
add esp, 4
push edi
mov edi, 4
jmp 0x58c7de
and eax, edx
pop edx
add eax, 0x5ebdb5ee
jmp 0x58cc09
push edx
mov dword [esp], 0x2bc3c330
mov dword [esp], edx
mov dword [esp], ebx
push ecx
mov ecx, 0x83020a88
mov ebx, ecx
pop ecx
add edi, ebx
pop ebx
jmp 0x58dcfb
xor ebp, 0x1540c183
jmp 0x58c169
add ecx, ebp
pop ebp
sub ebp, ecx
pop ecx
sub ecx, 0x5e6eb860
add ecx, ebp
add ecx, 0x5e6eb860
jmp 0x589801
mov edx, 0x6fdf3400
not edx
shl edx, 2
sub edx, 0xc34cdc57
sub ecx, edx
pop edx
push edi
mov edi, 0xbebc755f
sub ecx, edi
pop edi
sub eax, 0x7fffbe67
add eax, ecx
jmp 0x58c6fd
pop esp
mov dword [ebp + 0x122d340a], eax
mov dword [ebp + 0x122d2a99], 0
push ecx
push esp
jmp 0x58ab96
push dword [esp]
mov eax, dword [esp]
push 0x32b2fe82
mov dword [esp], edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
jmp 0x58eae0
mov eax, 0x369bd103
jmp 0x58c60b
add dword [esp + 8], 0x3ff5f370
add dword [esp + 8], eax
jmp 0x58b4f6
push esi
mov esi, 0xffffffff
sub ebp, esi
mov esi, dword [esp]
add esp, 4
push edi
mov edi, 0x56af4fe7
xor ebp, edi
jmp 0x58cf50
add eax, 0x7fffbe67
mov ecx, dword [esp]
add esp, 4
mov ebx, dword [esp]
add esp, 4
cmp dword [ebp + 0x122d2cb8], 0
jne 0x58c723
cmp dword [ebp + 0x122d2b90], 0
je 0x58c732
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d2895]
pop eax
push 0xa7bfc13
jmp 0x58d9f8
add edx, 0x7fb5d380
add edx, edi
sub edx, 0x7fb5d380
jmp 0x58d73b
add dword [esp], 0x6fcf57e9
add dword [esp], 0xfe433e38
not dword [esp]
sub dword [esp], 0x3dcfae5b
jmp 0x58e4d5
not edi
jmp 0x58df88
push 0x5e4916b7
mov dword [esp], edx
mov edx, 0x2bd7ebd1
neg edx
push ebx
push 0x9edec91
mov dword [esp], esp
add dword [esp], 4
pop ebx
add ebx, 4
sub ebx, 4
jmp 0x58e4cd
add eax, edx
sub eax, 0x7e72d0c1
jmp 0x58e524
add eax, 0x6b7f05d9
shl eax, 8
jmp 0x58ce84
mov ebx, edi
pop edi
add dword [esp + 4], ebx
pop ebx
push dword [esp]
pop eax
push edi
mov edi, esp
add edi, 4
add edi, 4
xor edi, dword [esp]
jmp 0x58d977
push esi
jmp 0x589ecb
mov ebp, esp
add ebp, 4
sub esp, 4
mov dword [esp], edi
mov edi, 0x75ff5026
inc edi
add edi, 0x75f7f12b
push esi
mov esi, 0x6ba924bb
jmp 0x58d6ba
add eax, 0x60fe58f0
jmp 0x58d66f
mov esp, dword [esp]
mov dword [esp], eax
mov eax, dword [esp]
push 0x7241b3f0
mov dword [esp], eax
push esp
pop eax
sub esp, 4
jmp 0x58d085
mov eax, dword [esp]
push ecx
push esp
pop ecx
sub esp, 4
mov dword [esp], edi
mov dword [esp], ebp
mov ebp, 0x5f71a0ff
jmp 0x58c629
pop edi
inc ebp
dec ebp
push ecx
push edi
mov edi, 0x2f1db6d7
jmp 0x58cf6c
sub edi, 0x7f157544
jmp 0x58b08f
mov dword [esp], edi
jmp 0x589c1b
pop esp
mov dword [esp], ecx
mov ecx, 0xa9d7eab3
xor edx, ecx
mov ecx, dword [esp]
add esp, 4
jmp 0x58beb3
mov dword [esp], ecx
mov ecx, 0x3fffbe50
jmp 0x58e6d1
xor edi, 0x31bd4f3b
sub edx, edi
mov edi, dword [esp]
add esp, 4
xchg dword [esp], edx
pop esp
jmp 0x58b00d
sub eax, 0xc54c23ec
add ecx, eax
mov eax, dword [esp]
add esp, 4
xchg dword [esp], ecx
pop esp
jmp 0x58e8ea
sub edi, esi
pop esi
xor edi, 0x804e1c93
add ebp, edi
pop edi
xchg dword [esp], ebp
pop esp
jmp 0x58dff3
pop edi
jmp 0x58d882
add esp, 4
sub eax, edx
mov edx, dword [esp]
add esp, 4
push eax
push ecx
mov ecx, esp
jmp 0x58df61
sub edx, 4
jmp 0x589266
mov edx, 0x6bde4029
push ebx
mov ebx, 0x614495b1
jmp 0x58d93b
xor eax, edi
pop edi
jmp 0x589223
mov eax, dword [esp]
push ebp
jmp 0x58cd4c
sub dword [esp], 0x7e98a87d
push dword [esp]
pop eax
push edi
mov edi, esp
push eax
push ecx
push ecx
push esi
mov esi, 0x67710538
mov dword [esp + 4], esi
pop esi
dec dword [esp]
shr dword [esp], 6
not dword [esp]
jmp 0x58df4e
sub eax, ebx
pop ebx
sub eax, edx
add eax, 0x614495b1
mov edx, dword [esp]
push ebp
mov ebp, esp
jmp 0x58ec0d
xor dword [esp], edi
xor edi, dword [esp]
mov esp, dword [esp]
push 0x1b53e414
mov dword [esp], edx
jmp 0x58d88d
mov dword [esp], ebx
push eax
pop ebx
push edi
jmp 0x58dcca
push dword [esp]
push dword [esp]
mov eax, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], eax
push esp
jmp 0x58ebcc
mov dword [esp], 0x5d10e1a5
jmp 0x58e8be
add eax, edi
mov edi, dword [esp]
add esp, 4
add eax, 4
xchg dword [esp], eax
pop esp
cmp dword [ebp + 0x122d2cb8], 0
jne 0x58dd1e
cmp dword [ebp + 0x122d2b90], 0
je 0x58dd33
push eax
mov eax, eax
mov eax, 0x43d
mov dword [ebp + 0x122d294f], eax
call dword [ebp + 0x122d2935]
pop eax
push eax
push esp
mov eax, dword [esp]
add esp, 4
add eax, 4
sub eax, 4
push eax
push dword [esp + 4]
pop eax
pop dword [esp]
pop esp
mov dword [esp], eax
push ebx
jmp 0x58dd91
mov dword [esp], ecx
push eax
mov eax, 0x2ffc1764
push eax
pop ecx
pop eax
jmp 0x58de76
sub dword [esp + 4], 0x1fdd1f3e
add dword [esp + 4], ecx
add dword [esp + 4], 0x1fdd1f3e
mov ecx, dword [esp]
jmp 0x58dec2
sub ebp, 0x723f11d3
add ebp, edx
jmp 0x5893e1
push esi
push esp
pop esi
add esi, 4
add esi, 4
xchg dword [esp], esi
pop esp
mov eax, dword [esp]
add esp, 4
push edi
mov dword [esp], edx
jmp 0x58a9ca
xor dword [esp], 0x6dcf8a00
and dword [esp], 0x5aef7584
jmp 0x58dfcb
add ecx, 4
sub ecx, 4
xchg dword [esp], ecx
pop esp
mov dword [esp], esi
mov esi, 0x6bfbf07a
push edi
mov edi, 0x7feb5d34
add dword [esp + 8], edi
jmp 0x58b56c
dec edi
not edi
jmp 0x58d467
sub dword [esp], 0x92ca68bb
push 0xc2454ee
mov dword [esp], ecx
mov ecx, 0x6ff6d722
sub dword [esp + 4], ecx
pop ecx
jmp 0x58c80b
add eax, 0x3f45e964
push edi
mov dword [esp], eax
jmp 0x58966f
add esp, 4
jmp 0x58e91c
add esp, 4
push dword [esp]
pop eax
push 0x386c08ac
mov dword [esp], edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
mov esp, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
sub ecx, 4
xchg dword [esp], ecx
pop esp
mov dword [esp], edx
mov edx, 0x6bfbf07a
push ebx
mov ebx, 0x5f53e0ff
xor ebx, 0x4aafdea8
add eax, ebx
mov ebx, dword [esp]
add esp, 4
add eax, 0x7e72d0c1
jmp 0x58cb22
xchg dword [esp], ebx
jmp 0x58d278
shl dword [esp], 5
push ebx
mov ebx, 0x447f6200
add dword [esp + 4], 0x7ffe9b69
sub dword [esp + 4], ebx
sub dword [esp + 4], 0x7ffe9b69
pop ebx
shr dword [esp], 7
sub dword [esp], 0x80838148
pop ecx
shl ecx, 1
xor ecx, 0x6da53896
sub ecx, 0x16a3b89d
mov eax, ecx
push dword [esp]
pop ecx
add esp, 4
inc eax
jmp 0x589c30
sub eax, 0x15fc3e57
mov edx, dword [esp]
add esp, 4
cmp dword [ebp + 0x122d2cb8], 0
jne 0x58e541
cmp dword [ebp + 0x122d2b90], 0
je 0x58e550
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d24e9]
pop eax
cmp dword [ebp + 0x122d2b90], 0
je 0x58e566
push eax
mov eax, 0
call dword [ebp + 0x122d292c]
pop eax
push ebp
mov ebp, esp
jmp 0x58e5cc
add ebp, 4
sub ebp, 4
push ebp
push dword [esp + 4]
pop ebp
pop dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
push dword [esp]
pop eax
jmp 0x58e7e5
push edi
mov edi, 0x4def82d6
dec edi
add edi, 0x7bebd28b
xor edi, 0x4f74e377
inc edi
add edi, 0xb97ec3bd
or ecx, edi
pop edi
and ecx, 0x3f5db9dd
xor ecx, 0x69f4a1b
add ecx, 0xc63d0c36
add esi, 0x3decf934
add esi, ecx
sub esi, 0x3decf934
pop ecx
jmp 0x58eb56
sub esp, 4
mov dword [esp], ecx
push esp
pop ecx
add ecx, 4
push eax
mov eax, 0x72279344
jmp 0x58cae7
mov dword [esp], ebx
jmp 0x58c48e
push 0x27ed0dce
mov dword [esp], edx
push esp
pop edx
add edx, 4
push edi
mov edi, 0x31bd4f3e
jmp 0x58c828
push edx
mov edx, 0x1fee463f
add edx, 0x5ec14571
sub eax, edx
pop edx
cmp dword [ebp + 0x122d2cb8], 0
jne 0x58e93d
cmp dword [ebp + 0x122d2b90], 0
je 0x58e94e
push eax
push ebx
mov eax, eax
mov eax, 0
call dword [ebp + 0x1244010e]
pop ebx
pop eax
push edx
push edx
mov dword [esp], esp
push ebp
push esi
jmp 0x58ac95
push eax
mov dword [esp], esi
mov esi, esp
jmp 0x58eb16
add esi, 4
sub esp, 4
jmp 0x58d33d
xor esi, dword [esp]
xor dword [esp], esi
jmp 0x58ebad
xor esi, dword [esp]
mov esp, dword [esp]
mov ebx, dword [esp]
add esp, 4
push ebp
mov dword [esp], 0x34f80c57
mov dword [esp], eax
jmp 0x58dba8
mov eax, dword [esp]
add esp, 4
push ebp
mov ebp, 0x2e9e4254
shr ebp, 8
xor ebp, 0x7fac814e
xor ebp, 0x7f821f08
add eax, ebp
jmp 0x58b92d
push edx
push ecx
mov ecx, 0x7b6d9055
jmp 0x58a9ea