In [1]:
from mechanize import Browser
from bs4 import BeautifulSoup, SoupStrainer
from collections import defaultdict
import sys, getopt ,argparse ,csv ,re ,collections

def ncbiUrlBuilder(snp):
    """ncbiUrlBuilder builds the url used by NCBI to query a particular SNP. 
    an example url for snp rs96066708 is below:
    http://www.ncbi.nlm.nih.gov/projects/SNP/snp_ref.cgi?rs=9606708
    and will give the information page for that SNP. It builds the URL based on
    the base URL from the ncbi site and concatenates it with some simple string
    building tools. 
    The URL is passed to mechanize/Browser to open the site, and the opened page
    is returned to the program.
    Arguments:
        snp -- the snp id. 
    """
    #url = "http://www.ncbi.nlm.nih.gov/projects/SNP/snp_ref.cgi?rs=9606708"
    print ('attempting to query', snp)
    snpNumber = snp[2:(len(snp))]
    url = "http://www.ncbi.nlm.nih.gov/projects/SNP/snp_ref.cgi?" + "rs=" + snpNumber
    print ('trying url: ' + url )
    mech = Browser()
    page = mech.open(url)
    return page, snp


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-3bec12492515> in <module>()
----> 1 from mechanize import Browser
      2 from bs4 import BeautifulSoup, SoupStrainer
      3 from collections import defaultdict
      4 import sys, getopt ,argparse ,csv ,re ,collections
      5 

ImportError: No module named 'mechanize'

In [42]:
mech = Browser()
page = mech.open('http://www.felixcloutier.com/x86/')

In [43]:
soup = BeautifulSoup(page, parse_only=SoupStrainer('a'))

In [51]:
links  = [link for link in soup.findAll('a', href=True)]

In [57]:
a = links[0]
text = [text.text for text in links] 
print text


