Skip to content

Instantly share code, notes, and snippets.

@Groxx
Created November 22, 2010 16:58
Show Gist options
  • Save Groxx/710249 to your computer and use it in GitHub Desktop.
Save Groxx/710249 to your computer and use it in GitHub Desktop.
.cstring
LC0:
.ascii "%d\12\0"
.text
.align 4,0x90
.globl _vm
_vm:
LFB14:
pushq %rbp
LCFI0:
movq %rsp, %rbp
LCFI1:
pushq %r15
LCFI2:
pushq %r14
LCFI3:
pushq %r13
LCFI4:
pushq %r12
LCFI5:
pushq %rbx
LCFI6:
subq $872, %rsp
LCFI7:
movq %rdi, -904(%rbp)
leaq -896(%rbp), %rax
movq %rax, -912(%rbp)
movl $840, %edx
xorl %esi, %esi
movq %rax, %rdi
call _memset
movl $1, -896(%rbp)
movb $-112, -884(%rbp)
movl $5, -868(%rbp)
movl $1, -864(%rbp)
movb $104, -856(%rbp)
movl $1, -840(%rbp)
movb $83, -828(%rbp)
movl $1, -812(%rbp)
movb $86, -800(%rbp)
movl $1, -784(%rbp)
movb $87, -772(%rbp)
movl $1, -756(%rbp)
movb $81, -744(%rbp)
movl $1, -728(%rbp)
movb $91, -716(%rbp)
movl $1, -700(%rbp)
movb $94, -688(%rbp)
movl $1, -672(%rbp)
movb $95, -660(%rbp)
movl $1, -644(%rbp)
movb $89, -632(%rbp)
movl $4, -616(%rbp)
movb $88, -604(%rbp)
movb $1, -603(%rbp)
movb $4, -602(%rbp)
movb $36, -601(%rbp)
movl $4, -588(%rbp)
movb $88, -576(%rbp)
movb $41, -575(%rbp)
movb $4, -574(%rbp)
movb $36, -573(%rbp)
movl $10, -560(%rbp)
movb $90, -548(%rbp)
movb $-117, -547(%rbp)
movb $4, -546(%rbp)
movb $36, -545(%rbp)
movb $15, -544(%rbp)
movb $-81, -543(%rbp)
movb $-62, -542(%rbp)
movb $-119, -541(%rbp)
movb $4, -540(%rbp)
movb $36, -539(%rbp)
movl $12, -532(%rbp)
movb $90, -520(%rbp)
movb $-119, -519(%rbp)
movb $-48, -518(%rbp)
movb $-63, -517(%rbp)
movb $-6, -516(%rbp)
movb $31, -515(%rbp)
movb $-9, -514(%rbp)
movb $60, -513(%rbp)
movb $36, -512(%rbp)
movb $-119, -511(%rbp)
movb $4, -510(%rbp)
movb $36, -509(%rbp)
movl $12, -504(%rbp)
movb $90, -492(%rbp)
movb $-119, -491(%rbp)
movb $-48, -490(%rbp)
movb $-63, -489(%rbp)
movb $-6, -488(%rbp)
movb $31, -487(%rbp)
movb $-9, -486(%rbp)
movb $60, -485(%rbp)
movb $36, -484(%rbp)
movb $-119, -483(%rbp)
movb $20, -482(%rbp)
movb $36, -481(%rbp)
movl $4, -476(%rbp)
movb $88, -464(%rbp)
movb $9, -463(%rbp)
movb $4, -462(%rbp)
movb $36, -461(%rbp)
movl $4, -448(%rbp)
movb $88, -436(%rbp)
movb $49, -435(%rbp)
movb $4, -434(%rbp)
movb $36, -433(%rbp)
movl $4, -420(%rbp)
movb $88, -408(%rbp)
movb $33, -407(%rbp)
movb $4, -406(%rbp)
movb $36, -405(%rbp)
movl $4, -392(%rbp)
movb $88, -380(%rbp)
movb $-9, -379(%rbp)
movb $-40, -378(%rbp)
movb $80, -377(%rbp)
movl $4, -364(%rbp)
movb $88, -352(%rbp)
movb $90, -351(%rbp)
movb $57, -350(%rbp)
movb $-62, -349(%rbp)
movl $6, -336(%rbp)
movl $2, -328(%rbp)
movb $15, -324(%rbp)
movb $-124, -323(%rbp)
movl $6, -308(%rbp)
movl $2, -300(%rbp)
movb $15, -296(%rbp)
movb $-123, -295(%rbp)
movl $6, -280(%rbp)
movl $2, -272(%rbp)
movb $15, -268(%rbp)
movb $-113, -267(%rbp)
movl $6, -252(%rbp)
movl $2, -244(%rbp)
movb $15, -240(%rbp)
movb $-116, -239(%rbp)
movl $6, -224(%rbp)
movl $2, -216(%rbp)
movb $15, -212(%rbp)
movb $-115, -211(%rbp)
movl $6, -196(%rbp)
movl $2, -188(%rbp)
movb $15, -184(%rbp)
movb $-114, -183(%rbp)
movl $5, -168(%rbp)
movl $1, -160(%rbp)
movb $-24, -156(%rbp)
movl $5, -140(%rbp)
movl $1, -132(%rbp)
movb $-23, -128(%rbp)
movl $1, -112(%rbp)
movb $-61, -100(%rbp)
movl $1, -84(%rbp)
movb $-61, -72(%rbp)
movq -904(%rbp), %rdx
movslq (%rdx),%rax
imulq $28, %rax, %rax
movl -896(%rbp,%rax), %eax
movl %eax, 8(%rdx)
movl $0, 12(%rdx)
movl %eax, %esi
cmpl $29, (%rdx)
je L2
movq %rdx, %rcx
.align 4,0x90
L4:
movl 16(%rcx), %eax
movslq %eax,%rdx
imulq $28, %rdx, %rdx
movl -896(%rbp,%rdx), %edx
movl %edx, 24(%rcx)
movl %esi, 28(%rcx)
addl %edx, %esi
addq $16, %rcx
cmpl $29, %eax
jne L4
L2:
movslq %esi,%rsi
xorl %r9d, %r9d
movl $-1, %r8d
movl $4098, %ecx
movl $7, %edx
xorl %edi, %edi
call _mmap
movq %rax, %r15
testq %rax, %rax
je L5
movq -904(%rbp), %r12
addq $16, %r12
movq %rax, %r14
jmp L7
.align 4,0x90
L17:
movslq %edx,%rax
addq %rax, %r14
L7:
movslq -16(%r12),%rax
imulq $28, %rax, %rax
movq -912(%rbp), %r13
addq %rax, %r13
movslq -8(%r12),%rdx
leaq 12(%r13), %rsi
movq %r14, %rdi
call _memcpy
movl 4(%r13), %eax
testl %eax, %eax
je L8
movslq %eax,%rdx
movl -12(%r12), %eax
movl %eax, (%rdx,%r14)
L8:
movl 8(%r13), %eax
testl %eax, %eax
je L10
cltq
movslq -12(%r12),%rdx
salq $4, %rdx
movq -904(%rbp), %rcx
movl 12(%rdx,%rcx), %edx
subl -4(%r12), %edx
subl (%r13), %edx
movl %edx, (%rax,%r14)
L10:
movl -8(%r12), %edx
movl -16(%r12), %eax
addq $16, %r12
cmpl $29, %eax
jne L17
xorl %eax, %eax
call *%r15
movl %ebx, %esi
leaq LC0(%rip), %rdi
xorl %eax, %eax
call _printf
L5:
xorl %eax, %eax
addq $872, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
leave
ret
LFE14:
.align 4,0x90
.globl _main
_main:
LFB15:
pushq %rbp
LCFI8:
movq %rsp, %rbp
LCFI9:
pushq %rbx
LCFI10:
subq $504, %rsp
LCFI11:
leaq -512(%rbp), %rbx
movl $496, %edx
xorl %esi, %esi
movq %rbx, %rdi
call _memset
movl $1, -512(%rbp)
movl $6, -496(%rbp)
movl $1, -480(%rbp)
movl $7, -464(%rbp)
movl $27, -448(%rbp)
movl $26, -444(%rbp)
movl $1, -432(%rbp)
movl $8, -416(%rbp)
movl $27, -400(%rbp)
movl $18, -396(%rbp)
movl $2, -384(%rbp)
movl $3, -368(%rbp)
movl $4, -352(%rbp)
movl $12, -336(%rbp)
movl $10, -320(%rbp)
movl $6, -304(%rbp)
movl $4, -288(%rbp)
movl $1, -272(%rbp)
movl $1, -268(%rbp)
movl $10, -256(%rbp)
movl $8, -240(%rbp)
movl $4, -224(%rbp)
movl $1, -208(%rbp)
movl $10000, -204(%rbp)
movl $19, -192(%rbp)
movl $23, -176(%rbp)
movl $8, -172(%rbp)
movl $3, -160(%rbp)
movl $1, -144(%rbp)
movl $1, -140(%rbp)
movl $10, -128(%rbp)
movl $7, -112(%rbp)
movl $3, -96(%rbp)
movl $1, -80(%rbp)
movl $10000, -76(%rbp)
movl $19, -64(%rbp)
movl $23, -48(%rbp)
movl $5, -44(%rbp)
movl $29, -32(%rbp)
movq %rbx, %rdi
call _vm
xorl %eax, %eax
addq $504, %rsp
popq %rbx
leave
ret
LFE15:
.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
.set L$set$0,LECIE1-LSCIE1
.long L$set$0
LSCIE1:
.long 0x0
.byte 0x1
.ascii "zR\0"
.byte 0x1
.byte 0x78
.byte 0x10
.byte 0x1
.byte 0x10
.byte 0xc
.byte 0x7
.byte 0x8
.byte 0x90
.byte 0x1
.align 3
LECIE1:
.globl _vm.eh
_vm.eh:
LSFDE1:
.set L$set$1,LEFDE1-LASFDE1
.long L$set$1
LASFDE1:
.long LASFDE1-EH_frame1
.quad LFB14-.
.set L$set$2,LFE14-LFB14
.quad L$set$2
.byte 0x0
.byte 0x4
.set L$set$3,LCFI0-LFB14
.long L$set$3
.byte 0xe
.byte 0x10
.byte 0x86
.byte 0x2
.byte 0x4
.set L$set$4,LCFI1-LCFI0
.long L$set$4
.byte 0xd
.byte 0x6
.byte 0x4
.set L$set$5,LCFI7-LCFI1
.long L$set$5
.byte 0x83
.byte 0x7
.byte 0x8c
.byte 0x6
.byte 0x8d
.byte 0x5
.byte 0x8e
.byte 0x4
.byte 0x8f
.byte 0x3
.align 3
LEFDE1:
.globl _main.eh
_main.eh:
LSFDE3:
.set L$set$6,LEFDE3-LASFDE3
.long L$set$6
LASFDE3:
.long LASFDE3-EH_frame1
.quad LFB15-.
.set L$set$7,LFE15-LFB15
.quad L$set$7
.byte 0x0
.byte 0x4
.set L$set$8,LCFI8-LFB15
.long L$set$8
.byte 0xe
.byte 0x10
.byte 0x86
.byte 0x2
.byte 0x4
.set L$set$9,LCFI9-LCFI8
.long L$set$9
.byte 0xd
.byte 0x6
.byte 0x4
.set L$set$10,LCFI11-LCFI9
.long L$set$10
.byte 0x83
.byte 0x3
.align 3
LEFDE3:
.subsections_via_symbols
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment