Скорее всего
CheckPointer(pReceivePin,E_POINTER);
017D616D cmp dword ptr [ebp+0Ch],0
017D6171 jne CBasePin::Connect+4Dh (17D617Dh)
017D6173 mov eax,80004003h
017D6178 jmp CBasePin::Connect+1A7h (17D62D7h)
pReceivePin
находится по адресу, хранящемуся в стеке; обычно к нему обращаются через косвенное обращение, используя хранилище значений в ebp
.
по сравнению с нулем, и если оно равно нулю (jne
не срабатывает), фактическое значение E_POINTER
перемещается в eax
(eax
используется для хранения возвращаемого значения функции) и управление передаетсяв эпилог функции, где выполняется очистка, а затем управление возвращается вызывающей стороне (инструкция ret
).Если значение pReceivePin
не равно нулю (jne
действительно срабатывает), управление передается в другое место, где сохраняется код, который был после CheckPointer
, и этот код затем выполняется.