Рабочий код. Я добился чего хотел)
Спасибо всем за помощь.
Код:
;=================================================================================
proc DispatchNetworkQueueHook
pop eax ; Выталкиваем со стека Адрес Возврата в EAX (4 байта)
push ebp ; Толкаем в стек Адрес , которого начинаются аргументы (глубина стека)
mov ebp, esp ; в ebp теперь "Вершина" стека. Туда будут идти аргументы
pushad
mov edx, [ebp+8]
.if edx > 0
stdcall PaketDump,[ebp+08h]
.endif
popad
push 0ffffffffh
push eax ; востанавливаем адрес возврата
ret
endp
;=================================================================================
proc PaketDump uses ebx, ppnp:DWORD
mov eax, [ppnp] ; NetworkPacket **
mov ebx, [eax] ; NetworkPacket *
.if ebx > 0
movzx eax, [ebx+NetworkPacket.id]
stdcall IntToStr,eax,10,MAXHPBuff
.endif
ret
endp
;=================================================================================