All pastes #963949 Raw Edit

Miscellany

public text v1 · immutable
#963949 ·published 2008-03-30 22:38 UTC
rendered paste body

-(id)[Registration generateHashForName:]
	+0	0001ff54  55					  pushl		  %ebp
	+1	0001ff55  89e5					  movl		  %esp,%ebp
	+3	0001ff57  57					  pushl		  %edi
	+4	0001ff58  56					  pushl		  %esi
	+5	0001ff59  53					  pushl		  %ebx
	+6	0001ff5a  83ec3c				  subl		  $0x3c,%esp
	+9	0001ff5d  8b5d10				  movl		  0x10(%ebp),%ebx
   +12	0001ff60  a1787d0400			  movl		  0x00047d78,%eax			    hash
   +17	0001ff65  89442404				  movl		  %eax,0x04(%esp)
   +21	0001ff69  891c24				  movl		  %ebx,(%esp)
   +24	0001ff6c  e818610200			  calll		  0x00046089				    -[(%esp,1) hash]
   +29	0001ff71  89c6					  movl		  %eax,%esi			// Store name hash NSUInt (0x55b7d2d5)
   +31	0001ff73  a1d4730400			  movl		  0x000473d4,%eax			    length
   +36	0001ff78  89442404				  movl		  %eax,0x04(%esp)
   +40	0001ff7c  891c24				  movl		  %ebx,(%esp)
   +43	0001ff7f  e805610200			  calll		  0x00046089				    -[(%esp,1) length]
   +48	0001ff84  8945e4				  movl		  %eax,0xe4(%ebp)	// Store name length NSUInt (0x4)
   +51	0001ff87  b9292e55d0			  movl		  $0xd0552e29,%ecx	// Load constant 0xd0552e29 into ecx
   +56	0001ff8c  89f0					  movl		  %esi,%eax			// Load name hash into eax
   +58	0001ff8e  f7e1					  mull		  %ecx				// Multiply eax * ecx into edx:eax
   +60	0001ff90  89c1					  movl		  %eax,%ecx			// Move low-order bytes to ecx
   +62	0001ff92  6bc62c				  imull		  $0x2c,%esi,%eax	// Multiply 0x2c * esi into eax (low-order bytes)
   +65	0001ff95  8d1c10				  leal		  (%eax,%edx),%ebx	// loads pointer to 0x0 into ebx
   +68	0001ff98  8b75e4				  movl		  0xe4(%ebp),%esi	// Move name length to esi
   +71	0001ff9b  b800e87648			  movl		  $0x4876e800,%eax	// Load constant 0x4876e800 into eax
   +76	0001ffa0  f7e6					  mull		  %esi				// Multiply eax * esi into edx:eax
   +78	0001ffa2  6bf617				  imull		  $0x17,%esi,%esi	// Multiply 0x17 * esi into esi (low-order bytes)
   +81	0001ffa5  8d1416				  leal		  (%esi,%edx),%edx	// Load esi + edx into edx
   +84	0001ffa8  01c1					  addl		  %eax,%ecx			// Add eax + ecx into ecx
   +86	0001ffaa  11d3					  adcl		  %edx,%ebx			// Add edx + ebx into ebx ?? Possibly ??
   +88	0001ffac  81c100407a10			  addl		  $0x107a4000,%ecx	// Add 0x107a4000 + ecx into ecx (low-order bytes)
   +94	0001ffb2  81d3f35a0000			  adcl		  $0x00005af3,%ebx	// Add 0x00005af3 + ebx into ebx ?? Possibly ??
  +100	0001ffb8  894c240c				  movl		  %ecx,0x0c(%esp) 	//
  +104	0001ffbc  895c2410				  movl		  %ebx,0x10(%esp)	//
  +108	0001ffc0  c7442408b8480400		  movl		  $0x000448b8,0x08(%esp)	    %.12qi
  +116	0001ffc8  a150740400			  movl		  0x00047450,%eax			    stringWithFormat:
  +121	0001ffcd  89442404				  movl		  %eax,0x04(%esp)
  +125	0001ffd1  a1e4810400			  movl		  0x000481e4,%eax			    NSString
  +130	0001ffd6  890424				  movl		  %eax,(%esp)
  +133	0001ffd9  e8ab600200			  calll		  0x00046089				    +[NSString stringWithFormat:]
  +138	0001ffde  c744240801000000		  movl		  $0x00000001,0x08(%esp)
  +146	0001ffe6  c744240c0c000000		  movl		  $0x0000000c,0x0c(%esp)
  +154	0001ffee  8b1540740400			  movl		  0x00047440,%edx			    substringWithRange:
  +160	0001fff4  89542404				  movl		  %edx,0x04(%esp)
  +164	0001fff8  890424				  movl		  %eax,(%esp)
  +167	0001fffb  e889600200			  calll		  0x00046089				    -[(%esp,1) substringWithRange:]
  +172	00020000  83c43c				  addl		  $0x3c,%esp
  +175	00020003  5b					  popl		  %ebx
  +176	00020004  5e					  popl		  %esi
  +177	00020005  5f					  popl		  %edi
  +178	00020006  5d					  popl		  %ebp
  +179	00020007  c3					  ret