Код:
proc RequestAuthLogin_Hook uses esi, pLogin:DWORD,pPassword:DWORD,Param:DWORD
local loginBuf[256]:WORD
local passBuf[256]:WORD
xor eax,eax
mov eax, [pLogin] ;если я правильно понял, то ты тут копируешь 2 (UNICODE) или 4(ANSI) символа из строки в eax, а не адрес, если хочешь скопировать адрес (указатель) на строку в eax то пиши: lea eax,pLogin или mov eax, offset pLogin не проверял, но должно быть одно и тоже.
invoke ChekLoginPass,loginBuf,eax,0Eh
MOV ESI,ECX
MOV ECX,[pPassword] ;тогда тут так: lea eax,pPassword или mov eax, offset pPassword
invoke ChekLoginPass,passBuf,ecx,10h
MOV EDX,[Param] ;тогда тут так: lea eax,Param или mov eax, offset Param
;MOV DWORD[B6AEB4],EDX ; тут писать DWORD не обязательно, если работаешь с 32 битным регистром, там и так DWORD будет
MOV EAX,DWORD[ESI+4Ch] ; и тут можно без DWORD
MOV DWORD [EAX+111ECh],1
MOV ECX,DWORD[ESI+4Ch] ; и тут можно без DWORD
MOV DWORD[ECX+111E8h],1
MOV EAX,DWORD [ESI+4Ch] ; и тут можно без DWORD
;ADD ESP,18h
LEA EDX,DWORD[EAX+10858h] ; и тут можно без DWORD
PUSH EDX
CALL Engine.0084F980 ; <<<--- Функция установки коннекта
ret
endp
Извиняюсь за грамотейство, не исключено, что я там наплужил или нет, ночь всетаки..))