windows-nt/Source/XPSP1/NT/base/crts/crtw32/eh/amd64/handlers.asm

77 lines
1.4 KiB
NASM
Raw Normal View History

2020-09-26 03:20:57 -05:00
;EXTRN _NLG_Notify:NEAR
include ksamd64.inc
EXTRN _GetImageBase:NEAR
;;++
;;
;;extern "C" void* _CallSettingFrame(
;; void* handler,
;; EHRegistrationNode *pEstablisher,
;; ULONG NLG_CODE)
;;
;;--
_GP$=16
_handler$=32
_pEstablisher$=40
_NLG_CODE$=48
NESTED_ENTRY _CallSettingFrame, _TEXT$00
sub rsp, 24
.allocstack 24
.endprolog
mov QWORD PTR _handler$[rsp], rcx
mov QWORD PTR _pEstablisher$[rsp], rdx
mov DWORD PTR _NLG_CODE$[rsp], r8d
mov rdx, QWORD PTR _pEstablisher$[rsp]
mov rdx, QWORD PTR [rdx] ; *pEstablisher
mov rax, QWORD PTR _handler$[rsp]
call rax ; Call handler
mov QWORD PTR _GP$[rsp], rax
add rsp, 24
ret 0
NESTED_END _CallSettingFrame, _TEXT$00
;;++
;;
;;extern "C"
;;VOID
;;_GetNextInstrOffset (
;; PVOID* ppReturnPoint
;; );
;;
;;Routine Description:
;;
;; This function scans the scope tables associated with the specified
;; procedure and calls exception and termination handlers as necessary.
;;
;;Arguments:
;;
;; ppReturnPoint (r32) - store b0 in *pReturnPoint
;;
;;Return Value:
;;
;; None
;;
;;--
PUBLIC _GetNextInstrOffset
_TEXT SEGMENT
_GetNextInstrOffset PROC NEAR
mov rax, QWORD PTR[rsp]
mov QWORD PTR [rcx], rax
ret 0
_GetNextInstrOffset ENDP
_TEXT ENDS
END