| include ksamd64.inc | |
| text SEGMENT EXECUTE | |
| public __chkstk | |
| __chkstk: | |
| sub rsp,010h | |
| mov QWORD PTR [rsp],r10 | |
| mov QWORD PTR [rsp+08h],r11 | |
| xor r11,r11 | |
| lea r10,[rsp+018h] | |
| sub r10,rax | |
| cmovb r10,r11 | |
| mov r11,QWORD PTR gs:[TeStackLimit] | |
| cmp r10,r11 | |
| jae chkstk_finish | |
| and r10w,0f000h | |
| chkstk_loop: | |
| lea r11,[r11-PAGE_SIZE] | |
| mov BYTE PTR [r11],0h | |
| cmp r10,r11 | |
| jne chkstk_loop | |
| chkstk_finish: | |
| mov r10,QWORD PTR [rsp] | |
| mov r11,QWORD PTR [rsp+08h] | |
| add rsp,010h | |
| ret | |
| end |