section .text global _start: call do_work mov rax, 60 mov rdi, r13 syscall do_work: mov r14, arrrrrr xor r15, r15 xor r13, r13 jmp tst nop lp: movsxd rax, r15d lea rax, [r14 + rax + 0x8] movsx rax, byte [rax] mov byte [rsp + 0x18], al movzx rcx, al and ecx, 0xf mov rax, r13 add eax, ecx inc r15 mov r13, rax tst: movsxd rax, dword [r14] cmp r15, rax jl lp ret arrrrrr: dd 134217728 times 134217728 db 57h