Function at 0x917f36
Capabilities:
Check for vm using instruction vpcext
Get number of processors
Parse pe header

Disassembly:
and dword [esi + 0x7d38033f], eax
add edi, dword [ecx]
daa
add al, 0x35
inc ebx
add eax, 0x44065d35
insd dword es:[edi], dx
add edi, dword [ecx]
add eax, 0x3b045635
xor eax, dword [ebx]
jns 0x917f59
jp 0x917f5d
cmp esi, dword [esi]
add al, 0x3b
xor eax, 0x3763e03
jnp 0x917f68
ja 0x917f6c
cmp esi, dword [esp + eax]
cmp ebp, dword [edx]
add al, 0x3b
sub al, byte [ebx + edi]
sub dword [ebx + edi], eax
sub eax, dword [ebx]
aas
push es
dec esi
imul eax, dword [ebx], 0x3f
and eax, 0x6574403
pop eax
inc ecx
add eax, dword [esi + ebx*2 + 4]
inc eax
outsb dx, byte [esi]
add al, 0x40
insd dword es:[edi], dx
add al, 0x40
insb byte es:[edi], dx
add eax, dword [edx + ebx*2 + 3]
inc esp
pop edi
add eax, dword [edx + 4]
inc edi
cmp eax, 0x4404704
inc edi
dec edx
add al, 0x47
cmp al, 3
dec ecx
push 4
inc edi
inc esi
add al, 0x47
inc edx
add ecx, dword [ecx + 0x61]
add al, 0x47
inc ebx
add ecx, dword [ecx + 0x69]
add ecx, dword [ecx + 0x67]
add ecx, dword [ecx + 0x5d]
add al, 0x4d
pop ecx
add al, 0x4d
push esi
add al, 0x4d
pop esp
add al, 0x4d
pop esi
add ecx, dword [esi + 0x68]
add al, 0x4d
popal
add al, 0x4d
pop eax
add al, 0x4d
pop ebx
add ecx, dword [esi + 0x6d]
add al, 0x4d
pop edi
add al, 0x4d
pop edx
add ecx, dword [esi + 0x6b]
add al, 0x4d
pushal
pop es
sub byte [ecx + 4], bh
dec ebp
push ebp
add ecx, dword [esi + 0x71]
add al, 0x53
push 3
push edx
insb byte es:[edi], dx
add edx, dword [edx + 0x6d]
pop es
xor ecx, dword [ebp + 4]
push ebx
imul eax, dword [ebx], 0x56
inc edi
add al, 0x58
jo 0x918004
push esi
dec ebx
add edx, dword [esi + 0x4c]
push esi
dec esp
add eax, 0x5d04555e
pop edx
pop es
dec edx
and eax, 0x4575d04
pop ebp
pop ebx
add ebx, dword [ecx + 0x22]
add ebx, dword [ecx + 0x25]
add al, 0x5d
push esp
add ebx, dword [ecx + 0x27]
add al, 0x61
inc eax
add eax, 0x5b035269
xor eax, dword [ecx]
cmp eax, dword [ecx]
cmp eax, 0x5456104
imul edx, dword [ecx + 4], 0x5d034e64
sub eax, 0x4315007
dec esp
add ebx, dword [ebp + 0x2f]
add al, 0x64
dec eax
add ebx, dword [ebp + 0x31]
add al, 0x67
cmp eax, 0x73f6704
push ebp
xor al, byte [edi]
add al, 0x67
inc eax
add al, 0x67
cmp dword [edi], eax
pop ecx
cmp byte [ebx], al
pop edi
arpl word [ecx + ebp*2], ax
dec eax
add eax, 0x2b044c76
dec ecx
add al, 0x30
and eax, dword [esi]
dec esi
jp 0x918076
aas
daa
add al, 0x47
inc edi
dec esp
add ecx, dword [esi + 0x77]
add al, 0x58
jne 0x918083
pop ebp
popal
add al, 0x69
dec esp
add al, 0x35
dec edx
add edi, dword [edi]
sub byte [eax + eax*2], al
je 0x918092
inc edi
dec esi
add al, 0x47
dec edi
add ecx, dword [ecx + 0x6c]
add al, 0x4d
add edx, dword fs:[edx + 0x70]
add al, 0x53
jae 0x9180a3
push edx
outsd dx, dword [esi]
add al, 0x53
push ebx
jb 0x9180a9
push edx
jno 0x9180ad
pop eax
jbe 0x9180b0
pop eax
ja 0x9180b2
push esi
dec esi
add al, 0x67
inc esp
inc esp
add al, 0x6d
and al, 4
xor byte [0x64b3504], ah
inc ebp
and al, byte [esi + 0x74440f4c]
add al, 0x4d
add al, 0x4d
add al, 0x4d
push 0x4755304
push ebx
ja 0x9180da
pop ebp
add al, 0x61
dec eax
add al, 0x61
inc esi
add al, 0x67
inc ebp
add ebx, dword [edi + 0x65]
add esp, dword gs:[ecx + 0x4c]
add al, 0x6d
and eax, 0x6503504
inc ebp
and al, 3
cmp dword [edi], ebp
add al, 0x3b
add ecx, dword ds:[ecx + 0x6e]
add ecx, dword [esi + 0x79]
add ecx, dword [esi + 0x78]
add edx, dword [edx + 0x72]
add edx, dword [esi + 0x50]
add ebx, dword [ecx + 0x2c]
add ebx, dword [ecx + 0x2d]
add al, 0x61
dec edx
pop es
dec edx
inc ecx
add ebx, dword [ebx + 0x37]
add al, 0x5d
push 0x4513504
xor eax, 0x4c3c0554
add al, 0x3b
aas
add al, 0x3b
inc ecx
add edi, dword [edi]
add al, 0x3b
inc edx
push es
dec edi
sub dword [ebx + edi], eax
inc ebx
add al, 0x41
and dword [ebx], eax
inc esp
add ax, word [eax + ebp*2 + 5]
dec edx
sub dword [esi], eax
bound ebp, qword [edx + 3]