phases/13-tools-and-protocols/34-lifting-to-pseudocode/code/fixtures/ledger-x86_64-O0.o: file format elf64-x86-64 Disassembly of section .text: 0000000000000000 : 0: 55 pushq %rbp 1: 48 89 e5 movq %rsp, %rbp 4: 89 7d f8 movl %edi, -0x8(%rbp) 7: 89 75 f4 movl %esi, -0xc(%rbp) a: 83 7d f8 00 cmpl $0x0, -0x8(%rbp) e: 75 09 jne 0x19 10: c7 45 fc 00 00 00 00 movl $0x0, -0x4(%rbp) 17: eb 10 jmp 0x29 19: 8b 45 f4 movl -0xc(%rbp), %eax 1c: 2b 45 f8 subl -0x8(%rbp), %eax 1f: 6b c0 64 imull $0x64, %eax, %eax 22: 99 cltd 23: f7 7d f8 idivl -0x8(%rbp) 26: 89 45 fc movl %eax, -0x4(%rbp) 29: 8b 45 fc movl -0x4(%rbp), %eax 2c: 5d popq %rbp 2d: c3 retq 2e: 66 90 nop 0000000000000030 : 30: 55 pushq %rbp 31: 48 89 e5 movq %rsp, %rbp 34: 89 7d f8 movl %edi, -0x8(%rbp) 37: 48 63 45 f8 movslq -0x8(%rbp), %rax 3b: 48 69 c0 67 66 66 66 imulq $0x66666667, %rax, %rax # imm = 0x66666667 42: 48 89 c1 movq %rax, %rcx 45: 48 c1 f9 22 sarq $0x22, %rcx 49: 89 ca movl %ecx, %edx 4b: 48 c1 e8 3f shrq $0x3f, %rax 4f: 89 c1 movl %eax, %ecx 51: 89 d0 movl %edx, %eax 53: 8d 44 08 fa leal -0x6(%rax,%rcx), %eax 57: 89 c1 movl %eax, %ecx 59: 48 89 4d f0 movq %rcx, -0x10(%rbp) 5d: 83 e8 04 subl $0x4, %eax 60: 77 38 ja 0x9a 62: 48 8b 45 f0 movq -0x10(%rbp), %rax 66: 48 8d 0d 00 00 00 00 leaq (%rip), %rcx # 0x6d 0000000000000069: R_X86_64_PC32 .rodata-0x4 6d: 48 63 04 81 movslq (%rcx,%rax,4), %rax 71: 48 01 c8 addq %rcx, %rax 74: ff e0 jmpq *%rax 76: c7 45 fc 04 00 00 00 movl $0x4, -0x4(%rbp) 7d: eb 22 jmp 0xa1 7f: c7 45 fc 03 00 00 00 movl $0x3, -0x4(%rbp) 86: eb 19 jmp 0xa1 88: c7 45 fc 02 00 00 00 movl $0x2, -0x4(%rbp) 8f: eb 10 jmp 0xa1 91: c7 45 fc 01 00 00 00 movl $0x1, -0x4(%rbp) 98: eb 07 jmp 0xa1 9a: c7 45 fc 00 00 00 00 movl $0x0, -0x4(%rbp) a1: 8b 45 fc movl -0x4(%rbp), %eax a4: 5d popq %rbp a5: c3 retq a6: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) 00000000000000b0 : b0: 55 pushq %rbp b1: 48 89 e5 movq %rsp, %rbp b4: 48 89 7d f8 movq %rdi, -0x8(%rbp) b8: 89 75 f4 movl %esi, -0xc(%rbp) bb: c7 45 f0 00 00 00 00 movl $0x0, -0x10(%rbp) c2: c7 45 ec 00 00 00 00 movl $0x0, -0x14(%rbp) c9: 8b 45 ec movl -0x14(%rbp), %eax cc: 3b 45 f4 cmpl -0xc(%rbp), %eax cf: 7d 1c jge 0xed d1: 48 8b 45 f8 movq -0x8(%rbp), %rax d5: 48 63 4d ec movslq -0x14(%rbp), %rcx d9: 8b 04 88 movl (%rax,%rcx,4), %eax dc: 03 45 f0 addl -0x10(%rbp), %eax df: 89 45 f0 movl %eax, -0x10(%rbp) e2: 8b 45 ec movl -0x14(%rbp), %eax e5: 83 c0 01 addl $0x1, %eax e8: 89 45 ec movl %eax, -0x14(%rbp) eb: eb dc jmp 0xc9 ed: 8b 45 f0 movl -0x10(%rbp), %eax f0: 5d popq %rbp f1: c3 retq f2: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:(%rax,%rax) 0000000000000100 : 100: 55 pushq %rbp 101: 48 89 e5 movq %rsp, %rbp 104: 48 83 ec 10 subq $0x10, %rsp 108: 89 7d fc movl %edi, -0x4(%rbp) 10b: 8b 7d fc movl -0x4(%rbp), %edi 10e: e8 00 00 00 00 callq 0x113 000000000000010f: R_X86_64_PLT32 grade-0x4 113: 48 63 c8 movslq %eax, %rcx 116: 48 8d 05 00 00 00 00 leaq (%rip), %rax # 0x11d 0000000000000119: R_X86_64_PC32 .data-0x4 11d: 48 8b 04 c8 movq (%rax,%rcx,8), %rax 121: 48 83 c4 10 addq $0x10, %rsp 125: 5d popq %rbp 126: c3 retq