o
    ju                     @   s  d dl mZmZ d dlmZ d dlmZmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dl m!Z! edZ"G d	d
 d
eZ#eZ$eZ%eZ&eZ'eZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6d Z7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@G dd deZAG dd deZBG dd de
ZCG dd de
ZDG dd  d e	ZEG d!d" d"eZFG d#d$ d$eZGG d%d& d&e	ZHG d'd( d(eZIG d)d* d*eZJG d+d, d,eZKG d-d. d.eZLG d/d0 d0eZMG d1d2 d2eZNG d3d4 d4eZOG d5d6 d6eZPG d7d8 d8eZQG d9d: d:eZRG d;d< d<eZSG d=d> d>eZTG d?d@ d@eZUG dAdB dBeZVG dCdD dDeZWG dEdF dFeZXG dGdH dHeZYG dIdJ dJeZZG dKdL dLeZ[G dMdN dNeZ\G dOdP dPeZ]G dQdR dReZ^G dSdT dTeZ_G dUdV dVeZ`G dWdX dXeZaG dYdZ dZeZbG d[d\ d\eZcG d]d^ d^eZdG d_d` d`eZeG dadb dbeZfG dcdd ddeZgG dedf dfeZhG dgdh dheZiG didj djeZjG dkdl dleZkG dmdn dneZlG dodp dpeZmG dqdr dreZnG dsdt dteZoG dudv dveZpG dwdx dxeZqG dydz dzeZrG d{d| d|eZsG d}d~ d~eZtG dd deZuG dd deZvG dd deZwG dd deZxG dd deZyG dd deZzG dd deZ{G dd deZ|G dd deZ}G dd deZ~G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZi d eIeJfdeKeLfdeMeNfdeOePfdeQeRfdeSeTfdeUeVfdeWeXfdeYeZfde[e\fde]e^fde_e`fdeaebfdecedfdeeeffdegehfdeiejfekelfemenfeoepfeqerfesetfeuevfewexfeyezfe{e|fe}e~feefeefeefeefdZdd Zdd Zdd ZefddZefddZefddZefddZefddZdd Zedeee;fddZdd ZefddZdddĄZddƄ ZedfddɄZefdd˄Zdd̈́ Zddτ ZdefddфZddӄ ZdddքZdd؄ Ze>fddڄZefdd܄Zddބ Zdd ZefddZdd ZedfddZefddZefddZdd ZdS )    )unpackpack)logger)NDRCALL	NDRSTRUCT
NDRPOINTERNDRUniConformantVaryingArrayNDRUniConformantArray)DWORDUUIDULONGLPULONGBOOLEANSECURITY_INFORMATION	PFILETIMERPC_UNICODE_STRINGFILETIMENULLMAXIMUM_ALLOWEDOWNER_SECURITY_INFORMATIONPWCHARPRPC_UNICODE_STRINGDACL_SECURITY_INFORMATION)DCERPCException)uuidtup_to_bin)system_errors)z$338CD001-2244-31F1-AAAA-900038001003z1.0c                   @   s   e Zd ZdddZdd ZdS )DCERPCSessionErrorNc                 C   s   t | ||| d S )N)r   __init__)selferror_string
error_codepacket r"   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/dcerpc/v5/rrp.pyr   %   s   zDCERPCSessionError.__init__c                 C   sF   | j }|tjv rtj| d }tj| d }d| j ||f S d| j  S )Nr      z&RRP SessionError: code: 0x%x - %s - %sz*RRP SessionError: unknown error code: 0x%x)r    r   ERROR_MESSAGES)r   keyerror_msg_shorterror_msg_verboser"   r"   r#   __str__(   s   

zDCERPCSessionError.__str__)NNN)__name__
__module____qualname__r   r)   r"   r"   r"   r#   r   $   s    
r   r$                                     c                   @   s&   e Zd ZdefdeffZdddZdS )RPC_HKEYcontext_handle_attributescontext_handle_uuidNFc                 C   s   t | || d| d< d S )Nz                    r:   )r   r   )r   dataisNDR64r"   r"   r#   r   i   s   zRPC_HKEY.__init__)NF)r*   r+   r,   r   r   	structurer   r"   r"   r"   r#   r8   d   s
    r8   c                   @   s(   e Zd ZdefdefdefdeffZdS )RVALENTve_valuenameve_valuelenve_valueptrve_typeN)r*   r+   r,   PRRP_UNICODE_STRINGr
   r=   r"   r"   r"   r#   r>   n       r>   c                   @   s   e Zd ZeZdS )RVALENT_ARRAYN)r*   r+   r,   r>   itemr"   r"   r"   r#   rE   v   s    rE   c                   @   s   e Zd ZdS )
BYTE_ARRAYN)r*   r+   r,   r"   r"   r"   r#   rG   z   s    rG   c                   @      e Zd ZdeffZdS )PBYTE_ARRAYDataN)r*   r+   r,   rG   referentr"   r"   r"   r#   rI   }       rI   c                   @   s"   e Zd ZdefdefdeffZdS )RPC_SECURITY_DESCRIPTORlpSecurityDescriptorcbInSecurityDescriptorcbOutSecurityDescriptorN)r*   r+   r,   rI   r
   r=   r"   r"   r"   r#   rM      
    rM   c                   @   "   e Zd ZdefdefdeffZdS )RPC_SECURITY_ATTRIBUTESnLengthRpcSecurityDescriptorbInheritHandleN)r*   r+   r,   r
   rM   r   r=   r"   r"   r"   r#   rS      rQ   rS   c                   @   rH   )PRPC_SECURITY_ATTRIBUTESrJ   N)r*   r+   r,   rS   rK   r"   r"   r"   r#   rW      rL   rW   c                   @       e Zd ZdZdefdeffZdS )OpenClassesRootr   
ServerName
samDesiredNr*   r+   r,   opnumPREGISTRY_SERVER_NAMEREGSAMr=   r"   r"   r"   r#   rY      
    rY   c                   @      e Zd ZdefdeffZdS )OpenClassesRootResponsephKey	ErrorCodeNr*   r+   r,   r8   error_status_tr=   r"   r"   r"   r#   rb          rb   c                   @   rX   )OpenCurrentUserr$   rZ   r[   Nr\   r"   r"   r"   r#   rh      r`   rh   c                   @   ra   )OpenCurrentUserResponserc   rd   Nre   r"   r"   r"   r#   ri      rg   ri   c                   @   rX   )OpenLocalMachiner-   rZ   r[   Nr\   r"   r"   r"   r#   rj      r`   rj   c                   @   ra   )OpenLocalMachineResponserc   rd   Nre   r"   r"   r"   r#   rk      rg   rk   c                   @   rX   )OpenPerformanceDatar3   rZ   r[   Nr\   r"   r"   r"   r#   rl      r`   rl   c                   @   ra   )OpenPerformanceDataResponserc   rd   Nre   r"   r"   r"   r#   rm      rg   rm   c                   @   rX   )	OpenUsersr.   rZ   r[   Nr\   r"   r"   r"   r#   rn      r`   rn   c                   @   ra   )OpenUsersResponserc   rd   Nre   r"   r"   r"   r#   ro      rg   ro   c                   @      e Zd ZdZdeffZdS )BaseRegCloseKeyr4   hKeyNr*   r+   r,   r]   r8   r=   r"   r"   r"   r#   rq          rq   c                   @   ra   )BaseRegCloseKeyResponserr   rd   Nre   r"   r"   r"   r#   ru      rg   ru   c                   @   s>   e Zd ZdZdefdefdefdefdefdefde	ffZ
d	S )
BaseRegCreateKeyr5   rr   lpSubKeylpClass	dwOptionsr[   lpSecurityAttributeslpdwDispositionN)r*   r+   r,   r]   r8   RRP_UNICODE_STRINGr
   r_   rW   r   r=   r"   r"   r"   r#   rv          rv   c                   @   rR   )BaseRegCreateKeyResponse	phkResultr{   rd   N)r*   r+   r,   r8   r   rf   r=   r"   r"   r"   r#   r~      rQ   r~   c                   @   rX   )BaseRegDeleteKeyr6   rr   rw   Nr*   r+   r,   r]   r8   r|   r=   r"   r"   r"   r#   r     r`   r   c                   @   rH   )BaseRegDeleteKeyResponserd   Nr*   r+   r,   rf   r=   r"   r"   r"   r#   r     rL   r   c                   @   rX   )BaseRegDeleteValuer/   rr   lpValueNameNr   r"   r"   r"   r#   r     r`   r   c                   @   rH   )BaseRegDeleteValueResponserd   Nr   r"   r"   r"   r#   r     rL   r   c                   @   s2   e Zd ZdZdefdefdefdefdeffZ	dS )BaseRegEnumKey	   rr   dwIndexlpNameIn	lpClassInlpftLastWriteTimeN)
r*   r+   r,   r]   r8   r
   r|   rC   r   r=   r"   r"   r"   r#   r         r   c                   @   (   e Zd ZdefdefdefdeffZdS )BaseRegEnumKeyResponse	lpNameOutlplpClassOutr   rd   N)r*   r+   r,   r|   rC   r   rf   r=   r"   r"   r"   r#   r   %  rD   r   c                   @   s>   e Zd ZdZdefdefdefdefdefdefdeffZ	d	S )
BaseRegEnumValue
   rr   r   lpValueNameInlpTypelpDatalpcbDatalpcbLenN)
r*   r+   r,   r]   r8   r
   r|   r   rI   r=   r"   r"   r"   r#   r   .  r}   r   c                   @   s4   e Zd ZdefdefdefdefdefdeffZdS )BaseRegEnumValueResponselpValueNameOutr   r   r   r   rd   N)r*   r+   r,   r|   r   rI   rf   r=   r"   r"   r"   r#   r   :  s    r   c                   @   rp   )BaseRegFlushKeyr7   rr   Nrs   r"   r"   r"   r#   r   E  rt   r   c                   @   rH   )BaseRegFlushKeyResponserd   Nr   r"   r"   r"   r#   r   K  rL   r   c                   @   &   e Zd ZdZdefdefdeffZdS )BaseRegGetKeySecurity   rr   SecurityInformationpRpcSecurityDescriptorInNr*   r+   r,   r]   r8   r   rM   r=   r"   r"   r"   r#   r   Q      r   c                   @   ra   )BaseRegGetKeySecurityResponsepRpcSecurityDescriptorOutrd   N)r*   r+   r,   rM   rf   r=   r"   r"   r"   r#   r   Y  rg   r   c                   @   s&   e Zd ZdZdefdefdeffZdS )BaseRegLoadKey   rr   rw   lpFileNr   r"   r"   r"   r#   r   `  r   r   c                   @   rH   )BaseRegLoadKeyResponserd   Nr   r"   r"   r"   r#   r   h  rL   r   c                   @   ,   e Zd ZdZdefdefdefdeffZdS )BaseRegOpenKey   rr   rw   ry   r[   N)	r*   r+   r,   r]   r8   r|   r
   r_   r=   r"   r"   r"   r#   r   n      r   c                   @   ra   )BaseRegOpenKeyResponser   rd   Nre   r"   r"   r"   r#   r   w  rg   r   c                   @   rX   )BaseRegQueryInfoKey   rr   r   Nr   r"   r"   r"   r#   r   ~  r`   r   c                   @   sL   e Zd Zdefdefdefdefdefdefdefdefd	efd
eff
ZdS )BaseRegQueryInfoKeyResponse
lpClassOut
lpcSubKeyslpcbMaxSubKeyLenlpcbMaxClassLen	lpcValueslpcbMaxValueNameLenlpcbMaxValueLenlpcbSecurityDescriptorr   rd   N)r*   r+   r,   r   r
   r   rf   r=   r"   r"   r"   r#   r     s    r   c                   @   s8   e Zd ZdZdefdefdefdefdefdeffZdS )	BaseRegQueryValue   rr   r   r   r   r   r   N)	r*   r+   r,   r]   r8   r|   r   rI   r=   r"   r"   r"   r#   r     s    r   c                   @   s.   e Zd ZdefdefdefdefdeffZdS )BaseRegQueryValueResponser   r   r   r   rd   N)r*   r+   r,   r   rI   rf   r=   r"   r"   r"   r#   r     s    r   c                   @   s,   e Zd ZdZdefdefdefdeffZdS )BaseRegReplaceKey   rr   rw   	lpNewFile	lpOldFileNr   r"   r"   r"   r#   r     r   r   c                   @   rH   )BaseRegReplaceKeyResponserd   Nr   r"   r"   r"   r#   r     rL   r   c                   @   r   )BaseRegRestoreKey   rr   r   FlagsN)r*   r+   r,   r]   r8   r|   r
   r=   r"   r"   r"   r#   r     r   r   c                   @   rH   )BaseRegRestoreKeyResponserd   Nr   r"   r"   r"   r#   r     rL   r   c                   @   r   )BaseRegSaveKey   rr   r   pSecurityAttributesN)r*   r+   r,   r]   r8   r|   rW   r=   r"   r"   r"   r#   r     r   r   c                   @   rH   )BaseRegSaveKeyResponserd   Nr   r"   r"   r"   r#   r     rL   r   c                   @   r   )BaseRegSetKeySecurity   rr   r   pRpcSecurityDescriptorNr   r"   r"   r"   r#   r     r   r   c                   @   rH   )BaseRegSetKeySecurityResponserd   Nr   r"   r"   r"   r#   r     rL   r   c                   @   2   e Zd ZdZdefdefdefdefdeffZdS )BaseRegSetValue   rr   r   dwTyper   cbDataN)	r*   r+   r,   r]   r8   r|   r
   r	   r=   r"   r"   r"   r#   r     r   r   c                   @   rH   )BaseRegSetValueResponserd   Nr   r"   r"   r"   r#   r     rL   r   c                   @   rX   )BaseRegUnLoadKey   rr   rw   Nr   r"   r"   r"   r#   r     r`   r   c                   @   rH   )BaseRegUnLoadKeyResponserd   Nr   r"   r"   r"   r#   r     rL   r   c                   @   rp   )BaseRegGetVersion   rr   Nrs   r"   r"   r"   r#   r     rt   r   c                   @   ra   )BaseRegGetVersionResponselpdwVersionrd   N)r*   r+   r,   r
   rf   r=   r"   r"   r"   r#   r     rg   r   c                   @   rX   )OpenCurrentConfig   rZ   r[   Nr\   r"   r"   r"   r#   r     r`   r   c                   @   ra   )OpenCurrentConfigResponserc   rd   Nre   r"   r"   r"   r#   r     rg   r   c                   @   r   )BaseRegQueryMultipleValues   rr   
val_listInnum_vals
lpvalueBuf
ldwTotsizeN	r*   r+   r,   r]   r8   rE   r
   rI   r=   r"   r"   r"   r#   r     r   r   c                   @   r   )"BaseRegQueryMultipleValuesResponseval_listOutr   r   rd   Nr*   r+   r,   rE   rI   r
   rf   r=   r"   r"   r"   r#   r   $  rD   r   c                   @   r   )BaseRegSaveKeyEx   rr   r   r   r   N)	r*   r+   r,   r]   r8   r|   rW   r
   r=   r"   r"   r"   r#   r   -  r   r   c                   @   rH   )BaseRegSaveKeyExResponserd   Nr   r"   r"   r"   r#   r   6  rL   r   c                   @   rX   )OpenPerformanceTextr0   rZ   r[   Nr\   r"   r"   r"   r#   r   <  r`   r   c                   @   ra   )OpenPerformanceTextResponserc   rd   Nre   r"   r"   r"   r#   r   C  rg   r   c                   @   rX   )OpenPerformanceNlsText!   rZ   r[   Nr\   r"   r"   r"   r#   r   J  r`   r   c                   @   ra   )OpenPerformanceNlsTextResponserc   rd   Nre   r"   r"   r"   r#   r   Q  rg   r   c                   @   r   )BaseRegQueryMultipleValues2"   rr   r   r   r   r   Nr   r"   r"   r"   r#   r   X  r   r   c                   @   r   )#BaseRegQueryMultipleValues2Responser   r   ldwRequiredSizerd   Nr   r"   r"   r"   r#   r   b  rD   r   c                   @   r   )BaseRegDeleteKeyEx#   rr   rw   