[u'zneak/x86doc', u'Download documentation set', u'AAA', u'AAD', u'AAM', u'AAS', u'ADC', u'ADCX', u'ADD', u'ADDPD', u'ADDPS', u'ADDSD', u'ADDSS', u'ADDSUBPD', u'ADDSUBPS', u'ADOX', u'AESDEC', u'AESDECLAST', u'AESENC', u'AESENCLAST', u'AESIMC', u'AESKEYGENASSIST', u'AND', u'ANDN', u'ANDNPD', u'ANDNPS', u'ANDPD', u'ANDPS', u'ARPL', u'BEXTR', u'BLENDPD', u'BLENDPS', u'BLENDVPD', u'BLENDVPS', u'BLSI', u'BLSMSK', u'BLSR', u'BOUND', u'BSF', u'BSR', u'BSWAP', u'BT', u'BTC', u'BTR', u'BTS', u'BZHI', u'CALL', u'CBW', u'CDQ', u'CDQE', u'CLAC', u'CLC', u'CLD', u'CLFLUSH', u'CLI', u'CLTS', u'CMC', u'CMOVcc', u'CMP', u'CMPPD', u'CMPPS', u'CMPS', u'CMPSB', u'CMPSD', u'CMPSD', u'CMPSQ', u'CMPSS', u'CMPSW', u'CMPXCHG', u'CMPXCHG16B', u'CMPXCHG8B', u'COMISD', u'COMISS', u'CPUID', u'CQO', u'CRC32', u'CVTDQ2PD', u'CVTDQ2PS', u'CVTPD2DQ', u'CVTPD2PI', u'CVTPD2PS', u'CVTPI2PD', u'CVTPI2PS', u'CVTPS2DQ', u'CVTPS2PD', u'CVTPS2PI', u'CVTSD2SI', u'CVTSD2SS', u'CVTSI2SD', u'CVTSI2SS', u'CVTSS2SD', u'CVTSS2SI', u'CVTTPD2DQ', u'CVTTPD2PI', u'CVTTPS2DQ', u'CVTTPS2PI', u'CVTTSD2SI', u'CVTTSS2SI', u'CWD', u'CWDE', u'DAA', u'DAS', u'DEC', u'DIV', u'DIVPD', u'DIVPS', u'DIVSD', u'DIVSS', u'DPPD', u'DPPS', u'EMMS', u'ENTER', u'EXTRACTPS', u'F2XM1', u'FABS', u'FADD', u'FADDP', u'FBLD', u'FBSTP', u'FCHS', u'FCLEX', u'FCMOVcc', u'FCOM', u'FCOMI', u'FCOMIP', u'FCOMP', u'FCOMPP', u'FCOS', u'FDECSTP', u'FDIV', u'FDIVP', u'FDIVR', u'FDIVRP', u'FFREE', u'FIADD', u'FICOM', u'FICOMP', u'FIDIV', u'FIDIVR', u'FILD', u'FIMUL', u'FINCSTP', u'FINIT', u'FIST', u'FISTP', u'FISTTP', u'FISUB', u'FISUBR', u'FLD', u'FLD1', u'FLDCW', u'FLDENV', u'FLDL2E', u'FLDL2T', u'FLDLG2', u'FLDLN2', u'FLDPI', u'FLDZ', u'FMUL', u'FMULP', u'FNCLEX', u'FNINIT', u'FNOP', u'FNSAVE', u'FNSTCW', u'FNSTENV', u'FNSTSW', u'FPATAN', u'FPREM', u'FPREM1', u'FPTAN', u'FRNDINT', u'FRSTOR', u'FSAVE', u'FSCALE', u'FSIN', u'FSINCOS', u'FSQRT', u'FST', u'FSTCW', u'FSTENV', u'FSTP', u'FSTSW', u'FSUB', u'FSUBP', u'FSUBR', u'FSUBRP', u'FTST', u'FUCOM', u'FUCOMI', u'FUCOMIP', u'FUCOMP', u'FUCOMPP', u'FWAIT', u'FXAM', u'FXCH', u'FXRSTOR', u'FXSAVE', u'FXTRACT', u'FYL2X', u'FYL2XP1', u'HADDPD', u'HADDPS', u'HLT', u'HSUBPD', u'HSUBPS', u'IDIV', u'IMUL', u'IN', u'INC', u'INS', u'INSB', u'INSD', u'INSERTPS', u'INSW', u'INT 3', u'INT n', u'INTO', u'INVD', u'INVLPG', u'INVPCID', u'IRET', u'IRETD', u'JMP', u'Jcc', u'LAHF', u'LAR', u'LDDQU', u'LDMXCSR', u'LDS', u'LEA', u'LEAVE', u'LES', u'LFENCE', u'LFS', u'LGDT', u'LGS', u'LIDT', u'LLDT', u'LMSW', u'LOCK', u'LODS', u'LODSB', u'LODSD', u'LODSQ', u'LODSW', u'LOOP', u'LOOPcc', u'LSL', u'LSS', u'LTR', u'LZCNT', u'MASKMOVDQU', u'MASKMOVQ', u'MAXPD', u'MAXPS', u'MAXSD', u'MAXSS', u'MFENCE', u'MINPD', u'MINPS', u'MINSD', u'MINSS', u'MONITOR', u'MOV', u'MOV', u'MOV', u'MOVAPD', u'MOVAPS', u'MOVBE', u'MOVD', u'MOVDDUP', u'MOVDQ2Q', u'MOVDQA', u'MOVDQU', u'MOVHLPS', u'MOVHPD', u'MOVHPS', u'MOVLHPS', u'MOVLPD', u'MOVLPS', u'MOVMSKPD', u'MOVMSKPS', u'MOVNTDQ', u'MOVNTDQA', u'MOVNTI', u'MOVNTPD', u'MOVNTPS', u'MOVNTQ', u'MOVQ', u'MOVQ', u'MOVQ2DQ', u'MOVS', u'MOVSB', u'MOVSD', u'MOVSD', u'MOVSHDUP', u'MOVSLDUP', u'MOVSQ', u'MOVSS', u'MOVSW', u'MOVSX', u'MOVSXD', u'MOVUPD', u'MOVUPS', u'MOVZX', u'MPSADBW', u'MUL', u'MULPD', u'MULPS', u'MULSD', u'MULSS', u'MWAIT', u'MULX', u'MWAIT', u'NEG', u'NOP', u'NOT', u'OR', u'ORPD', u'ORPS', u'OUT', u'OUTS', u'OUTSB', u'OUTSD', u'OUTSW', u'PABSB', u'PABSD', u'PABSW', u'PACKSSDW', u'PACKSSWB', u'PACKUSDW', u'PACKUSWB', u'PADDB', u'PADDD', u'PADDQ', u'PADDSB', u'PADDSW', u'PADDUSB', u'PADDUSW', u'PADDW', u'PALIGNR', u'PAND', u'PANDN', u'PAUSE', u'PAVGB', u'PAVGW', u'PBLENDVB', u'PBLENDW', u'PCLMULQDQ', u'PCMPEQB', u'PCMPEQD', u'PCMPEQQ', u'PCMPEQW', u'PCMPESTRI', u'PCMPESTRM', u'PCMPGTB', u'PCMPGTD', u'PCMPGTQ', u'PCMPGTW', u'PCMPISTRI', u'PCMPISTRM', u'PDEP', u'PEXT', u'PEXTRB', u'PEXTRD', u'PEXTRQ', u'PEXTRW', u'PHADDD', u'PHADDSW', u'PHADDW', u'PHMINPOSUW', u'PHSUBD', u'PHSUBSW', u'PHSUBW', u'PINSRB', u'PINSRD', u'PINSRQ', u'PINSRW', u'PMADDUBSW', u'PMADDWD', u'PMAXSB', u'PMAXSD', u'PMAXSW', u'PMAXUB', u'PMAXUD', u'PMAXUW', u'PMINSB', u'PMINSD', u'PMINSW', u'PMINUB', u'PMINUD', u'PMINUW', u'PMOVMSKB', u'PMOVSX', u'PMOVZX', u'PMULDQ', u'PMULHRSW', u'PMULHUW', u'PMULHW', u'PMULLD', u'PMULLW', u'PMULUDQ', u'POP', u'POPA', u'POPAD', u'POPCNT', u'POPF', u'POPFD', u'POPFQ', u'POR', u'PREFETCHW', u'PREFETCHWT1', u'PREFETCHh', u'PSADBW', u'PSHUFB', u'PSHUFD', u'PSHUFHW', u'PSHUFLW', u'PSHUFW', u'PSIGNB', u'PSIGND', u'PSIGNW', u'PSLLD', u'PSLLDQ', u'PSLLQ', u'PSLLW', u'PSRAD', u'PSRAW', u'PSRLD', u'PSRLDQ', u'PSRLQ', u'PSRLW', u'PSUBB', u'PSUBD', u'PSUBQ', u'PSUBSB', u'PSUBSW', u'PSUBUSB', u'PSUBUSW', u'PSUBW', u'PTEST', u'PUNPCKHBW', u'PUNPCKHDQ', u'PUNPCKHQDQ', u'PUNPCKHWD', u'PUNPCKLBW', u'PUNPCKLDQ', u'PUNPCKLQDQ', u'PUNPCKLWD', u'PUSH', u'PUSHA', u'PUSHAD', u'PUSHF', u'PUSHFD', u'PXOR', u'RCL', u'RCPPS', u'RCPSS', u'RCR', u'RDFSBASE', u'RDGSBASE', u'RDMSR', u'RDPMC', u'RDRAND', u'RDSEED', u'RDTSC', u'RDTSCP', u'REP', u'REPE', u'REPNE', u'REPNZ', u'REPZ', u'RET', u'ROL', u'ROR', u'RORX', u'ROUNDPD', u'ROUNDPS', u'ROUNDSD', u'ROUNDSS', u'RSM', u'RSQRTPS', u'RSQRTSS', u'SAHF', u'SAL', u'SAR', u'SARX', u'SBB', u'SCAS', u'SCASB', u'SCASD', u'SCASW', u'SETcc', u'SFENCE', u'SGDT', u'SHL', u'SHLD', u'SHLX', u'SHR', u'SHRD', u'SHRX', u'SHUFPD', u'SHUFPS', u'SIDT', u'SLDT', u'SMSW', u'SQRTPD', u'SQRTPS', u'SQRTSD', u'SQRTSS', u'STAC', u'STC', u'STD', u'STI', u'STMXCSR', u'STOS', u'STOSB', u'STOSD', u'STOSQ', u'STOSW', u'STR', u'SUB', u'SUBPD', u'SUBPS', u'SUBSD', u'SUBSS', u'SWAPGS', u'SYSCALL', u'SYSENTER', u'SYSEXIT', u'SYSRET', u'TEST', u'TZCNT', u'UCOMISD', u'UCOMISS', u'UD2', u'UNPCKHPD', u'UNPCKHPS', u'UNPCKLPD', u'UNPCKLPS', u'VBROADCAST', u'VCVTPH2PS', u'VCVTPS2PH', u'VERR', u'VERW', u'VEXTRACTF128', u'VEXTRACTI128', u'VFMADD132PD', u'VFMADD132PS', u'VFMADD132SD', u'VFMADD132SS', u'VFMADD213PD', u'VFMADD213PS', u'VFMADD213SD', u'VFMADD213SS', u'VFMADD231PD', u'VFMADD231PS', u'VFMADD231SD', u'VFMADD231SS', u'VFMADDSUB132PD', u'VFMADDSUB132PS', u'VFMADDSUB213PD', u'VFMADDSUB213PS', u'VFMADDSUB231PD', u'VFMADDSUB231PS', u'VFMSUB132PD', u'VFMSUB132PS', u'VFMSUB132SD', u'VFMSUB132SS', u'VFMSUB213PD', u'VFMSUB213PS', u'VFMSUB213SD', u'VFMSUB213SS', u'VFMSUB231PD', u'VFMSUB231PS', u'VFMSUB231SD', u'VFMSUB231SS', u'VFMSUBADD132PD', u'VFMSUBADD132PS', u'VFMSUBADD213PD', u'VFMSUBADD213PS', u'VFMSUBADD231PD', u'VFMSUBADD231PS', u'VFNMADD132PD', u'VFNMADD132PS', u'VFNMADD132SD', u'VFNMADD132SS', u'VFNMADD213PD', u'VFNMADD213PS', u'VFNMADD213SD', u'VFNMADD213SS', u'VFNMADD231PD', u'VFNMADD231PS', u'VFNMADD231SD', u'VFNMADD231SS', u'VFNMSUB132PD', u'VFNMSUB132PS', u'VFNMSUB132SD', u'VFNMSUB132SS', u'VFNMSUB213PD', u'VFNMSUB213PS', u'VFNMSUB213SD', u'VFNMSUB213SS', u'VFNMSUB231PD', u'VFNMSUB231PS', u'VFNMSUB231SD', u'VFNMSUB231SS', u'VGATHERDPD', u'VGATHERDPS', u'VGATHERQPD', u'VGATHERQPS', u'VINSERTF128', u'VINSERTI128', u'VMASKMOV', u'VPBLENDD', u'VPBROADCAST', u'VPERM2F128', u'VPERM2I128', u'VPERMD', u'VPERMILPD', u'VPERMILPS', u'VPERMPD', u'VPERMPS', u'VPERMQ', u'VPGATHERDD', u'VPGATHERDQ', u'VPGATHERQD', u'VPGATHERQQ', u'VPMASKMOV', u'VPSLLVD', u'VPSLLVQ', u'VPSRAVD', u'VPSRLVD', u'VPSRLVQ', u'VTESTPD', u'VTESTPS', u'VZEROALL', u'VZEROUPPER', u'WAIT', u'WBINVD', u'WRFSBASE', u'WRGSBASE', u'WRMSR', u'XABORT', u'XACQUIRE', u'XADD', u'XBEGIN', u'XCHG', u'XEND', u'XGETBV', u'XLAT', u'XLATB', u'XOR', u'XORPD', u'XORPS', u'XRELEASE', u'XRSTOR', u'XRSTORS', u'XSAVE', u'XSAVEC', u'XSAVEOPT', u'XSAVES', u'XSETBV', u'XTEST']

