function main (.text) { 0x400506: push rbp 0x400507: rbp = rsp 0x40050a: rsp -= 16 0x40050e: *(rbp - 4) = 123 0x400515: *(rbp - 8) = 5 for (;;) { loop_0x40051c: # 0x40051c: cmp dword ptr [rbp - 4], 0 # 0x400520: je 0x40053a if (*(rbp - 4) != 0) { # 0x400522: cmp dword ptr [rbp - 8], 9 # 0x400526: jg 0x40053a and if (*(rbp - 8) <= 9) 0x400528: eax = *(rbp - 4) # 0x40052b: cmp eax, dword ptr [rbp - 8] # 0x40052e: je 0x40053a and if (eax != *(rbp - 8)) 0x400530: edi = 0x4005e4 "1" 0x400535: call puts } 0x40053a: edi = 0x4005e6 "2" 0x40053f: call puts 0x400544: *(rbp - 4) += 1 # 0x400548: cmp dword ptr [rbp - 4], 0 # 0x40054c: jne 0x400558 if (*(rbp - 4) == 0) { 0x40054e: edi = 0x4005e8 "3" 0x400553: call puts } 0x400558: *(rbp - 8) += 1 0x40055c: jmp loop_0x40051c } ; loop_0x40051c }