高级玩家

- 贡献度
- 2
- 金元
- 4406
- 积分
- 449
- 精华
- 0
- 注册时间
- 2012-3-9
|
alloc(Signature,4)
registersymbol(debugnr)
registersymbol(exceptioncount)
registersymbol(exceptionhandler)
registersymbol(vehid)
alloc(MREW,8)
alloc(exceptioncount,4)
alloc(debugnr,4)
alloc(vehid,8)
alloc(List,8)
alloc(ListSize,8)
alloc(ExceptionHandler,1024)
alloc(SetList,1024)
alloc(registereh,128)
label(next)
label(nomatch)
label(match)
label(ExceptionHandler_exit)
Signature:
db 'AAEH'
MREW:
dq 0
List:
dq 0
ListSize:
dd 0
SetList:
sub rsp,28
mov [rsp+30],rcx
mov rcx,MREW
call AcquireSRWLockExclusive
mov rax,[rsp+30]
mov r8,[rax]
mov r9,[rax+8]
mov [List],r8
mov [ListSize],r9
mov rcx,MREW
call ReleaseSRWLockExclusive
add rsp,28
ret
ExceptionHandler:
sub rsp,28
mov [rsp+30],rcx
mov rcx,MREW
call AcquireSRWLockShared
cmp [List],0
je ExceptionHandler_exit
mov rax,[rsp+30]
mov rax,[rax+8]
lea rax,[rax+f8]
mov r8,[List]
mov rcx,[ListSize]
next:
mov r9,[r8]
mov r10,[r8+8]
cmp dword [r8+10],1
jne exceptionhandlerentry
cmp [rax],r9
je match
exceptionhandlerentry:
cmp [rax],r9
jb nomatch
cmp [rax],r10
jb match
nomatch:
add r8,18
loop next
xor rax,rax
jmp ExceptionHandler_exit
match:
mov [rax],r10
mov eax,ffffffff
ExceptionHandler_exit:
mov [rsp+30],rax
mov rcx,MREW
call ReleaseSRWLockShared
mov rax,[rsp+30]
add rsp,28
ret
registereh:
sub rsp,28
mov rcx,1
mov rdx,ExceptionHandler
call AddVectoredExceptionHandler
mov [vehid],rax
add rsp,28
ret
createthreadandwait(registereh)
|
|