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

Disassembly:
push dword [esp]
mov esi, dword [esp]
add esp, 4
push edx
jmp 0x1596a7b
pop eax
push esi
mov dword [esp], edi
push 4
pop edi
add esi, 0x7f7f6598
sub esi, 0x7d992f04
add esi, 0x6dcfa39b
jmp 0x1596cb9
mov edi, 0x7e4f11e5
sub edi, 0x1abd89af
xor ecx, edi
mov edi, dword [esp]
add esp, 4
jmp 0x15968a9
sub esi, 4
jmp 0x1596a8f
add ebx, eax
pop eax
add ebx, 0x2aef8512
add ebx, esi
sub ebx, 0x2aef8512
push edx
mov edx, 0
jmp 0x1596d40
push dword [esp]
jmp 0x1596902
mov esp, dword [esp]
mov dword [esp], esi
push dword [esp + 4]
pop esi
pop dword [esp]
pop esp
jmp 0x1597072
mov dword [esp], 0xcc72e82
mov dword [esp], edx
mov edx, 4
add dword [esp + 4], edx
mov edx, dword [esp]
add esp, 4
jmp 0x1596826
xchg dword [esp], edx
mov esp, dword [esp]
mov dword [esp], esi
mov esi, esp
add esi, 4
jmp 0x1596802
add esp, 4
add edx, 4
jmp 0x1596aa6
sub ebx, edx
pop edx
sub ebx, 0x7f8772e9
push ebp
mov ebp, 0
sub ebp, 0x7feba116
sub ebp, ebx
add ebp, 0x7feba116
jmp 0x159694e
xor ebp, ecx
jmp 0x15968b0
pop ecx
jmp 0x1596c99
mov edi, dword [esp]
add esp, 4
sub edi, 0x818305b0
jmp 0x1596ca0
push ecx
mov ebx, dword [esp]
add esp, 4
mov ecx, dword [esp]
add esp, 4
mov edi, dword [esp]
add esp, 4
jmp 0x1596caf
xor eax, ebx
pop ebx
sub esi, eax
pop eax
push ebx
mov ebx, 0x7fff57e6
sub ebx, 0x7e9fbafb
jmp 0x1596bdf
pop eax
push ebp
push esp
pop ebp
jmp 0x15969ac
neg esi
shl esi, 4
sub esi, 0xb03d6131
add edi, esi
pop esi
dec edi
jmp 0x1596eb4
mov ebx, 0x1d7ff61b
sub ebx, 1
not ebx
add ebx, 0x1d7ff61f
sub ecx, 0x7fc64ad7
jmp 0x1596ddd
add edi, 0x3edd0f1a
or edi, 0x45ffae5d
jmp 0x1597095
xchg ebx, ebp
mov ebp, dword [esp]
jmp 0x1596f04
push 0x422cca4a
mov dword [esp], ebp
mov dword [esp], 0x66837fe3
mov dword [esp], ebp
mov ebp, 0x646bab4a
or ebp, 0x6fff8d7b
jmp 0x1596fd0
add esp, 4
add esp, 4
sub esp, 4
mov dword [esp], eax
jmp 0x1596f3d
mov ecx, 0x75ef73d7
add ebp, ecx
pop ecx
or ebp, 0x1b7f67b3
shr ebp, 8
push ebx
mov ebx, 0xa205bc9e
sub ebp, ebx
jmp 0x1596c38
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
jmp 0x1596b8a
mov dword [esp], eax
push esp
mov eax, dword [esp]
add esp, 4
add eax, 4
push edx
mov edx, 4
add eax, edx
pop edx
jmp 0x1596df0
mov dword [esp], edi
mov edi, esp
add edi, 4
sub edi, 4
xchg dword [esp], edi
mov esp, dword [esp]
mov dword [esp], esp
push edx
mov dword [esp], ecx
jmp 0x1596842
xor edx, 0x6727f6fe
jmp 0x1596f14
add esp, 4
add esi, 0x7507a413
or esi, 0x6d7ddff4
neg esi
sub esi, 0xa7643129
mov eax, esi
pop esi
sub eax, 0x7bbf1f97
add eax, 0xffffffff
and eax, 0x5fdf9a2f
xor eax, 0x73fced6f
push ecx
push eax
mov eax, 0xd2df989e
mov ecx, eax
jmp 0x1596da6
sub esi, 0x7f7f6598
pop edi
push esi
push dword [esp + 4]
pop esi
pop dword [esp]
pop esp
push ebp
push edi
mov dword [esp], 0x7946b4b0
pop ebp
push ebp
jmp 0x1596fa8
not dword [esp]
mov ebx, dword [esp]
add esp, 4
jmp 0x1596abb
push esp
pop edx
push eax
push esi
push esi
mov dword [esp], 0x7bbf371f
mov esi, dword [esp]
jmp 0x1596a0f
push edi
push esp
pop edi
add edi, 4
sub edi, 4
xchg dword [esp], edi
jmp 0x159682e
push edx
push dword [esp + 4]
pop edx
pop dword [esp]
mov esp, dword [esp]
push ebx
push dword [esp]
jmp 0x1596ba2
sub esp, 4
mov dword [esp], edi
mov edi, 0x7f7efdaa
jmp 0x1596fb5
mov ecx, dword [esp]
add esp, 4
add edx, eax
mov eax, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
add edx, 4
push 0x1b454895
mov dword [esp], ecx
mov dword [esp], edx
push dword [esp + 4]
pop edx
pop dword [esp]
mov esp, dword [esp]
add esi, 0x5efa42d1
push eax
mov eax, 0x6ff6cd3c
jmp 0x1596e3a
mov dword [edx], eax
mov edx, dword [esp]
add esp, 4
push dword [esp]
mov ebx, dword [esp]
jmp 0x159697a
sub ebx, 0xc7270638
or edi, ebx
jmp 0x1596b6e
pop ebx
add esp, 4
jmp 0x1596cd7
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
sub ebx, 0x7f5bf14f
push 0x121ffed5
mov dword [esp], ebp
mov dword [esp], ebx
jmp 0x1596a6d
pop ebx
push esi
mov esi, 0x1fdf6300
push edi
jmp 0x1597031
inc dword [esp]
sub dword [esp], 0xede57a1d
jmp 0x15968b6
add eax, 4
sub eax, 4
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
jmp 0x1596d82
pop eax
push ebx
mov ebx, esp
add ebx, 4
push ebp
mov ebp, 4
add ebx, ebp
pop ebp
push ebx
push dword [esp + 4]
pop ebx
pop dword [esp]
mov esp, dword [esp]
pop ebx
push ecx
mov ecx, 0x3ecd1f41
mov ebx, ecx
mov ecx, dword [esp]
jmp 0x1596b45
push dword [esp + 4]
pop eax
pop dword [esp]
jmp 0x1596e57
dec ebx
jmp 0x1597010
not edi
push edx
mov edx, 0x759e8572
and edi, edx
pop edx
xor edi, 0x64088136
push edi
push ebx
mov ebx, 0x6fae4a28
sub dword [esp + 4], ebx
pop ebx
mov eax, dword [esp]
add esp, 4
jmp 0x1596d62
push esp
pop eax
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
push eax
mov eax, esp
add eax, 4
sub eax, 4
jmp 0x1596fdb
push ebx
mov ebx, 0xffffffff
jmp 0x1596ed7
pop ebx
sub esi, 0x5f65a3bf
sub esi, ebp
add esi, 0x5f65a3bf
pop ebp
jmp 0x1596cf5
pop edx
and ebx, edi
mov edi, dword [esp]
add esp, 4
sub ebx, 0xffffffff
jmp 0x1596958
pop edx
push ebx
push 0x7f4abff4
jmp 0x1596dea
push 0x3700bd95
mov dword [esp], edx
add dword [esp], 0xffffffff
mov edx, dword [esp]
add esp, 4
push ecx
mov ecx, 0x4796fbf9
sub edx, ecx
push dword [esp]
pop ecx
add esp, 4
jmp 0x1596d6f
push ebp
pop ecx
jmp 0x1596d13
push esi
mov dword [esp], ecx
push eax
mov eax, edi
mov ecx, eax
pop eax
jmp 0x15968ca
sub esi, ebx
mov ebx, dword [esp]
jmp 0x1596e15
add esi, edi
sub esi, 0x6dcfa39b
add esi, 0x7d992f04
jmp 0x1596a4c
add edi, 0xffffffff
jmp 0x1596dfb
push eax
mov eax, 0x73ffa756
shr eax, 7
xor eax, 0x564ad300
inc eax
or eax, 0x7ffd2e01
add eax, 0x8002d1b1
jmp 0x159680a
push ebx
mov dword [esp], 0xdd5234f
mov dword [esp], edx
mov dword [esp], esi
mov esi, esp
push eax
push 0x38faff8a
mov dword [esp], edi
jmp 0x1596ef1
push dword [esp]
push dword [esp]
mov ebp, dword [esp]
add esp, 4
push edi
jmp 0x15969c1
xor esi, 0x7f797a7c
neg esi
jmp 0x1596d35
sub esp, 4
jmp 0x1596db8
sub edx, 0x4cbb80f2
sub edx, 0x766bbe2c
add edx, ebx
add edx, 0x766bbe2c
push eax
mov eax, 0x4cbb80f2
add edx, eax
pop eax
jmp 0x1596b19
add eax, 0x6fae4a28
pop edi
add esi, eax
jmp 0x15967c8
push edx
add dword [esp], 0x17bf4d78
pop eax
sub eax, 0x17bf4d78
jmp 0x1596c64
pop esp
jmp 0x1596f1a
shr ebx, 6
push ebx
neg dword [esp]
pop ebx
xor ebx, 0x39c3d210
push ebx
mov dword [esp], 0x14531d26
mov dword [esp], eax
jmp 0x1596f98
pop eax
add eax, 0x3ff7a9b1
add eax, ecx
sub eax, 0x3ff7a9b1
jmp 0x1596acb
mov dword [esp], ebx
push edx
mov dword [esp], edi
push ecx
mov dword [esp], 0x2fd4eaf3
xor dword [esp], 0x575770d1
xor dword [esp], 0x7eb862b8
not dword [esp]
jmp 0x1596b7b
add ecx, ebx
add ecx, 0x7fc64ad7
jmp 0x15971d3
pop ebx
jmp 0x1596d88
sub esp, 4
mov dword [esp], eax
jmp 0x1596bd2
push ebp
mov ebp, 0x47bf054b
sub ebp, 0xd2516aa4
xor edi, ebp
pop ebp
sub edi, 0x77bf3043
jmp 0x1596be5
add esp, 4
xor eax, esi
mov esi, dword [esp]
add esp, 4
push edi
push eax
mov dword [esp], ecx
push edi
mov edi, 0x7bfb1d00
mov ecx, edi
pop edi
push ecx
jmp 0x1596e65
inc eax
sub eax, 0x7ff94422
push ebx
mov ebx, 0x6612b47f
push edx
mov edx, 0x1cbf8b41
sub edx, 0x9cc52a79
jmp 0x1596887
mov esp, dword [esp]
add esp, 4
push dword [esi + ecx]
jmp 0x1596ff4
pop edi
mov ecx, dword [esp]
add esp, 4
jmp 0x1596c2d
sub esi, 0x6ff65567
add esi, ebx
add esi, 0x6ff65567
mov ebx, dword [esp]
add esp, 4
add esi, dword [esp]
sub esi, 0x7fd40b00
add esi, 0x6c47eb5c
push ebp
mov ebp, 0x7fe5b5fe
push edx
mov edx, 0x3ff62e47
sub edx, 0x3e7e27f3
xor edx, 0x77d53515
or ebp, edx
pop edx
jmp 0x1596efb
push esi
mov esi, 0x3dff5fd7
xor esi, 0x4fffd066
and esi, 0x1fde5659
or esi, 0x4eff09bc
add esi, 0x12765344
jmp 0x15970b3
sub edi, ebx
pop ebx
push ebx
mov ebx, 0x7b7439a4
dec ebx
neg ebx
dec ebx
neg ebx
xor ebx, 0x3e67cd5f
jmp 0x1596b2f
mov edi, 0x7cd8fda5
jmp 0x1596ccc
push esi
mov dword [esp], ecx
jmp 0x159698e
add esp, 4
not ebx
sub ebx, 0xe2d67e86
jmp 0x15968eb
inc edx
jmp 0x159701b
mov dword [esp], esi
mov esi, 4
sub ecx, esi
mov esi, dword [esp]
add esp, 4
cmp ecx, 0xffffa6d4
jne 0x1596e5d
sti
push ebx
jmp 0x1596f45
sub esp, 4
jmp 0x15969e1
mov ebx, esp
push edx
mov edx, 4
add ebx, edx
pop edx
sub ebx, 4
xchg dword [esp], ebx
pop esp
mov dword [esp], edx
mov edx, 0x77f3d9d0
jmp 0x1596fe3
xor edx, 0x1540b282
sub ecx, edx
pop edx
sub ecx, 0x73ff688c
xor ecx, 0x4f6d26ff
sub ecx, 0x5fbb9971
xor ecx, 0xbb9b5891
add edx, ecx
pop ecx
shr edx, 7
shl edx, 8
not edx
jmp 0x1596c70
mov eax, 0xcbdda8ce
xor ebx, eax
push dword [esp]
pop eax
jmp 0x1597044
mov dword [esp], ecx
mov ecx, 0x1ad73c86
jmp 0x1596fca
dec edi
shl edi, 4
add edi, 0x6bbff225
push edx
mov edx, 0x7bb3aaa5
jmp 0x1596a04
push edi
jmp 0x15967ea
xor ebp, 0x5a6e9760
jmp 0x15971a3
xchg dword [esp], eax
jmp 0x159720f
push edi
mov edi, 0x6ee8c778
add edi, 0x3fa6f498
jmp 0x159693d
push dword [esp]
jmp 0x1597066
or edx, ebp
pop ebp
push ecx
mov ecx, 0x1fbc1500
push edx
mov edx, 0x7ebf1661
jmp 0x1596f67
sub ebx, 0x818b91ea
jmp 0x1596e71
shr edx, 5
add edx, 0x3f6dba07
add edx, 0xc3bc5299
add edi, edx
jmp 0x1596c4d
mov edi, 0x57bfdfe4
shr edi, 2
jmp 0x159703e
inc edi
jmp 0x159704d
push edx
mov edx, esp
push ebp
jmp 0x15970d1
add edi, 0x42f30919
jmp 0x1597058
sub esi, edi
pop edi
add esi, 0x7dffc800
jmp 0x159690b
pop eax
jmp 0x159706c
push edx
jmp 0x15970a3
mov dword [esp], esi
sub esp, 4
mov dword [esp], eax
mov eax, esp
add eax, 4
push edi
mov edi, 4
jmp 0x15970ec
mov dword [esp], eax
jmp 0x159718a
or edi, 0x6ffd0496
shl edi, 2
jmp 0x1597154
mov edx, esp
add edx, 4
sub edx, 4
jmp 0x1596860
xor edi, esi
pop esi
xor eax, edi
mov edi, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
push 0x1c266197
mov dword [esp], edx
jmp 0x1597117
mov ebp, 4
sub edx, 0x7fcd8c36
add edx, ebp
add edx, 0x7fcd8c36
mov ebp, dword [esp]
jmp 0x1596876
sub eax, edi
pop edi
xchg dword [esp], eax
pop esp
mov dword [esp], esp
add dword [esp], 4
pop esi
push ecx
mov ecx, 4
add esi, ecx
pop ecx
add esi, 4
xchg dword [esp], esi
pop esp
push esi
jmp 0x1597147
mov edx, 4
add ebp, edx
pop edx
xchg dword [esp], ebp
pop esp
push eax
mov eax, esp
add eax, 4
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], ebx
mov dword [esp], edi
mov edi, 0x7ff5f140
push 0x3d99023d
jmp 0x159708d
mov esi, 0x3fc6a9f6
shr esi, 3
jmp 0x1597184
sub edi, 0x401093ea
sub edx, edi
pop edi
shl edx, 1
shl edx, 2
shl edx, 6
xor edx, 0x57a4d630
shr edx, 7
shr edx, 2
push 0x339d6cab
mov dword [esp], ebp
mov ebp, 0x7fef8934
jmp 0x1596ffc
push eax
jmp 0x15971fc
mov eax, 0x7b4ca7ba
sub edi, eax
mov eax, dword [esp]
push esi
mov dword [esp], ecx
mov ecx, esp
push ebp
mov dword [esp], ebx
jmp 0x159691f
xor ebx, ebp
mov ebp, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
xchg dword [esp], ebx
pop esp
jmp 0x159721b
mov dword [esp], ebx
push edx
mov dword [esp], 0x6e4ae996
mov dword [esp], ecx
push dword [esp]
jmp 0x1596b3c
mov ebx, dword [esp]
add esp, 4
add ecx, 4
xchg dword [esp], ecx
mov esp, dword [esp]
xor eax, edi
push dword [esp]
mov edi, dword [esp]
add esp, 4
push eax
jmp 0x1596c0d
mov eax, 0x5bf5d900
add esi, eax
push dword [esp]
pop eax
add esp, 4
jmp 0x1596d28
pop esp
mov dword [esp], ebp
mov dword [esp], esi
jmp 0x15971bd
jmp 0x15972e5
jmp 0x15978b3
mov byte [ebp + 0x122d2ea8], 0x52
mov eax, 0xade47b07
push eax
push dword [ebp + 0x122d2f3a]
call dword [ebp + 0x122d2a0f]
mov dword [ebp + 0x1245e2cd], eax
mov byte [ebp + 0x122d2ea8], 0x52
mov eax, 0x902e00e5
push eax
push dword [ebp + 0x122d2f3a]
call dword [ebp + 0x122d2a0f]
mov dword [ebp + 0x1245e2c9], eax
mov byte [ebp + 0x122d2ea8], 0x52
mov eax, 0xb9bf1235
push eax
push dword [ebp + 0x122d2f3a]
call dword [ebp + 0x122d2a0f]
mov dword [ebp + 0x122d1e64], eax
mov byte [ebp + 0x122d2ea8], 0x52
mov eax, 0x98781034
push eax
push dword [ebp + 0x122d2f3a]
call dword [ebp + 0x122d2a0f]
mov dword [ebp + 0x122d25b4], eax
mov byte [ebp + 0x122d2ea8], 0x52
mov eax, 0xc005dbd4
push eax
push dword [ebp + 0x122d2f3a]
call dword [ebp + 0x122d2a0f]
mov dword [ebp + 0x122d36f9], eax
lea eax, [ebp + 0x1245e5e0]
mov dword [ebp + 0x122d3306], eax
lea eax, [ebp + 0x1245e837]
mov dword [ebp + 0x122d2f69], eax
lea eax, [ebp + 0x1245e578]
mov dword [ebp + 0x122d2eca], eax
lea eax, [ebp + 0x1245e62f]
mov dword [ebp + 0x122d2a40], eax
lea eax, [ebp + 0x1245e697]
mov dword [ebp + 0x122d2d10], eax
lea eax, [ebp + 0x1245e6ff]
mov dword [ebp + 0x122d1c94], eax
lea eax, [ebp + 0x1245e4f6]
mov dword [ebp + 0x122d1cc9], eax
lea eax, [ebp + 0x1245e767]
mov dword [ebp + 0x122d343d], eax
lea eax, [ebp + 0x1245e7cf]
mov dword [ebp + 0x122d2e2d], eax
lea eax, [ebp + 0x1245e510]
mov dword [ebp + 0x122d1e5b], eax
push ebp
push edi
push 0x7dd75040
pop edi
push eax
mov eax, 0x7cd76e76
jmp 0x1597a5f
or edi, eax
pop eax
jmp 0x1597af2