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