otool -s __TEXT __text -V a.out a.out: (__TEXT,__text) section start: 0100000a00 pushq $0x0 0100000a02 movq %rsp, %rbp 0100000a05 andq $0xfffffffffffffff0, %rsp 0100000a09 movq 0x8(%rbp), %rdi 0100000a0d leaq 0x10(%rbp), %rsi 0100000a11 movl %edi, %edx 0100000a13 addl $0x1, %edx 0100000a16 shll $0x3, %edx 0100000a19 addq %rsi, %rdx 0100000a1c movq %rdx, %rcx 0100000a1f jmp 0x100000a25 0100000a21 addq $0x8, %rcx 0100000a25 cmpq $0x0, (%rcx) 0100000a29 jne 0x100000a21 0100000a2b addq $0x8, %rcx 0100000a2f callq _main 0100000a34 movl %eax, %edi 0100000a36 callq 0x100000dc0 ## symbol stub for: _exit 0100000a3b hlt 0100000a3c nop 0100000a3d nop 0100000a3e nop 0100000a3f nop _main: 0100000a40 pushq %rbp 0100000a41 movq %rsp, %rbp 0100000a44 subq $0x150, %rsp 0100000a4b movl %edi, 0xfffffffffffffffc(%rbp) 0100000a4e movq %rsi, 0xfffffffffffffff0(%rbp) 0100000a52 movl $0x1000, 0xffffffffffffffbc(%rbp) 0100000a59 xorb %al, %al 0100000a5b leaq 0x406(%rip), %rdi ## literal pool for: fragCheck A00, 0100000a62 callq 0x100000dde ## symbol stub for: _printf 0100000a67 movl 0xfffffffffffffffc(%rbp), %ecx 0100000a6a cmpl $0x1, %ecx 0100000a6d movl %eax, 0xffffffffffffff0c(%rbp) 0100000a73 jg 0x100000a93 0100000a75 leaq 0x3fe(%rip), %rdi ## literal pool for: frag file [blockjump] . 0100000a7c callq 0x100000de4 ## symbol stub for: _puts 0100000a81 movl $0x1, 0xffffffffffffffe8(%rbp) 0100000a88 movl %eax, 0xffffffffffffff08(%rbp) 0100000a8e jmpq 0x100000da1 0100000a93 movl 0xfffffffffffffffc(%rbp), %eax 0100000a96 cmpl $0x3, %eax 0100000a99 jne 0x100000aab 0100000a9b movq 0xfffffffffffffff0(%rbp), %rax 0100000a9f movq 0x10(%rax), %rdi 0100000aa3 callq 0x100000db4 ## symbol stub for: _atoi 0100000aa8 movl %eax, 0xffffffffffffffbc(%rbp) 0100000aab leaq 0xffffffffffffff28(%rbp), %rsi 0100000ab2 movq %rsi, 0xffffffffffffff00(%rbp) 0100000ab9 movl 0xffffffffffffffbc(%rbp), %esi 0100000abc xorb %al, %al 0100000abe leaq 0x3d1(%rip), %rdi ## literal pool for: Using block size of %d 0100000ac5 callq 0x100000dde ## symbol stub for: _printf 0100000aca movq 0xfffffffffffffff0(%rbp), %rdi 0100000ace movq 0x8(%rdi), %rdi 0100000ad2 movq 0xffffffffffffff00(%rbp), %rsi 0100000ad9 movl %eax, 0xfffffffffffffefc(%rbp) 0100000adf callq 0x100000dea ## symbol stub for: _stat$INODE64 0100000ae4 movl %eax, 0xffffffffffffffc0(%rbp) 0100000ae7 movl 0xffffffffffffffc0(%rbp), %eax 0100000aea cmpl $0x0, %eax 0100000aed jne 0x100000b02 0100000aef movzwl 0xffffffffffffff2c(%rbp), %eax 0100000af6 andl $0xf000, %eax 0100000afb cmpl $0x8000, %eax 0100000b00 je 0x100000b37 0100000b02 movq 0x52f(%rip), %rax 0100000b09 movq 0xfffffffffffffff0(%rbp), %rcx 0100000b0d movq 0x8(%rcx), %rcx 0100000b11 movq (%rax), %rdi 0100000b14 movl 0xffffffffffffffc0(%rbp), %edx 0100000b17 xorb %al, %al 0100000b19 leaq 0x390(%rip), %rsi ## literal pool for: Error %d issuing stat %s or file is not regular file. 0100000b20 callq 0x100000dcc ## symbol stub for: _fprintf 0100000b25 movl $0x1, 0xffffffffffffffe8(%rbp) 0100000b2c movl %eax, 0xfffffffffffffef8(%rbp) 0100000b32 jmpq 0x100000da1 0100000b37 movq 0xfffffffffffffff0(%rbp), %rax 0100000b3b movq 0x8(%rax), %rdi 0100000b3f xorl %esi, %esi 0100000b41 xorb %al, %al 0100000b43 callq 0x100000dd8 ## symbol stub for: _open 0100000b48 movl %eax, 0xffffffffffffff24(%rbp) 0100000b4e movl 0xffffffffffffff24(%rbp), %eax 0100000b54 cmpl $0xffffffffffffffff, %eax 0100000b57 jne 0x100000b91 0100000b59 movq 0x4d8(%rip), %rax 0100000b60 movq 0xfffffffffffffff0(%rbp), %rcx 0100000b64 movq 0x8(%rcx), %rcx 0100000b68 movq (%rax), %rdi 0100000b6b movl 0xffffffffffffff24(%rbp), %edx 0100000b71 xorb %al, %al 0100000b73 leaq 0x36e(%rip), %rsi ## literal pool for: Error %d or file not found: %s 0100000b7a callq 0x100000dcc ## symbol stub for: _fprintf 0100000b7f movl $0x1, 0xffffffffffffffe8(%rbp) 0100000b86 movl %eax, 0xfffffffffffffef4(%rbp) 0100000b8c jmpq 0x100000da1 0100000b91 movabsq $0x0, %rax 0100000b9b movl $0x2, %edx 0100000ba0 movl %edx, 0xfffffffffffffef0(%rbp) 0100000ba6 movl $0x1, %edx 0100000bab movl 0xffffffffffffff24(%rbp), %edi 0100000bb1 movq %rax, %rsi 0100000bb4 movq %rax, 0xfffffffffffffee8(%rbp) 0100000bbb callq 0x100000dd2 ## symbol stub for: _lseek 0100000bc0 movl %eax, %edx 0100000bc2 movl %edx, 0xffffffffffffffcc(%rbp) 0100000bc5 movl 0xffffffffffffff24(%rbp), %edi 0100000bcb movq 0xfffffffffffffee8(%rbp), %rsi 0100000bd2 movl 0xfffffffffffffef0(%rbp), %edx 0100000bd8 callq 0x100000dd2 ## symbol stub for: _lseek 0100000bdd movl %eax, %edx 0100000bdf movl %edx, 0xffffffffffffffc8(%rbp) 0100000be2 movl 0xffffffffffffffcc(%rbp), %esi 0100000be5 movl 0xffffffffffffffc8(%rbp), %edx 0100000be8 xorb %al, %al 0100000bea leaq 0x317(%rip), %rdi ## literal pool for: start: %8d; end: %8d, 0100000bf1 callq 0x100000dde ## symbol stub for: _printf 0100000bf6 movq $0x0, 0xffffffffffffff18(%rbp) 0100000c01 movl $0x1, 0xffffffffffffff14(%rbp) 0100000c0b movl $0x1, 0xffffffffffffff10(%rbp) 0100000c15 movl $0x0, 0xffffffffffffffc4(%rbp) 0100000c1c movl %eax, 0xfffffffffffffee4(%rbp) 0100000c22 jmpq 0x100000cd1 0100000c27 movl $0x0, %edx 0100000c2c movl 0xffffffffffffff10(%rbp), %eax 0100000c32 addl $0x1, %eax 0100000c35 movl %eax, 0xffffffffffffff10(%rbp) 0100000c3b movslq 0xffffffffffffffc4(%rbp), %rsi 0100000c3f movl 0xffffffffffffff24(%rbp), %edi 0100000c45 callq 0x100000dd2 ## symbol stub for: _lseek 0100000c4a movl 0xffffffffffffff24(%rbp), %edi 0100000c50 movl $0x31, %esi 0100000c55 leaq 0xffffffffffffffd0(%rbp), %rdx 0100000c59 movq %rax, 0xfffffffffffffed8(%rbp) 0100000c60 xorb %al, %al 0100000c62 callq 0x100000dc6 ## symbol stub for: _fcntl 0100000c67 movq 0xffffffffffffffdc(%rbp), %rdx 0100000c6b movq 0xffffffffffffff18(%rbp), %rcx 0100000c72 cmpq %rcx, %rdx 0100000c75 movl %eax, 0xfffffffffffffed4(%rbp) 0100000c7b je 0x100000cae 0100000c7d movq 0xffffffffffffffdc(%rbp), %rax 0100000c81 movslq 0xffffffffffffffbc(%rbp), %rcx 0100000c85 subq %rcx, %rax 0100000c88 movq 0xffffffffffffff18(%rbp), %rcx 0100000c8f cmpq %rcx, %rax 0100000c92 je 0x100000cae 0100000c94 movq 0xffffffffffffffdc(%rbp), %rsi 0100000c98 xorb %al, %al 0100000c9a leaq 0x27e(%rip), %rdi ## literal pool for: %jd; 0100000ca1 callq 0x100000dde ## symbol stub for: _printf 0100000ca6 movl %eax, 0xfffffffffffffed0(%rbp) 0100000cac jmp 0x100000cbd 0100000cae movl 0xffffffffffffff14(%rbp), %eax 0100000cb4 addl $0x1, %eax 0100000cb7 movl %eax, 0xffffffffffffff14(%rbp) 0100000cbd movq 0xffffffffffffffdc(%rbp), %rax 0100000cc1 movq %rax, 0xffffffffffffff18(%rbp) 0100000cc8 movl 0xffffffffffffffc4(%rbp), %ecx 0100000ccb addl 0xffffffffffffffbc(%rbp), %ecx 0100000cce movl %ecx, 0xffffffffffffffc4(%rbp) 0100000cd1 movl 0xffffffffffffffc8(%rbp), %eax 0100000cd4 subl 0xffffffffffffffbc(%rbp), %eax 0100000cd7 movl 0xffffffffffffffc4(%rbp), %ecx 0100000cda cmpl %ecx, %eax 0100000cdc jg 0x100000c27 0100000ce2 movabsq $0x64, %rax 0100000cec cvtsi2sdq %rax, %xmm0 0100000cf1 movl 0xffffffffffffff14(%rbp), %esi 0100000cf7 xorb %al, %al 0100000cf9 leaq 0x225(%rip), %rdi ## literal pool for: contiguous : %d; 0100000d00 movsd %xmm0, 0xfffffffffffffec8(%rbp) 0100000d08 callq 0x100000dde ## symbol stub for: _printf 0100000d0d movl 0xffffffffffffff10(%rbp), %esi 0100000d13 movl %eax, 0xfffffffffffffec4(%rbp) 0100000d19 xorb %al, %al 0100000d1b leaq 0x216(%rip), %rdi ## literal pool for: total : %d; 0100000d22 callq 0x100000dde ## symbol stub for: _printf 0100000d27 movl 0xffffffffffffff10(%rbp), %esi 0100000d2d subl 0xffffffffffffff14(%rbp), %esi 0100000d33 movl %eax, 0xfffffffffffffec0(%rbp) 0100000d39 xorb %al, %al 0100000d3b leaq 0x203(%rip), %rdi ## literal pool for: extents: %d; 0100000d42 callq 0x100000dde ## symbol stub for: _printf 0100000d47 cvtsi2ssl 0xffffffffffffff14(%rbp), %xmm0 0100000d4f cvtss2sd %xmm0, %xmm0 0100000d53 movsd 0xfffffffffffffec8(%rbp), %xmm1 0100000d5b mulsd %xmm1, %xmm0 0100000d5f cvtsi2ssl 0xffffffffffffff10(%rbp), %xmm2 0100000d67 cvtss2sd %xmm2, %xmm2 0100000d6b divsd %xmm2, %xmm0 0100000d6f movl %eax, 0xfffffffffffffebc(%rbp) 0100000d75 movb $0x1, %al 0100000d77 leaq 0x1d5(%rip), %rdi ## literal pool for: %.0f%% contiguous 0100000d7e callq 0x100000dde ## symbol stub for: _printf 0100000d83 movl 0xffffffffffffff24(%rbp), %edi 0100000d89 movl %eax, 0xfffffffffffffeb8(%rbp) 0100000d8f callq 0x100000dba ## symbol stub for: _close 0100000d94 movl $0x0, 0xffffffffffffffe8(%rbp) 0100000d9b movl %eax, 0xfffffffffffffeb4(%rbp) 0100000da1 movl 0xffffffffffffffe8(%rbp), %eax 0100000da4 movl %eax, 0xffffffffffffffec(%rbp) 0100000da7 movl 0xffffffffffffffec(%rbp), %eax 0100000daa addq $0x150, %rsp 0100000db1 popq %rbp 0100000db2 ret