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.5 KiB
76 lines
1.5 KiB
;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
|