All pastes #346270 Raw Edit

Someone

public text v1 · immutable
·published 2007-02-09 06:35 UTC
rendered paste body
-bash-3.00$ /usr/ccs/bin/dis -F array_user_compare /opt/php5/bin/amd64/php
                ****   DISASSEMBLER  ****


disassembly for /opt/php5/bin/amd64/php

section .text
array_user_compare()
    array_user_compare:     55                 pushq  %rbp
    array_user_compare+0x1: 48 8b ec           movq   %rsp,%rbp
    array_user_compare+0x4: 48 83 ec 60        subq   $0x60,%rsp
    array_user_compare+0x8: 41 54              pushq  %r12
    array_user_compare+0xa: 41 55              pushq  %r13
    array_user_compare+0xc: 4c 8b 0f           movq   (%rdi),%r9
    array_user_compare+0xf: 4c 8b 06           movq   (%rsi),%r8
    array_user_compare+0x12: 4d 8b 49 10        movq   0x10(%r9),%r9
    array_user_compare+0x16: 4c 8d 54 24 18     leaq   0x18(%rsp),%r10
    array_user_compare+0x1b: 4c 89 4c 24 18     movq   %r9,0x18(%rsp)
    array_user_compare+0x20: 4d 8b 40 10        movq   0x10(%r8),%r8
    array_user_compare+0x24: 4c 89 44 24 20     movq   %r8,0x20(%rsp)
    array_user_compare+0x29: 48 8d 7c 24 28     leaq   0x28(%rsp),%rdi
    array_user_compare+0x2e: 48 c7 44 24 28 48 00 00 00  movq   $0x48,0x28(%rsp)
    array_user_compare+0x37: 4c 8b 05 c2 d4 1c 00  movq   0x1cd4c2(%rip),%r8
    array_user_compare+0x3e: 4d 8b 80 38 02 00 00  movq   0x238(%r8),%r8
    array_user_compare+0x45: 4c 89 44 24 30     movq   %r8,0x30(%rsp)
    array_user_compare+0x4a: 48 8b 35 ff f2 1c 00  movq   0x1cf2ff(%rip),%rsi
    array_user_compare+0x51: 4c 8b 86 a8 01 00 00  movq   0x1a8(%rsi),%r8
    array_user_compare+0x58: 4d 8b 00           movq   (%r8),%r8
    array_user_compare+0x5b: 4c 89 44 24 38     movq   %r8,0x38(%rsp)
    array_user_compare+0x60: 4d 33 c0           xorq   %r8,%r8
    array_user_compare+0x63: 4c 89 44 24 40     movq   %r8,0x40(%rsp)
    array_user_compare+0x68: 4c 89 44 24 60     movq   %r8,0x60(%rsp)
    array_user_compare+0x6d: 4c 8d 64 24 10     leaq   0x10(%rsp),%r12
    array_user_compare+0x72: 4c 89 64 24 48     movq   %r12,0x48(%rsp)
    array_user_compare+0x77: c7 44 24 50 02 00 00 00  movl   $0x2,0x50(%rsp)
    array_user_compare+0x7f: 4c 89 54 24 58     movq   %r10,0x58(%rsp)
    array_user_compare+0x84: c6 44 24 68 00     movb   $0x0,0x68(%rsp)
    array_user_compare+0x89: 48 81 c6 b0 01 00 00  addq   $0x1b0,%rsi
    array_user_compare+0x90: e8 0b d5 0a 00     call   +0xad510 <zend_call_function>
    array_user_compare+0x95: 85 c0              testl  %eax,%eax
    array_user_compare+0x97: 0f 85 92 00 00 00  jne    +0x98    <array_user_compare+0x12f>
    array_user_compare+0x9d: 4c 8b 6c 24 10     movq   0x10(%rsp),%r13
    array_user_compare+0xa2: 4d 85 ed           testq  %r13,%r13
    array_user_compare+0xa5: 0f 84 84 00 00 00  je     +0x8a    <array_user_compare+0x12f>
    array_user_compare+0xab: 41 8b 45 14        movl   0x14(%r13),%eax
    array_user_compare+0xaf: 3c 01              cmpb   $0x1,%al
    array_user_compare+0xb1: 74 69              je     +0x6b    <array_user_compare+0x11c>
    array_user_compare+0xb3: c1 e8 08           shrl   $0x8,%eax
    array_user_compare+0xb6: 84 c0              testb  %al,%al
    array_user_compare+0xb8: 75 58              jne    +0x5a    <array_user_compare+0x112>
    array_user_compare+0xba: 41 8b 45 10        movl   0x10(%r13),%eax
    array_user_compare+0xbe: 83 f8 01           cmpl   $0x1,%eax
    array_user_compare+0xc1: 76 4f              jbe    +0x51    <array_user_compare+0x112>
    array_user_compare+0xc3: ff c8              decl   %eax
    array_user_compare+0xc5: 41 89 45 10        movl   %eax,0x10(%r13)
    array_user_compare+0xc9: 48 c7 c7 18 00 00 00  movq   $0x18,%rdi
    array_user_compare+0xd0: e8 8b 0f 0a 00     call   +0xa0f90 <_emalloc>
    array_user_compare+0xd5: 48 89 44 24 10     movq   %rax,0x10(%rsp)
    array_user_compare+0xda: 4d 8b 45 00        movq   0x0(%r13),%r8
    array_user_compare+0xde: 4d 8b 4d 08        movq   0x8(%r13),%r9
    array_user_compare+0xe2: 4c 89 00           movq   %r8,(%rax)
    array_user_compare+0xe5: 4c 89 48 08        movq   %r9,0x8(%rax)
    array_user_compare+0xe9: 4d 8b 45 10        movq   0x10(%r13),%r8
    array_user_compare+0xed: 4c 89 40 10        movq   %r8,0x10(%rax)
    array_user_compare+0xf1: 48 8b 7c 24 10     movq   0x10(%rsp),%rdi
    array_user_compare+0xf6: e8 05 ee ff ff     call   -0x11f6  <_zval_copy_ctor>
    array_user_compare+0xfb: 4c 8b 44 24 10     movq   0x10(%rsp),%r8
    array_user_compare+0x100: 41 c7 40 10 01 00 00 00  movl   $0x1,0x10(%r8)
    array_user_compare+0x108: 4c 8b 44 24 10     movq   0x10(%rsp),%r8
    array_user_compare+0x10d: 41 c6 40 15 00     movb   $0x0,0x15(%r8)
    array_user_compare+0x112: 48 8b 7c 24 10     movq   0x10(%rsp),%rdi
    array_user_compare+0x117: e8 34 14 0b 00     call   +0xb1439        <convert_to_long>
    array_user_compare+0x11c: 4c 8b 6c 24 10     movq   0x10(%rsp),%r13
    array_user_compare+0x121: 49 8b fc           movq   %r12,%rdi
    array_user_compare+0x124: e8 27 ce 0a 00     call   +0xace2c        <_zval_ptr_dtor>
    array_user_compare+0x129: 49 63 45 00        movslq 0x0(%r13),%rax
    array_user_compare+0x12d: eb 02              jmp    +0x4    <array_user_compare+0x131>
    array_user_compare+0x12f: 33 c0              xorl   %eax,%eax
    array_user_compare+0x131: 41 5d              popq   %r13
    array_user_compare+0x133: 41 5c              popq   %r12
    array_user_compare+0x135: c9                 leave  
    array_user_compare+0x136: c3                 ret