0000b987 adcl $0x0,0xfffffe3c(%ebp) 0000b98e leal 0x01(%esi),%eax 0000b991 movl 0x08(%ebp),%ebx 0000b994 cmpl %eax,0x000000b0(%ebx) 0000b99a jlel 0x0000b4ad ; this chunk of code; b9a0 is also a loop jump target 0000b9a0 movl 0xfffffe38(%ebp),%esi 0000b9a6 movl $0x00000400,(%esp,1) 0000b9ad calll $0x0 ; 5 bytes, relocation; can't move 0000b9b2 movl %eax,%ebx 0000b9b4 testl %eax,%eax 0000b9b6 je 0x0000b9c0 0000b9b8 movl %eax,(%esp,1) 0000b9bb calll $0x0 ; 5 bytes, relocation 0000b9c0 movl (%ebx),%eax 0000b9c2 movl 0x00000114(%eax),%eax 0000b9c8 movl $0x0,0x04(%esp,1) 0000b9d0 movl %ebx,(%esp,1) 0000b9d3 call *%eax 0000b9d5 movl 0x08(%ebp),%ecx 0000b9d8 movl %ebx,0x000000b4(%ecx,%esi,4) 0000b9df movl %esi,%edx ;; code I need executed: movl 0x08(%ebp),%eax ; 3 bytes movl 0x00000480(%eax),%eax ; 6 bytes call *%eax ; 2 bytes movl %eax,%ebx ; 2 bytes