>What are you working on
Losing my will to bother.
void foo(int p)
{
if(!p)return;
int a[15];
int x0[64];
asm
(
"nop"
:"+m"(x0)
,"=r"(a[0])
,"=r"(a[1])
,"=r"(a[2])
,"=r"(a[3])
,"=r"(a[4])
,"=r"(a[5])
,"=r"(a[6])
,"=r"(a[7])
,"=r"(a[8])
,"=r"(a[9])
,"=r"(a[10])
,"=r"(a[11])
,"=r"(a[12])
,"=r"(a[13])
,"=r"(a[14])
);
}
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp,0x148
test ecx,ecx
je LABEL
nop
LABEL:
add rsp,0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Why the fuck are stack shenanigans happening BEFORE the branch?