1function main (.text) { 2 0x400506: push rbp 3 0x400507: rbp = rsp 4 0x40050a: rsp -= 16 5 0x40050e: *(rbp - 4) = 123 6 0x400515: *(rbp - 8) = 5 7 for (;;) { 8 loop_0x40051c: 9 # 0x40051c: cmp dword ptr [rbp - 4], 0 10 # 0x400520: je 0x40053a 11 if (*(rbp - 4) != 0) { 12 # 0x400522: cmp dword ptr [rbp - 8], 9 13 # 0x400526: jg 0x40053a 14 and if (*(rbp - 8) <= 9) 15 0x400528: eax = *(rbp - 4) 16 # 0x40052b: cmp eax, dword ptr [rbp - 8] 17 # 0x40052e: je 0x40053a 18 and if (eax != *(rbp - 8)) 19 0x400530: edi = 0x4005e4 "1" 20 0x400535: call puts 21 } 22 0x40053a: edi = 0x4005e6 "2" 23 0x40053f: call puts 24 0x400544: *(rbp - 4) += 1 25 # 0x400548: cmp dword ptr [rbp - 4], 0 26 # 0x40054c: jne 0x400558 27 if (*(rbp - 4) == 0) { 28 0x40054e: edi = 0x4005e8 "3" 29 0x400553: call puts 30 } 31 0x400558: *(rbp - 8) += 1 32 0x40055c: jmp loop_0x40051c 33 } ; loop_0x40051c 34 35} 36