
    'wf
                     $   d dl Z ddlmZ ddl  G d de j                        Z G d de j                        Z G d	 d
e j                        Z G d de j                        Z	 G d de j                        Z
 G d de j                        Zd Zy)    N   )copy_ctypes_list)*c                       e Zd Zdej                  fdej                  fdej                  fdej
                  fdej                  ffZy)X86OpMemsegmentbaseindexscaledispN)__name__
__module____qualname__ctypesc_uintc_intc_int64_fields_     `/home/panchajanya/Development/work/volatility3/venv/lib/python3.12/site-packages/capstone/x86.pyr   r      sE    	FMM"		&-- 	&,,	 Hr   r   c                   J    e Zd Zdej                  fdej
                  fdeffZy)
X86OpValueregimmmemN)r   r   r   r   r   r   r   r   r   r   r   r   r      s)    			Hr   r   c                       e Zd Zdej                  fdefdej                  fdej                  fdej                  fdej                  ffZe	d        Z
e	d        Ze	d	        Zy
)X86Optypevaluesizeaccess	avx_bcastavx_zero_opmaskc                 .    | j                   j                  S N)r    r   selfs    r   r   z	X86Op.imm"       zz~~r   c                 .    | j                   j                  S r&   )r    r   r'   s    r   r   z	X86Op.reg&   r)   r   c                 .    | j                   j                  S r&   )r    r   r'   s    r   r   z	X86Op.mem*   r)   r   N)r   r   r   r   r   r   c_uint8c_boolr   propertyr   r   r   r   r   r   r   r      s    		*	 	6>>"	fmm$	FMM*H      r   r   c                   D    e Zd Zdej                  fdej                  ffZy)X86Flagseflags	fpu_flagsN)r   r   r   r   c_uint64r   r   r   r   r0   r0   .   s!    	6??#	foo&Hr   r0   c                       e Zd Zdej                  fdej                  fdej                  fdej                  fdej                  ffZy)CsX86Encodingmodrm_offsetdisp_offset	disp_size
imm_offsetimm_sizeN)r   r   r   r   r,   r   r   r   r   r5   r5   4   sE    	(	'	fnn%	v~~&	V^^$Hr   r5   c                      e Zd Zdej                  dz  fdej                  dz  fdej                  fdej                  fdej                  fdej                  fdej
                  fd	ej                  fd
ej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fde	fdej                  fde
dz  fdeffZed        Zed        Zy)CsX86prefix   opcoderex	addr_sizemodrmsibr   	sib_index	sib_scalesib_basexop_ccsse_ccavx_ccavx_saeavx_rmflagsop_countoperands   encodingc                 .    | j                   j                  S r&   )rL   r1   r'   s    r   r1   zCsX86.eflagsT   s    zz   r   c                 .    | j                   j                  S r&   )rL   r2   r'   s    r   r2   zCsX86.fpu_flagsX   s    zz###r   N)r   r   r   r   r,   r   r   c_int8r-   r0   r   r5   r   r.   r1   r2   r   r   r   r<   r<   =   s   	6>>A%&	6>>A%&		fnn%	&..!		 	fmm$	fmm$	V]]#	6==!	6==!	6==!	FMM"	6==!	(	V^^$	UQY	]#'H, ! ! $ $r   r<   c                    | j                   d d  | j                  d d  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  | j                   | j"                  | j"                  j$                  | j"                  j&                  | j"                  j(                  | j"                  j*                  | j"                  j,                  t/        | j0                  d | j2                         fS r&   )r=   r?   r@   rA   rB   rC   r   rD   rE   rF   rG   rH   rI   rJ   rK   r1   r2   rP   r6   r7   r8   r9   r:   r   rN   rM   )as    r   get_arch_inforV   \   s    HHQK!aeeQ[[GGQUUAFFAKKJJ!((AHHaii188UVU`U`JJ

//1G1GI]I]_`_i_i_t_tvw  wA  wA  wJ  wJQZZ45	7 7r   )r    r   	x86_const	Structurer   Unionr   r   r0   r5   r<   rV   r   r   r   <module>r[      s}      v  F ,v|| F$$ $F $>7r   