macro Finish chTxt { local hh
	     cmp byte [chTxt],0
	     jz EndTrr
	     }
macro mFindStringB_ chStr,chBgn,chMtk {local klend,kjj,kl0,kl1,kl2,kl3
	    mov ecx,chStr
	    movd xmm5,ecx
	    mov edx,chBgn
	    sub ebx,ebx
     kl0:
     kl1:   mov al,[edx]
	    inc ebx
	    test al,al
	    jz	klend
	    cmp al,[ecx]
	    jnz kl3
	    inc edx
	    inc ecx
	    cmp byte [ecx],0
	    jnz kl1
     kl2:   movd eax,xmm5
	    mov ecx,ebx
     kjj:   inc eax
	    dec ebx
	    cmp byte [eax],0
	    jnz kjj
		       ;find
	    jmp chMtk
     kl3:   movd ecx,xmm5
	    inc edx
	    cmp byte [edx],0
	    jnz  kl0
     klend:
	     }
macro FindDoZnak chTxt,chZnk { local t1,t2
	    t1:   inc chTxt
		  ;cmp byte [chTxt],0
		  ;jz  EndTrr
		  Finish chTxt
		  cmp byte [chTxt],13
		  jz  t2
		  cmp byte [chTxt],10
		  jz  t2
		  cmp byte [chTxt],chZnk
		  jnz t1
	     t2:
		 }
macro slashEnter n,to { local vv
inc byte [@slashCount]
cmp byte [@slashCount],n
jb vv
mov byte [@slashCount],0
mov byte [to],'\'
mov word [to+1],0x0a0d
add to,3
vv:
}
macro CopyTextDoZnaka chFrom,chTo,chZnak { local m1,m2
					   mov edx,chFrom
					   mov ebx,chTo

				       m2: mov al,[edx]
					   Finish edx
					   cmp al,chZnak
					   jz  m1
					   mov [ebx],al
					   inc ebx
					   inc edx
					   jmp m2
				       m1:
					   inc edx
					 }

pCInterface: mov byte [@slashCount],0
	mov  esi,[@p_TxtIn+4] 
	mov dword [esi],0x0a0d0a0d
	add esi,4
	mov dword [esi],'inte'
	mov dword [esi+4],'rfac'  
	mov dword [esi+8],'e ,\'
	mov word [esi+12],0x0a0d
	add esi,14
	mov  edx,[@p_TxtIn]
	test edx,edx
	jnz  pCInterface2
	ret 
pCInterface2:
        mFindStringB_ SrchSTDMET,edx,@f
        dec esi
        mov byte [esi],' '       ;clr last zapataya
	mov dword [esi+1],0
        ret
@@:     cmp byte [edx],'('
	jz  pCInterface1
	cmp byte [edx],'_'
        jnz @f
pCInterface1:
        FindDoZnak edx,')' ;','
pCInterface10:
	dec edx
	cmp edx,dword [@p_TxtIn]
	jbe EndTrr
	cmp byte [edx],','
	jz  pCInterface3
	cmp byte [edx],'('
	jz  pCInterface3
	jmp pCInterface10
pCInterface3:
        inc edx
        CopyTextDoZnaka edx,esi,')'
        mov byte [ebx],','
        inc ebx
slashEnter 6,ebx
        mov esi,ebx
        jmp pCInterface2
@@:     FindDoZnak edx,'*'
        jmp pCInterface3
EndTrr: mov dword [ebx],0
	ret

@p_TxtIn dd 0,0
@slashCount db 0
SrchSTDMET db 'STDMETHOD',0