Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
1.4 KiB

  1. ;EXTRN _NLG_Notify:NEAR
  2. include ksamd64.inc
  3. EXTRN _GetImageBase:NEAR
  4. ;;++
  5. ;;
  6. ;;extern "C" void* _CallSettingFrame(
  7. ;; void* handler,
  8. ;; EHRegistrationNode *pEstablisher,
  9. ;; ULONG NLG_CODE)
  10. ;;
  11. ;;--
  12. _GP$=16
  13. _handler$=32
  14. _pEstablisher$=40
  15. _NLG_CODE$=48
  16. NESTED_ENTRY _CallSettingFrame, _TEXT$00
  17. sub rsp, 24
  18. .allocstack 24
  19. .endprolog
  20. mov QWORD PTR _handler$[rsp], rcx
  21. mov QWORD PTR _pEstablisher$[rsp], rdx
  22. mov DWORD PTR _NLG_CODE$[rsp], r8d
  23. mov rdx, QWORD PTR _pEstablisher$[rsp]
  24. mov rdx, QWORD PTR [rdx] ; *pEstablisher
  25. mov rax, QWORD PTR _handler$[rsp]
  26. call rax ; Call handler
  27. mov QWORD PTR _GP$[rsp], rax
  28. add rsp, 24
  29. ret 0
  30. NESTED_END _CallSettingFrame, _TEXT$00
  31. ;;++
  32. ;;
  33. ;;extern "C"
  34. ;;VOID
  35. ;;_GetNextInstrOffset (
  36. ;; PVOID* ppReturnPoint
  37. ;; );
  38. ;;
  39. ;;Routine Description:
  40. ;;
  41. ;; This function scans the scope tables associated with the specified
  42. ;; procedure and calls exception and termination handlers as necessary.
  43. ;;
  44. ;;Arguments:
  45. ;;
  46. ;; ppReturnPoint (r32) - store b0 in *pReturnPoint
  47. ;;
  48. ;;Return Value:
  49. ;;
  50. ;; None
  51. ;;
  52. ;;--
  53. PUBLIC _GetNextInstrOffset
  54. _TEXT SEGMENT
  55. _GetNextInstrOffset PROC NEAR
  56. mov rax, QWORD PTR[rsp]
  57. mov QWORD PTR [rcx], rax
  58. ret 0
  59. _GetNextInstrOffset ENDP
  60. _TEXT ENDS
  61. END