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

Disassembly:
push dword [esp]
push dword [esp]
pop eax
sub esp, 4
mov dword [esp], ebx
mov ebx, esp
push ecx
push eax
push 0x3fbfc335
pop eax
sub eax, 0x1832645f
mov ecx, eax
pop eax
jmp 0x5992ce
mov eax, esp
add eax, 4
add eax, 4
jmp 0x5992c5
pop ecx
pop eax
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x7fef6836
jmp 0x59926f
mov dword [esp], eax
mov eax, 0x3ad4eeab
push ecx
mov ecx, eax
push ecx
pop edx
jmp 0x59923f
or edx, 0x5f71e3ab
push eax
jmp 0x599289
sub edx, 0xb1c2332
add edx, ecx
add edx, 0xb1c2332
pop ecx
shl edx, 3
shr edx, 3
jmp 0x599263
mov eax, 0x26c61ceb
sub edx, eax
pop eax
shl edx, 7
push eax
mov eax, 0x97de4318
xor edx, eax
pop eax
xor edi, edx
pop edx
add eax, 0x39e03ea5
sub eax, 0xdf90b7b
sub eax, 0x174fce11
sub eax, edi
add eax, 0x174fce11
jmp 0x5992bb
add eax, 0xdf90b7b
jmp 0x59934c
xchg dword [esp], eax
pop esp
jmp 0x599364
xor ecx, 0x278d5ed2
jmp 0x5992d9
add ebx, ecx
pop ecx
add ebx, 4
push 0x1fc99ce1
mov dword [esp], ebx
push dword [esp + 4]
mov ebx, dword [esp]
add esp, 4
pop dword [esp]
pop esp
push edx
sub esp, 4
jmp 0x5992fe
mov dword [esp], esp
add dword [esp], 4
pop edx
add edx, 4
push edi
mov edi, 4
add edx, edi
push dword [esp]
pop edi
add esp, 4
push edx
push dword [esp + 4]
pop edx
jmp 0x59932c
pop dword [esp]
mov esp, dword [esp]
push 0x276f0e16
mov dword [esp], edi
mov edi, 0x67834da2
shr edi, 3
shr edi, 6
push edx
push esi
jmp 0x599251
sub eax, 0x39e03ea5
mov edi, dword [esp]
push esi
mov dword [esp], 0x223fec1
mov dword [esp], eax
jmp 0x599230
mov ecx, ebx
jmp 0x59a46b
push 0xc8ef035
mov dword [esp], eax
mov dword [esp], 0x5fbe645b
jmp 0x59f45c
xor dword [esp], ebp
xor ebp, dword [esp]
jmp 0x59a89d
pop edi
xor dword [esp + 4], esi
jmp 0x59d741
add dword [esp + 4], edx
pop edx
jmp 0x59be36
not eax
or eax, 0x3afe63c7
jmp 0x59eaa6
sub dword [esp + 4], ebp
jmp 0x59d7a1
mov esp, dword [esp]
push eax
mov eax, esp
add eax, 4
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x3ffe4cbe
xor ecx, 0x3ffe4cba
sub eax, ecx
jmp 0x59bca6
mov eax, esi
mov edi, eax
pop eax
mov eax, edi
mov edi, dword [esp]
add esp, 4
mov esi, dword [esp]
add esp, 4
jmp 0x59d5c0
mov ebp, 0x7ef495ef
add esi, ebp
jmp 0x59ada7
push edx
mov dword [esp], eax
jmp 0x59b093
push dword [esp]
pop ebp
add esp, 4
push ecx
xor dword [esp], 0x7ddf9bf2
pop esi
jmp 0x59bb00
mov ebx, 0x2eb2ffbf
sub edi, ebx
pop ebx
jmp 0x59b723
pop edx
add edx, 4
add edx, 4
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
cmp dword [ebp + 0x122d2b1b], 0
jne 0x59abea
cmp dword [ebp + 0x122d2abb], 0
je 0x59abf9
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d232e]
pop eax
push ebp
jmp 0x59f52e
push dword [esp]
pop ebp
add esp, 4
jmp 0x59b349
mov ebx, 0x7bd787e1
xor dword [esp + 4], ebx
pop ebx
mov eax, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
jmp 0x59b782
mov dword [esp], 0x741a7e7a
mov dword [esp], esi
jmp 0x59e7ad
sub esi, 4
xor esi, dword [esp]
xor dword [esp], esi
jmp 0x59e218
sub dword [esp], 0x79fe9cd4
shl dword [esp], 8
push edx
mov edx, 0x3bdd0a22
jmp 0x59cb2c
mov eax, esp
push esi
mov dword [esp], ecx
mov ecx, 0x5fef90f2
sub ecx, 0x5fef90ee
add eax, ecx
pop ecx
add eax, 4
xchg dword [esp], eax
pop esp
xor eax, ebp
push dword [esp]
jmp 0x59be04
add ebp, edi
pop edi
jmp 0x59fdcc
xor dword [esp + 4], edi
pop edi
sub esp, 4
mov dword [esp], esi
mov esi, 0x74474cd6
xor dword [esp + 4], esi
pop esi
jmp 0x59e9b5
pop ebp
xchg dword [esp], esi
pop esp
push dword [esp]
pop eax
push ebp
jmp 0x59b6ac
mov dword [esp], 0x19f4e11a
mov dword [esp], esi
jmp 0x59c632
push eax
mov eax, 0x6f3ec6b5
and eax, 0x6afaa571
or eax, 0x7f6f31a2
shr eax, 5
add eax, 0xfc040257
add ebp, eax
pop eax
add ebp, 4
xchg dword [esp], ebp
pop esp
xor eax, 0x3febd971
jmp 0x59cd29
push esp
pop eax
jmp 0x59c22f
mov ebp, esp
jmp 0x59b585
inc ecx
inc ecx
dec ecx
not ecx
jmp 0x59ecee
mov esp, dword [esp]
push 0x2c4f0016
jmp 0x59b76f
add edi, 0x46fbc3e0
add edi, ebx
jmp 0x59c002
mov dword [esp], ebp
push ecx
mov dword [esp], 0x7bd787e1
mov ebp, dword [esp]
jmp 0x59a9bf
xchg dword [esp], ecx
jmp 0x59b716
mov ebx, 0x67c0de6d
neg ebx
neg ebx
sub ebx, 0x7dfdcb78
not ebx
jmp 0x59e53a
xor esi, 0x7ddf9bf2
jmp 0x59bdfc
pop edx
jmp 0x59c255
mov eax, dword [esp]
add esp, 4
push ebx
mov dword [esp], esi
jmp 0x59eb4a
add eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
add ebp, 4
jmp 0x59f587
push edx
mov edx, 0x7e7d8206
jmp 0x59a748
pop ecx
jmp 0x59c9f0
pop edx
mov dword [esp], esp
push ecx
mov ecx, 4
add dword [esp + 4], ecx
mov ecx, dword [esp]
push eax
mov eax, esp
sub esp, 4
mov dword [esp], ebp
mov ebp, 4
add eax, ebp
jmp 0x59e20c
mov dword [esp], ebx
mov ebx, 4
add eax, ebx
pop ebx
push ecx
mov ecx, 4
push edx
push ebx
jmp 0x59c2f1
mov ecx, dword [esp]
jmp 0x59cd03
pop ebp
jmp 0x59bf8f
push edi
mov edi, 0x3bee48e5
jmp 0x59b329
pop ebp
mov esi, dword [esp]
add esp, 4
push eax
jmp 0x59f05f
add esp, 4
cmp dword [ebp + 0x122d2b1b], 0
jne 0x59bfa7
cmp dword [ebp + 0x122d2abb], 0
je 0x59bfb8
push eax
push ebx
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d2887]
pop ebx
pop eax
push edi
push esi
mov dword [esp], edi
mov dword [esp], 0x52ef6f1f
mov dword [esp], eax
mov edi, dword [esp]
push edi
mov edi, esp
add edi, 4
push ebx
push 4
mov ebx, dword [esp]
add esp, 4
push eax
mov eax, 0x49fe5733
add edi, eax
pop eax
push ebx
jmp 0x59ab8b
sub edi, 0x46fbc3e0
add edi, 0x2eb2ffbf
sub edi, 0x49fe5733
pop ebx
push edi
push dword [esp + 4]
mov edi, dword [esp]
add esp, 4
pop dword [esp]
pop esp
push eax
mov dword [esp], edi
pop eax
mov edi, dword [esp]
add esp, 4
push edi
mov dword [esp], esi
sub esp, 4
mov dword [esp], ecx
push 0x472ba2ea
mov dword [esp], ebp
mov ebp, eax
jmp 0x59c2dd
or dword [esp + 4], esi
mov esi, dword [esp]
add esp, 4
and dword [esp], 0x73be17a0
neg dword [esp]
sub dword [esp], 0x6f77aac1
sub dword [esp], 0xb6448e
mov dword [esp], eax
sub dword [esp], 0x6ffd7508
push dword [esp]
jmp 0x59ecb0
mov esp, dword [esp]
mov dword [esp], esi
mov esi, esp
add esi, 4
add esi, 4
sub esp, 4
jmp 0x59d34c
push eax
jmp 0x59bd5f
sub dword [esp + 4], ebx
sub dword [esp + 4], 0x1fe6f69f
mov ebx, dword [esp]
add esp, 4
push 0x66463d2c
mov dword [esp], esi
mov esi, 0x57bf33b1
jmp 0x59c069
push ebx
jmp 0x59b4e9
mov ebx, 0x7ffde9ad
xor ebx, 0x1e44e996
shl ebx, 4
push ebx
jmp 0x59d335
mov dword [esp], esi
jmp 0x59af2f
mov dword [esp], ebp
xor dword [esp], 0x6b7f2ea1
mov ecx, dword [esp]
jmp 0x59cb65
mov esp, dword [esp]
mov eax, dword [esp]
add esp, 4
mov dword [ebp + 0x122d21a3], eax
mov dword [ebp + 0x122d1d5e], 0
push ecx
mov dword [esp], 0x7fff5181
push ebx
mov ebx, 0x5b1a6fd1
push edx
mov edx, 0x1fe6f69f
add dword [esp + 8], edx
jmp 0x59bb54
pop ebp
jmp 0x59e435
sub dword [esp], 0x72fdd8a1
jmp 0x59f4ba
xchg dword [esp], eax
jmp 0x59ca54
pop esp
mov dword [esp], esi
push esp
jmp 0x59d75a
xor dword [esp + 4], edx
jmp 0x59bcbe
add esp, 4
xor ecx, 0x6b7f2ea1
jmp 0x59a9c8
add esp, 4
push edi
push esi
mov dword [esp], eax
jmp 0x59a8c3
push ebx
mov dword [esp], 0x43df0392
mov dword [esp], eax
push edi
jmp 0x59d157
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
mov esp, dword [esp]
add esp, 4
push ebx
push 0x15f2bf1f
mov ebx, dword [esp]
jmp 0x59e4f7
mov edi, esp
add edi, 4
sub edi, 4
xchg dword [esp], edi
pop esp
mov dword [esp], ebx
jmp 0x59aec1
not dword [esp]
pop ebx
add ebx, 0x8ace2db2
mov edx, ebx
pop ebx
sub eax, edx
pop edx
sub eax, ecx
jmp 0x59d48c
mov dword [esp], esi
push dword [esp + 4]
pop esi
pop dword [esp]
mov esp, dword [esp]
cmp dword [ebp + 0x122d2b1b], 0
jne 0x59d36c
cmp dword [ebp + 0x122d2abb], 0
je 0x59d37b
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d20bd]
pop eax
cmp dword [ebp + 0x122d2abb], 0
je 0x59d391
push eax
mov eax, 0
call dword [ebp + 0x122d3809]
pop eax
push ecx
mov dword [esp], eax
push esi
push edi
jmp 0x59d52e
add eax, 0x6f3e2a01
mov ecx, dword [esp]
add esp, 4
xchg dword [esp], eax
jmp 0x59c17a
push eax
mov eax, 0x39dbeed2
mov edi, 0xafa27d18
sub edi, eax
pop eax
push edi
not dword [esp]
pop edi
push ebx
mov ebx, 0x7d6f56a3
or edi, ebx
pop ebx
or edi, 0x78e367d6
shl edi, 7
shl edi, 8
sub edi, 0x7c13a68f
mov esi, edi
jmp 0x59a73e
add esp, 4
add ebp, 0x6bf7be2a
dec ebp
not ebp
shr ebp, 3
xchg ebp, esi
not esi
xchg ebp, esi
sub ebp, 0xa59b11ae
jmp 0x59e95e
cmp dword [ebp + 0x122d2b1b], 0
jne 0x59d5d2
cmp dword [ebp + 0x122d2abb], 0
je 0x59d5e1
push eax
mov eax, eax
mov eax, 0
call dword [ebp + 0x122d2d06]
pop eax
push 0x27566c93
mov dword [esp], eax
push eax
mov dword [esp], ebp
push ecx
mov ecx, 0x79d7eaeb
sub ecx, 0x63e52bcc
jmp 0x59db54
mov esi, dword [esp]
sub esp, 4
mov dword [esp], esi
mov esi, esp
add esi, 4
jmp 0x59dcd7
mov esi, dword [esp]
jmp 0x59d95a
add dword [esp + 4], 0x77f7340a
add dword [esp + 4], 0x7ee3e2a1
push edx
mov edx, 0x7874ec70
add dword [esp + 8], edx
pop edx
push dword [esp]
jmp 0x59c931
add esp, 4
push ebx
mov ebx, 4
add esi, ebx
pop ebx
jmp 0x59af77
mov ebp, ecx
pop ecx
sub dword [esp + 4], 0x7874ec70
sub dword [esp + 4], 0x7ee3e2a1
jmp 0x59e393
push ebx
jmp 0x59df03
mov dword [esp], ebp
mov ebp, 0x2af97598
inc ebp
shr ebp, 1
neg ebp
or ebp, 0x6fff4fab
and ebp, 0x7f241ab3
add ebp, 0x90dbf551
sub esi, 0x7ef495ef
jmp 0x59e721
pop ebp
add eax, 4
xor eax, dword [esp]
jmp 0x59f118
sub dword [esp + 4], 0x77f7340a
jmp 0x59a84d
add esp, 4
push dword [esp]
mov eax, dword [esp]
push edx
jmp 0x59cf5e
add esp, 4
add eax, ebx
mov ebx, dword [esp]
add esp, 4
push 0x6100a73b
jmp 0x59e9c0
or ebx, 0x7f7bb3e6
sub ebx, 0x7f7fffea
sub ebp, 0x7fee8cfa
add ebp, ebx
add ebp, 0x7fee8cfa
pop ebx
xor ebp, dword [esp]
jmp 0x59a4b6
add esi, ebp
push ebp
jmp 0x59a9b3
push ecx
mov ecx, 0x69e786c1
jmp 0x59b6cd
mov edx, dword [esp]
jmp 0x59d5a0
add eax, ebp
jmp 0x59bf6a
not dword [esp]
inc dword [esp]
jmp 0x59af88
mov dword [esp], esi
push ecx
mov dword [esp], esp
add dword [esp], 4
push dword [esp]
pop esi
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
add esi, 4
push eax
mov eax, 4
push eax
mov eax, 0x7f574fa0
xor eax, 0x1efb6255
jmp 0x59a829
dec eax
shl eax, 4
xor eax, 0xa4101e6f
sub esi, eax
pop eax
sub esi, eax
add esi, 0x4bef228f
jmp 0x59bb86
push dword [esp + 4]
pop esi
jmp 0x59ebad
pop dword [esp]
jmp 0x59ed10
push dword [esp]
mov eax, dword [esp]
add esp, 4
add esp, 4
jmp 0x59faf3
xor eax, dword [esp]
jmp 0x59c8bb
xor ecx, 0xc1c7d131
push eax
mov eax, 0x6fefcfb2
add dword [esp + 8], eax
push dword [esp]
pop eax
push ebp
mov ebp, esp
add ebp, 4
jmp 0x59fa85
pop esp
mov dword [esp], ebp
mov dword [esp], eax
mov eax, dword [esp]
push edx
push esp
jmp 0x59abc4
push dword [esp]
jmp 0x59f1b6
xor dword [esp], eax
jmp 0x59ecc4
mov eax, dword [esp]
add esp, 4
push eax
jmp 0x59b5c7
not dword [esp]
jmp 0x59c971
add dword [esp], 0x748ee100
jmp 0x59bc77
mov dword [esp], ecx
sub esp, 4
mov dword [esp], eax
push eax
mov dword [esp], 0x13351347
pop eax
mov dword [esp + 4], eax
mov eax, dword [esp]
add esp, 4
mov dword [esp], eax
push dword [esp]
pop eax
push ebp
push esp
mov ebp, dword [esp]
push eax
mov eax, esp
add eax, 4
jmp 0x59bc18
push ebx
jmp 0x59ba8f
push edx
push ebp
mov ebp, 0x7dcf76e7
mov edx, 0xfdad8693
sub edx, ebp
pop ebp
mov ebp, edx
jmp 0x59e80f
push edi
mov edi, 4
jmp 0x59b27d
add esp, 4
jmp 0x59fb77
sub esp, 4
mov dword [esp], ebx
mov ebx, 0x6ffd7508
add eax, ebx
push dword [esp]
pop ebx
add esp, 4
cmp dword [ebp + 0x122d2b1b], 0
jne 0x59fb9d
cmp dword [ebp + 0x122d2abb], 0
je 0x59fbb2
push eax
mov eax, eax
mov eax, 0x43d
mov dword [ebp + 0x122d214b], eax
call dword [ebp + 0x122d25fc]
pop eax
push esi
mov esi, eax
push ebp
jmp 0x59c341
xchg dword [esp], ebp
pop esp
sub dword [esp + 4], ecx
sub dword [esp + 4], 0x6fefcfb2
mov ecx, dword [esp]
add esp, 4
pop eax
push ebp
jmp 0x59f9cb