In [59]:
import csv
with open('asm_instructions.csv', 'w') as output:
    writer = csv.writer(output)
    for val in text:
        writer.writerow([val])

In [6]:
with open('asm_instructions.csv', 'r') as f:
    asm_instr = [line.strip() for line in f.readlines()]

In [8]:
asm_instr


Out[8]:
['aaa',
 'aad',
 'aam',
 'aas',
 'adc',
 'adcx',
 'add',
 'addpd',
 'addps',
 'addsd',
 'addss',
 'addsubpd',
 'addsubps',
 'adox',
 'aesdec',
 'aesdeclast',
 'aesenc',
 'aesenclast',
 'aesimc',
 'aeskeygenassist',
 'and',
 'andn',
 'andnpd',
 'andnps',
 'andpd',
 'andps',
 'arpl',
 'bextr',
 'blendpd',
 'blendps',
 'blendvpd',
 'blendvps',
 'blsi',
 'blsmsk',
 'blsr',
 'bound',
 'bsf',
 'bsr',
 'bswap',
 'bt',
 'btc',
 'btr',
 'bts',
 'bzhi',
 'call',
 'cbw',
 'cdq',
 'cdqe',
 'clac',
 'clc',
 'cld',
 'clflush',
 'cli',
 'clts',
 'cmc',
 'cmovcc',
 'cmp',
 'cmppd',
 'cmpps',
 'cmps',
 'cmpsb',
 'cmpsd',
 'cmpsd',
 'cmpsq',
 'cmpss',
 'cmpsw',
 'cmpxchg',
 'cmpxchg16b',
 'cmpxchg8b',
 'comisd',
 'comiss',
 'cpuid',
 'cqo',
 'crc32',
 'cvtdq2pd',
 'cvtdq2ps',
 'cvtpd2dq',
 'cvtpd2pi',
 'cvtpd2ps',
 'cvtpi2pd',
 'cvtpi2ps',
 'cvtps2dq',
 'cvtps2pd',
 'cvtps2pi',
 'cvtsd2si',
 'cvtsd2ss',
 'cvtsi2sd',
 'cvtsi2ss',
 'cvtss2sd',
 'cvtss2si',
 'cvttpd2dq',
 'cvttpd2pi',
 'cvttps2dq',
 'cvttps2pi',
 'cvttsd2si',
 'cvttss2si',
 'cwd',
 'cwde',
 'daa',
 'das',
 'dec',
 'div',
 'divpd',
 'divps',
 'divsd',
 'divss',
 'dppd',
 'dpps',
 'emms',
 'enter',
 'extractps',
 'f2xm1',
 'fabs',
 'fadd',
 'faddp',
 'fbld',
 'fbstp',
 'fchs',
 'fclex',
 'fcmovcc',
 'fcom',
 'fcomi',
 'fcomip',
 'fcomp',
 'fcompp',
 'fcos',
 'fdecstp',
 'fdiv',
 'fdivp',
 'fdivr',
 'fdivrp',
 'ffree',
 'fiadd',
 'ficom',
 'ficomp',
 'fidiv',
 'fidivr',
 'fild',
 'fimul',
 'fincstp',
 'finit',
 'fist',
 'fistp',
 'fisttp',
 'fisub',
 'fisubr',
 'fld',
 'fld1',
 'fldcw',
 'fldenv',
 'fldl2e',
 'fldl2t',
 'fldlg2',
 'fldln2',
 'fldpi',
 'fldz',
 'fmul',
 'fmulp',
 'fnclex',
 'fninit',
 'fnop',
 'fnsave',
 'fnstcw',
 'fnstenv',
 'fnstsw',
 'fpatan',
 'fprem',
 'fprem1',
 'fptan',
 'frndint',
 'frstor',
 'fsave',
 'fscale',
 'fsin',
 'fsincos',
 'fsqrt',
 'fst',
 'fstcw',
 'fstenv',
 'fstp',
 'fstsw',
 'fsub',
 'fsubp',
 'fsubr',
 'fsubrp',
 'ftst',
 'fucom',
 'fucomi',
 'fucomip',
 'fucomp',
 'fucompp',
 'fwait',
 'fxam',
 'fxch',
 'fxrstor',
 'fxsave',
 'fxtract',
 'fyl2x',
 'fyl2xp1',
 'haddpd',
 'haddps',
 'hlt',
 'hsubpd',
 'hsubps',
 'idiv',
 'imul',
 'in',
 'inc',
 'ins',
 'insb',
 'insd',
 'insertps',
 'insw',
 'int 3',
 'int n',
 'into',
 'invd',
 'invlpg',
 'invpcid',
 'iret',
 'iretd',
 'jmp',
 'jcc',
 'lahf',
 'lar',
 'lddqu',
 'ldmxcsr',
 'lds',
 'lea',
 'leave',
 'les',
 'lfence',
 'lfs',
 'lgdt',
 'lgs',
 'lidt',
 'lldt',
 'lmsw',
 'lock',
 'lods',
 'lodsb',
 'lodsd',
 'lodsq',
 'lodsw',
 'loop',
 'loopcc',
 'lsl',
 'lss',
 'ltr',
 'lzcnt',
 'maskmovdqu',
 'maskmovq',
 'maxpd',
 'maxps',
 'maxsd',
 'maxss',
 'mfence',
 'minpd',
 'minps',
 'minsd',
 'minss',
 'monitor',
 'mov',
 'mov',
 'mov',
 'movapd',
 'movaps',
 'movbe',
 'movd',
 'movddup',
 'movdq2q',
 'movdqa',
 'movdqu',
 'movhlps',
 'movhpd',
 'movhps',
 'movlhps',
 'movlpd',
 'movlps',
 'movmskpd',
 'movmskps',
 'movntdq',
 'movntdqa',
 'movnti',
 'movntpd',
 'movntps',
 'movntq',
 'movq',
 'movq',
 'movq2dq',
 'movs',
 'movsb',
 'movsd',
 'movsd',
 'movshdup',
 'movsldup',
 'movsq',
 'movss',
 'movsw',
 'movsx',
 'movsxd',
 'movupd',
 'movups',
 'movzx',
 'mpsadbw',
 'mul',
 'mulpd',
 'mulps',
 'mulsd',
 'mulss',
 'mwait',
 'mulx',
 'mwait',
 'neg',
 'nop',
 'not',
 'or',
 'orpd',
 'orps',
 'out',
 'outs',
 'outsb',
 'outsd',
 'outsw',
 'pabsb',
 'pabsd',
 'pabsw',
 'packssdw',
 'packsswb',
 'packusdw',
 'packuswb',
 'paddb',
 'paddd',
 'paddq',
 'paddsb',
 'paddsw',
 'paddusb',
 'paddusw',
 'paddw',
 'palignr',
 'pand',
 'pandn',
 'pause',
 'pavgb',
 'pavgw',
 'pblendvb',
 'pblendw',
 'pclmulqdq',
 'pcmpeqb',
 'pcmpeqd',
 'pcmpeqq',
 'pcmpeqw',
 'pcmpestri',
 'pcmpestrm',
 'pcmpgtb',
 'pcmpgtd',
 'pcmpgtq',
 'pcmpgtw',
 'pcmpistri',
 'pcmpistrm',
 'pdep',
 'pext',
 'pextrb',
 'pextrd',
 'pextrq',
 'pextrw',
 'phaddd',
 'phaddsw',
 'phaddw',
 'phminposuw',
 'phsubd',
 'phsubsw',
 'phsubw',
 'pinsrb',
 'pinsrd',
 'pinsrq',
 'pinsrw',
 'pmaddubsw',
 'pmaddwd',
 'pmaxsb',
 'pmaxsd',
 'pmaxsw',
 'pmaxub',
 'pmaxud',
 'pmaxuw',
 'pminsb',
 'pminsd',
 'pminsw',
 'pminub',
 'pminud',
 'pminuw',
 'pmovmskb',
 'pmovsx',
 'pmovzx',
 'pmuldq',
 'pmulhrsw',
 'pmulhuw',
 'pmulhw',
 'pmulld',
 'pmullw',
 'pmuludq',
 'pop',
 'popa',
 'popad',
 'popcnt',
 'popf',
 'popfd',
 'popfq',
 'por',
 'prefetchw',
 'prefetchwt1',
 'prefetchh',
 'psadbw',
 'pshufb',
 'pshufd',
 'pshufhw',
 'pshuflw',
 'pshufw',
 'psignb',
 'psignd',
 'psignw',
 'pslld',
 'pslldq',
 'psllq',
 'psllw',
 'psrad',
 'psraw',
 'psrld',
 'psrldq',
 'psrlq',
 'psrlw',
 'psubb',
 'psubd',
 'psubq',
 'psubsb',
 'psubsw',
 'psubusb',
 'psubusw',
 'psubw',
 'ptest',
 'punpckhbw',
 'punpckhdq',
 'punpckhqdq',
 'punpckhwd',
 'punpcklbw',
 'punpckldq',
 'punpcklqdq',
 'punpcklwd',
 'push',
 'pusha',
 'pushad',
 'pushf',
 'pushfd',
 'pxor',
 'rcl',
 'rcpps',
 'rcpss',
 'rcr',
 'rdfsbase',
 'rdgsbase',
 'rdmsr',
 'rdpmc',
 'rdrand',
 'rdseed',
 'rdtsc',
 'rdtscp',
 'rep',
 'repe',
 'repne',
 'repnz',
 'repz',
 'ret',
 'rol',
 'ror',
 'rorx',
 'roundpd',
 'roundps',
 'roundsd',
 'roundss',
 'rsm',
 'rsqrtps',
 'rsqrtss',
 'sahf',
 'sal',
 'sar',
 'sarx',
 'sbb',
 'scas',
 'scasb',
 'scasd',
 'scasw',
 'setcc',
 'sfence',
 'sgdt',
 'shl',
 'shld',
 'shlx',
 'shr',
 'shrd',
 'shrx',
 'shufpd',
 'shufps',
 'sidt',
 'sldt',
 'smsw',
 'sqrtpd',
 'sqrtps',
 'sqrtsd',
 'sqrtss',
 'stac',
 'stc',
 'std',
 'sti',
 'stmxcsr',
 'stos',
 'stosb',
 'stosd',
 'stosq',
 'stosw',
 'str',
 'sub',
 'subpd',
 'subps',
 'subsd',
 'subss',
 'swapgs',
 'syscall',
 'sysenter',
 'sysexit',
 'sysret',
 'test',
 'tzcnt',
 'ucomisd',
 'ucomiss',
 'ud2',
 'unpckhpd',
 'unpckhps',
 'unpcklpd',
 'unpcklps',
 'vbroadcast',
 'vcvtph2ps',
 'vcvtps2ph',
 'verr',
 'verw',
 'vextractf128',
 'vextracti128',
 'vfmadd132pd',
 'vfmadd132ps',
 'vfmadd132sd',
 'vfmadd132ss',
 'vfmadd213pd',
 'vfmadd213ps',
 'vfmadd213sd',
 'vfmadd213ss',
 'vfmadd231pd',
 'vfmadd231ps',
 'vfmadd231sd',
 'vfmadd231ss',
 'vfmaddsub132pd',
 'vfmaddsub132ps',
 'vfmaddsub213pd',
 'vfmaddsub213ps',
 'vfmaddsub231pd',
 'vfmaddsub231ps',
 'vfmsub132pd',
 'vfmsub132ps',
 'vfmsub132sd',
 'vfmsub132ss',
 'vfmsub213pd',
 'vfmsub213ps',
 'vfmsub213sd',
 'vfmsub213ss',
 'vfmsub231pd',
 'vfmsub231ps',
 'vfmsub231sd',
 'vfmsub231ss',
 'vfmsubadd132pd',
 'vfmsubadd132ps',
 'vfmsubadd213pd',
 'vfmsubadd213ps',
 'vfmsubadd231pd',
 'vfmsubadd231ps',
 'vfnmadd132pd',
 'vfnmadd132ps',
 'vfnmadd132sd',
 'vfnmadd132ss',
 'vfnmadd213pd',
 'vfnmadd213ps',
 'vfnmadd213sd',
 'vfnmadd213ss',
 'vfnmadd231pd',
 'vfnmadd231ps',
 'vfnmadd231sd',
 'vfnmadd231ss',
 'vfnmsub132pd',
 'vfnmsub132ps',
 'vfnmsub132sd',
 'vfnmsub132ss',
 'vfnmsub213pd',
 'vfnmsub213ps',
 'vfnmsub213sd',
 'vfnmsub213ss',
 'vfnmsub231pd',
 'vfnmsub231ps',
 'vfnmsub231sd',
 'vfnmsub231ss',
 'vgatherdpd',
 'vgatherdps',
 'vgatherqpd',
 'vgatherqps',
 'vinsertf128',
 'vinserti128',
 'vmaskmov',
 'vpblendd',
 'vpbroadcast',
 'vperm2f128',
 'vperm2i128',
 'vpermd',
 'vpermilpd',
 'vpermilps',
 'vpermpd',
 'vpermps',
 'vpermq',
 'vpgatherdd',
 'vpgatherdq',
 'vpgatherqd',
 'vpgatherqq',
 'vpmaskmov',
 'vpsllvd',
 'vpsllvq',
 'vpsravd',
 'vpsrlvd',
 'vpsrlvq',
 'vtestpd',
 'vtestps',
 'vzeroall',
 'vzeroupper',
 'wait',
 'wbinvd',
 'wrfsbase',
 'wrgsbase',
 'wrmsr',
 'xabort',
 'xacquire',
 'xadd',
 'xbegin',
 'xchg',
 'xend',
 'xgetbv',
 'xlat',
 'xlatb',
 'xor',
 'xorpd',
 'xorps',
 'xrelease',
 'xrstor',
 'xrstors',
 'xsave',
 'xsavec',
 'xsaveopt',
 'xsaves',
 'xsetbv',
 'xtest']

In [16]:
import asm_utils as utils
samples = utils.get_collection()
samples

In [10]:


In [11]:



Out[11]:
Collection(Database(MongoClient('afruizc-office.cs.unm.edu', 27017), 'malware'), 'samples')

In [13]:


In [17]:



Out[17]:
Collection(Database(MongoClient('afruizc-office.cs.unm.edu', 27017), 'malware'), 'samples')

In [16]:


In [ ]: