CMP RDX, RSI

CMP RDX, RSI
JLE L2
L0:
MOV EDX, 0x50100117
L1:
MOV RSP, RBP
CLC
POP RBP
RET
L2:
CMP RSI, RDI
JNLE L0
MOV EDX, 0x5010014F
JMP L1
INT3 16

If you don t understand this code you don t belong on G

Attached: 1642736191388.jpg (1534x2048, 222.26K)

I get pussy, you don't. End of discussion.

^
cope

neovaginas don t count

of course he doesn't, why would he? he's a girl desu! just look at the pic, that's him!

That dress was white before I had my way with her, if you know what I mean.

Two words, nigga.
Lesbian. Rape.

both of those things are wrong and shouldn't happen

Separated, they fall.
Together, they stand.

it's a double negative

I didn't ask you at all.

dope

cute jap imagine a bbc ravaging her cunny

>nigga
get lost monkey

don't get it but i want to cum on her face

TAKE THAT BACK OP I CAN BE HERE IF I WANT TO YOU DONT HAVE TO REMIND ME THAT I DONT KNOW ANYTHING THAT I HAVE NO SKILLS AND I HAVE NO FRIENDS BUT I WANNA BROWSE Any Forums BECAUSE IT S FUN OKAY SO PLEASE TAKE THAT BACK

I understand what these instructions do, but the question of why eludes me. More specifically, why you are using EDX to return values. The fact that you're reading from RDX, RSI, and RDI, tells me this is a function with three arguments in the System V ABI calling convention, but then your return value would be placed in RAX, not EDX. Indeed, the only time for that register to be used in return values is if you're trying to return a 128-bit integer value (in which case, both RAX and RDX are used).

Additionally, the purpose of these constants 0x50100117 and 0x5010014F is unclear. I know this code is hand-rolled assembly, since it isn't standard practice for compilers to clear the fucking carry flag right before returning from a function. Since it's not compiler generated, the purpose of these constants should be explicitly stated via comments.

I understand some minor parts of it
But I want to understand the hole thing

fpbp and /thread

fpbp

>int3 16
what