AccessMaskReservedN)	r*   r+   r,   r]   r8   r|   r_   r
   r=   r"   r"   r"   r#   r   k  r   r   c                   @   rH   )BaseRegDeleteKeyExResponserd   Nr   r"   r"   r"   r#   r   t  rL   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r0   r   r   r   c                 C   s(   | t kr| S | dd  dkr| d S | S )N )r   )stringr"   r"   r#   checkNullString  s
   r   c                 C   s>  | t krtd|}|S | tkrtd|}|S | tkr;z|d}W |S  ty:   dd l}|| d}Y |S w | t	kr`z|d}W |S  ty_   dd l}|| d}Y |S w | t
krktd|}|S | tkrvtd|}|S | tkrz|d}W |S  ty   dd l}|| d}Y |S w |}|S )N<L>Lutf-16ler   <Q>Q)	REG_DWORDr   REG_DWORD_BIG_ENDIANREG_EXPAND_SZencodeUnicodeDecodeErrorsysdecodegetfilesystemencodingREG_MULTI_SZ	REG_QWORDREG_QWORD_LITTLE_ENDIANREG_SZ)	valueTypevalueretDatar  r"   r"   r#   	packValue  sR   




r  c                 C   s   | t krtdd|d }|S | tkr tdd|d }|S | tkr.d|d}|S | tkr<d|d}|S | tkrLtdd|d }|S | tkr\tdd|d }|S | t	krjd|d}|S d|}|S )	Nr       r   r    r   r   r  )
r  r   joinr  r  r  r
  r  r  r  )r  r  r  r"   r"   r#   unpackValue  s.   

r  c                    (   t  }t|d< ||d< | |I d H S NrZ   r[   )rY   r   requestdcer[   r  r"   r"   r#   hOpenClassesRoot  
   r  c                    r  r  )rh   r   r  r  r"   r"   r#   hOpenCurrentUser  r  r  c                    r  r  )rj   r   r  r  r"   r"   r#   hOpenLocalMachine  r  r  c                    r  r  )rl   r   r  r  r"   r"   r#   hOpenPerformanceData  r  r  c                    r  r  )rn   r   r  r  r"   r"   r#   
hOpenUsers  r  r   c                        t  }||d< | |I d H S Nrr   )rq   r  r  rr   r  r"   r"   r#   hBaseRegCloseKey     r$  c           	         sr   t  }||d< t||d< t||d< ||d< ||d< |tkr)t|d d d< n||d< ||d	< | |I d H S )
Nrr   rw   rx   ry   r[   rz   rU   rN   r{   )rv   r   r   r  )	r  rr   rw   rx   ry   r[   rz   r{   r  r"   r"   r#   hBaseRegCreateKey  s   r&  c                    ,   t  }||d< t||d< | |I d H S Nrr   rw   )r   r   r  r  rr   rw   r  r"   r"   r#   hBaseRegDeleteKey  
   r*  c                    sd   t  }||d< ||d< d|jd jd< d|jd jd jd jd< d	|d
< ||d< | |I d H S )Nrr   r      r   MaximumLengthr2   rJ   MaximumCountz@                                                                r   r   )r   fieldsr  )r  rr   r   r   r  r"   r"   r#   hBaseRegEnumKey  s   r0  c                    s   t  }||d< ||d< d}	 |d |jd jd< ||jd jd jd jd	< d
| |d< ||d< ||d< | |I d H \}}|d urjt|trf|dkrPd |fS | tjkrb|d7 }| d }qd |fS d |fS |d fS )Nrr   r   r   Tr-   r   r-  rJ   r.      r   r   r   r$   )	r   r/  r  
isinstancer   get_error_coder   ERROR_MORE_DATA
get_packet)r  rr   r   dataLenr  retriesresper"   r"   r#   hBaseRegEnumValue!  s.   
r:  c                    r!  r"  )r   r  r#  r"   r"   r#   hBaseRegFlushKeyB  r%  r;  r,  c                    s   t  }||d< ||d< t|d d< d}	 ||d d< | |I d H \}}|d urUt|trQ|dkr7d d |fS | tjkrM|d7 }| d	 d d }qd |fS d |fS d
	|d	 d d fS )Nrr   r   r   rN   r   TrO   r$   r   r  )
r   r   r  r2  r   r3  r   ERROR_INSUFFICIENT_BUFFERr5  r  )r  rr   securityInformationr6  r  r7  r8  r9  r"   r"   r#   hBaseRegGetKeySecurityG  s(   

r>  c                    sV   t  }||d< t||d< t||d< t }||d< ||d< ||d< | |I d H S )NrN   rO   rP   rr   r   r   )rM   lenr   r  )r  rr   r   r=  secdescr  r"   r"   r#   hBaseRegSetKeySecurity_  s   rA  c                    s8   t  }||d< t||d< t||d< | |I d H S )Nrr   rw   r   )r   r   r  )r  rr   rw   r   r  r"   r"   r#   hBaseRegLoadKey~  s   rB  c                    r'  r(  )r   r   r  r)  r"   r"   r#   hBaseRegUnLoadKey  r+  rC  c                    <   t  }||d< t||d< ||d< ||d< | |I d H S )Nrr   rw   ry   r[   )r   r   r  )r  rr   rw   ry   r[   r  r"   r"   r#   hBaseRegOpenKey     rE  c                    sL   t  }||d< d|jd jd< d|jd jd jd jd< | |I d H S )Nrr   r,  r   r-  r2   rJ   r.  )r   r/  r  r#  r"   r"   r#   hBaseRegQueryInfoKey  s   rG  Tc           	         s   t  }||d< t||d< d}	 d| |d< ||d< ||d< | |I d H \}}|d urWt|trR|dkr;d d |fS | tjkrM|d7 }| d }qd d |fS d d |fS |du ri|d	 t	|d	 |d d fS |d	 d

|d d fS )Nrr   r   r$   Tr1  r   r   r   r   r  )r   r   r  r2  r   r3  r   r4  r5  r  r  )	r  rr   r   r6  unpack_valsr  r7  r8  r9  r"   r"   r#   hBaseRegQueryValue  s.   



rI  c                    sD   t  }||d< t||d< t||d< t||d< | |I d H S )Nrr   rw   r   r   )r   r   r  )r  rr   rw   r   r   r  r"   r"   r#   hBaseRegReplaceKey  s   rJ  c                    4   t  }||d< t||d< ||d< | |I d H S )Nrr   r   r   )r   r   r  )r  rr   r   flagsr  r"   r"   r#   hBaseRegRestoreKey     rM  c                    rK  )Nrr   r   r   )r   r   r  )r  rr   r   r   r  r"   r"   r#   hBaseRegSaveKey  rN  rO  c                    sR   t  }||d< t||d< ||d< t|||d< t|d |d< | |I d H S )Nrr   r   r   r   r   )r   r   r  r?  r  )r  rr   r   r   r   r  r"   r"   r#   hBaseRegSetValue  s   rP  c                    r!  r"  )r   r  r#  r"   r"   r#   hBaseRegGetVersion  r%  rQ  c                    r  r  )r   r   r  r  r"   r"   r#   hOpenCurrentConfig  r  rR  c                    s
   t d)NzMODIFICATION ASD TEST NEEDED!!!)	Exceptionr   r>   r   r?  r   appendlistr  dictr  )r  rr   r   r  rF   itemnr8  retValr"   r"   r#   hBaseRegQueryMultipleValues  s   rY  c                    rD  )Nrr   r   r   r   )r   r   r  )r  rr   r   r   rL  r  r"   r"   r#   hBaseRegSaveKeyEx   rF  rZ  c                    r  r  )r   r   r  r  r"   r"   r#   hOpenPerformanceText  r  r[  c                    r  r  )r   r   r  r  r"   r"   r#   hOpenPerformanceNlsText  r  r\  c                    r'  )Nrr   r   )r   r   r  )r  rr   r   r  r"   r"   r#   hBaseRegDeleteValue  r+  r]  N)r1   )r2   T)structr   r   aiosmbr   LOGaiosmb.dcerpc.v5.ndrr   r   r   r   r	   aiosmb.dcerpc.v5.dtypesr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   aiosmb.dcerpc.v5.rpcrtr   aiosmb.dcerpc.v5.uuidr   aiosmb.dcerpc.v5r   MSRPC_UUID_RRPr   r^   rf   r|   rC   r_   KEY_QUERY_VALUEKEY_SET_VALUEKEY_CREATE_SUB_KEYKEY_ENUMERATE_SUB_KEYSKEY_CREATE_LINKKEY_WOW64_64KEYKEY_WOW64_32KEY
REG_BINARYr  REG_DWORD_LITTLE_ENDIANr  r  REG_LINKr
  REG_NONEr  r  r  REG_CREATED_NEW_KEYREG_OPENED_EXISTING_KEYREG_WHOLE_HIVE_VOLATILEREG_REFRESH_HIVEREG_NO_LAZY_FLUSHREG_FORCE_RESTOREr8   r>   rE   rG   rI   rM   rS   rW   rY   rb   rh   ri   rj   rk   rl   rm   rn   ro   rq   ru   rv   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   OPNUMSr   r  r  r  r  r  r  r   r$  r&  r*  r0  r:  r;  r>  rA  rB  rC  rE  rG  rI  rJ  rM  rO  rP  rQ  rR  rY  rZ  r[  r\  r]  r"   r"   r"   r#   <module>   s|  D
	
		
	

		
			
%	 
!
		