format ms64 coff section '.text' code readable writeable executable align 16 use64 public _rip_relative _rip_relative: mov rax, qword[seed] mov ecx, 214013 mul ecx add eax, 2531011 mov [seed], eax shr eax, 16 and eax, 0x7FFF ret seed dd 1 public _branch _branch: and rax, 1 jz @branch_ret xor rax, rax nop ; Just some padding, so the function can't be copied entirely into the nop ; trampoline nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop @branch_ret: ret public _small _small: xor eax, eax ret