4151b7:	e9 05 00 00 00       	jmp    0x4151c1
4151bc:	e8 9f f7 ff ff       	call   0x414960
4151c1:	c1 cf 03             	ror    $0x3,%edi
4151c4:	8b 44 24 14          	mov    0x14(%esp),%eax
4151c8:	c1 ce 03             	ror    $0x3,%esi
4151cb:	89 38                	mov    %edi,(%eax)
4151cd:	89 70 04             	mov    %esi,0x4(%eax)
4151d0:	5d                   	pop    %ebp
4151d1:	5b                   	pop    %ebx
4151d2:	5f                   	pop    %edi
4151d3:	5e                   	pop    %esi
4151d4:	c3                   	ret
4151d5:	90                   	nop
4151d6:	90                   	nop
4151d7:	90                   	nop
4151d8:	90                   	nop
4151d9:	90                   	nop
4151da:	90                   	nop
4151db:	90                   	nop
4151dc:	90                   	nop
4151dd:	90                   	nop
4151de:	90                   	nop
4151df:	90                   	nop
4151e0:	53                   	push   %ebx
4151e1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4151e5:	55                   	push   %ebp
4151e6:	56                   	push   %esi
4151e7:	57                   	push   %edi
4151e8:	8b 3b                	mov    (%ebx),%edi
4151ea:	8b 73 04             	mov    0x4(%ebx),%esi
4151ed:	83 ec 0c             	sub    $0xc,%esp
4151f0:	c1 c7 04             	rol    $0x4,%edi
4151f3:	89 fa                	mov    %edi,%edx
4151f5:	31 f7                	xor    %esi,%edi
4151f7:	81 e7 f0 f0 f0 f0    	and    $0xf0f0f0f0,%edi
4151fd:	31 fa                	xor    %edi,%edx
4151ff:	31 fe                	xor    %edi,%esi
415201:	c1 c6 14             	rol    $0x14,%esi
415204:	89 f7                	mov    %esi,%edi
415206:	31 d6                	xor    %edx,%esi
415208:	81 e6 0f 00 f0 ff    	and    $0xfff0000f,%esi
41520e:	31 f7                	xor    %esi,%edi
415210:	31 f2                	xor    %esi,%edx
415212:	c1 c7 0e             	rol    $0xe,%edi
415215:	89 fe                	mov    %edi,%esi
415217:	31 d7                	xor    %edx,%edi
415219:	81 e7 33 33 33 33    	and    $0x33333333,%edi
41521f:	31 fe                	xor    %edi,%esi
415221:	31 fa                	xor    %edi,%edx
415223:	c1 c2 16             	rol    $0x16,%edx
415226:	89 d7                	mov    %edx,%edi
415228:	31 f2                	xor    %esi,%edx
41522a:	81 e2 fc 03 fc 03    	and    $0x3fc03fc,%edx
415230:	31 d7                	xor    %edx,%edi
415232:	31 d6                	xor    %edx,%esi
415234:	c1 c7 09             	rol    $0x9,%edi
415237:	89 fa                	mov    %edi,%edx
415239:	31 f7                	xor    %esi,%edi
41523b:	81 e7 aa aa aa aa    	and    $0xaaaaaaaa,%edi
415241:	31 fa                	xor    %edi,%edx
415243:	31 fe                	xor    %edi,%esi
415245:	c1 ca 03             	ror    $0x3,%edx
415248:	c1 ce 02             	ror    $0x2,%esi
41524b:	89 73 04             	mov    %esi,0x4(%ebx)
41524e:	8b 44 24 24          	mov    0x24(%esp),%eax
415252:	89 13                	mov    %edx,(%ebx)
415254:	8b 7c 24 28          	mov    0x28(%esp),%edi
415258:	8b 74 24 2c          	mov    0x2c(%esp),%esi
41525c:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
415263:	00
415264:	89 44 24 04          	mov    %eax,0x4(%esp)
415268:	89 1c 24             	mov    %ebx,(%esp)
41526b:	e8 10 ff ff ff       	call   0x415180
415270:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
415277:	00
415278:	89 7c 24 04          	mov    %edi,0x4(%esp)
41527c:	89 1c 24             	mov    %ebx,(%esp)
41527f:	e8 fc fe ff ff       	call   0x415180
415284:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
41528b:	00
41528c:	89 74 24 04          	mov    %esi,0x4(%esp)
415290:	89 1c 24             	mov    %ebx,(%esp)
415293:	e8 e8 fe ff ff       	call   0x415180
415298:	83 c4 0c             	add    $0xc,%esp
41529b:	8b 3b                	mov    (%ebx),%edi
41529d:	8b 73 04             	mov    0x4(%ebx),%esi
4152a0:	c1 c6 02             	rol    $0x2,%esi
4152a3:	c1 c7 03             	rol    $0x3,%edi
4152a6:	89 f8                	mov    %edi,%eax
4152a8:	31 f7                	xor    %esi,%edi
4152aa:	81 e7 aa aa aa aa    	and    $0xaaaaaaaa,%edi
4152b0:	31 f8                	xor    %edi,%eax
4152b2:	31 fe                	xor    %edi,%esi
4152b4:	c1 c0 17             	rol    $0x17,%eax
4152b7:	89 c7                	mov    %eax,%edi
4152b9:	31 f0                	xor    %esi,%eax
4152bb:	25 fc 03 fc 03       	and    $0x3fc03fc,%eax
4152c0:	31 c7                	xor    %eax,%edi
4152c2:	31 c6                	xor    %eax,%esi
4152c4:	c1 c7 0a             	rol    $0xa,%edi
4152c7:	89 f8                	mov    %edi,%eax
4152c9:	31 f7                	xor    %esi,%edi
4152cb:	81 e7 33 33 33 33    	and    $0x33333333,%edi
4152d1:	31 f8                	xor    %edi,%eax
4152d3:	31 fe                	xor    %edi,%esi
4152d5:	c1 c6 12             	rol    $0x12,%esi
4152d8:	89 f7                	mov    %esi,%edi
4152da:	31 c6                	xor    %eax,%esi
4152dc:	81 e6 0f 00 f0 ff    	and    $0xfff0000f,%esi
4152e2:	31 f7                	xor    %esi,%edi
4152e4:	31 f0                	xor    %esi,%eax
4152e6:	c1 c7 0c             	rol    $0xc,%edi
4152e9:	89 fe                	mov    %edi,%esi
4152eb:	31 c7                	xor    %eax,%edi
4152ed:	81 e7 f0 f0 f0 f0    	and    $0xf0f0f0f0,%edi
4152f3:	31 fe                	xor    %edi,%esi
4152f5:	31 f8                	xor    %edi,%eax
4152f7:	c1 c8 04             	ror    $0x4,%eax
4152fa:	89 03                	mov    %eax,(%ebx)
4152fc:	89 73 04             	mov    %esi,0x4(%ebx)
4152ff:	5f                   	pop    %edi
415300:	5e                   	pop    %esi
415301:	5d                   	pop    %ebp
415302:	5b                   	pop    %ebx
415303:	c3                   	ret
415304:	90                   	nop
415305:	90                   	nop
415306:	90                   	nop
415307:	90                   	nop
415308:	90                   	nop
415309:	90                   	nop
41530a:	90                   	nop
41530b:	90                   	nop
41530c:	90                   	nop
41530d:	90                   	nop
41530e:	90                   	nop
41530f:	90                   	nop
415310:	53                   	push   %ebx
415311:	8b 5c 24 08          	mov    0x8(%esp),%ebx
415315:	55                   	push   %ebp
415316:	56                   	push   %esi
415317:	57                   	push   %edi
415318:	8b 3b                	mov    (%ebx),%edi
41531a:	8b 73 04             	mov    0x4(%ebx),%esi
41531d:	83 ec 0c             	sub    $0xc,%esp
415320:	c1 c7 04             	rol    $0x4,%edi
415323:	89 fa                	mov    %edi,%edx
415325:	31 f7                	xor    %esi,%edi
415327:	81 e7 f0 f0 f0 f0    	and    $0xf0f0f0f0,%edi
41532d:	31 fa                	xor    %edi,%edx
41532f:	31 fe                	xor    %edi,%esi
415331:	c1 c6 14             	rol    $0x14,%esi
415334:	89 f7                	mov    %esi,%edi
415336:	31 d6                	xor    %edx,%esi
415338:	81 e6 0f 00 f0 ff    	and    $0xfff0000f,%esi
41533e:	31 f7                	xor    %esi,%edi
415340:	31 f2                	xor    %esi,%edx
415342:	c1 c7 0e             	rol    $0xe,%edi
415345:	89 fe                	mov    %edi,%esi
415347:	31 d7                	xor    %edx,%edi
415349:	81 e7 33 33 33 33    	and    $0x33333333,%edi
41534f:	31 fe                	xor    %edi,%esi
415351:	31 fa                	xor    %edi,%edx
415353:	c1 c2 16             	rol    $0x16,%edx
415356:	89 d7                	mov    %edx,%edi
415358:	31 f2                	xor    %esi,%edx
41535a:	81 e2 fc 03 fc 03    	and    $0x3fc03fc,%edx
415360:	31 d7                	xor    %edx,%edi
415362:	31 d6                	xor    %edx,%esi
415364:	c1 c7 09             	rol    $0x9,%edi
415367:	89 fa                	mov    %edi,%edx
415369:	31 f7                	xor    %esi,%edi
41536b:	81 e7 aa aa aa aa    	and    $0xaaaaaaaa,%edi
415371:	31 fa                	xor    %edi,%edx
415373:	31 fe                	xor    %edi,%esi
415375:	c1 ca 03             	ror    $0x3,%edx
415378:	c1 ce 02             	ror    $0x2,%esi
41537b:	89 73 04             	mov    %esi,0x4(%ebx)
41537e:	8b 74 24 24          	mov    0x24(%esp),%esi
415382:	89 13                	mov    %edx,(%ebx)
415384:	8b 7c 24 28          	mov    0x28(%esp),%edi
415388:	8b 44 24 2c          	mov    0x2c(%esp),%eax
41538c:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
415393:	00
415394:	89 44 24 04          	mov    %eax,0x4(%esp)
415398:	89 1c 24             	mov    %ebx,(%esp)
41539b:	e8 e0 fd ff ff       	call   0x415180
4153a0:	c7 44 24 08 01 00 00 	movl   $0x1,0x8(%esp)
4153a7:	00
4153a8:	89 7c 24 04          	mov    %edi,0x4(%esp)
4153ac:	89 1c 24             	mov    %ebx,(%esp)
4153af:	e8 cc fd ff ff       	call   0x415180
4153b4:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4153bb:	00
4153bc:	89 74 24 04          	mov    %esi,0x4(%esp)
4153c0:	89 1c 24             	mov    %ebx,(%esp)
4153c3:	e8 b8 fd ff ff       	call   0x415180
4153c8:	83 c4 0c             	add    $0xc,%esp
4153cb:	8b 3b                	mov    (%ebx),%edi
4153cd:	8b 73 04             	mov    0x4(%ebx),%esi
4153d0:	c1 c6 02             	rol    $0x2,%esi
4153d3:	c1 c7 03             	rol    $0x3,%edi
4153d6:	89 f8                	mov    %edi,%eax
4153d8:	31 f7                	xor    %esi,%edi
4153da:	81 e7 aa aa aa aa    	and    $0xaaaaaaaa,%edi
4153e0:	31 f8                	xor    %edi,%eax
4153e2:	31 fe                	xor    %edi,%esi
4153e4:	c1 c0 17             	rol    $0x17,%eax
4153e7:	89 c7                	mov    %eax,%edi
4153e9:	31 f0                	xor    %esi,%eax
4153eb:	25 fc 03 fc 03       	and    $0x3fc03fc,%eax
4153f0:	31 c7                	xor    %eax,%edi
4153f2:	31 c6                	xor    %eax,%esi
4153f4:	c1 c7 0a             	rol    $0xa,%edi
4153f7:	89 f8                	mov    %edi,%eax
4153f9:	31 f7                	xor    %esi,%edi
4153fb:	81 e7 33 33 33 33    	and    $0x33333333,%edi
415401:	31 f8                	xor    %edi,%eax
415403:	31 fe                	xor    %edi,%esi
415405:	c1 c6 12             	rol    $0x12,%esi
415408:	89 f7                	mov    %esi,%edi
41540a:	31 c6                	xor    %eax,%esi
41540c:	81 e6 0f 00 f0 ff    	and    $0xfff0000f,%esi
415412:	31 f7                	xor    %esi,%edi
415414:	31 f0                	xor    %esi,%eax
415416:	c1 c7 0c             	rol    $0xc,%edi
415419:	89 fe                	mov    %edi,%esi
41541b:	31 c7                	xor    %eax,%edi
41541d:	81 e7 f0 f0 f0 f0    	and    $0xf0f0f0f0,%edi
415423:	31 fe                	xor    %edi,%esi
415425:	31 f8                	xor    %edi,%eax
415427:	c1 c8 04             	ror    $0x4,%eax
41542a:	89 03                	mov    %eax,(%ebx)
41542c:	89 73 04             	mov    %esi,0x4(%ebx)
41542f:	5f                   	pop    %edi
415430:	5e                   	pop    %esi
415431:	5d                   	pop    %ebp
415432:	5b                   	pop    %ebx
415433:	c3                   	ret
415434:	90                   	nop
415435:	90                   	nop
415436:	90                   	nop
415437:	90                   	nop
415438:	90                   	nop
415439:	90                   	nop
41543a:	90                   	nop
41543b:	90                   	nop
41543c:	90                   	nop
41543d:	90                   	nop
41543e:	90                   	nop
41543f:	90                   	nop
415440:	55                   	push   %ebp
415441:	53                   	push   %ebx
415442:	56                   	push   %esi
415443:	57                   	push   %edi
415444:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
415448:	8b 5c 24 24          	mov    0x24(%esp),%ebx
41544c:	8b 33                	mov    (%ebx),%esi
41544e:	8b 7b 04             	mov    0x4(%ebx),%edi
415451:	57                   	push   %edi
415452:	56                   	push   %esi
415453:	57                   	push   %edi
415454:	56                   	push   %esi
415455:	89 e3                	mov    %esp,%ebx
415457:	8b 74 24 24          	mov    0x24(%esp),%esi
41545b:	8b 7c 24 28          	mov    0x28(%esp),%edi
41545f:	8b 4c 24 38          	mov    0x38(%esp),%ecx
415463:	51                   	push   %ecx
415464:	8b 44 24 34          	mov    0x34(%esp),%eax
415468:	50                   	push   %eax
415469:	53                   	push   %ebx
41546a:	83 f9 00             	cmp    $0x0,%ecx
41546d:	0f 84 a8 00 00 00    	je     0x41551b
415473:	83 e5 f8             	and    $0xfffffff8,%ebp
415476:	8b 44 24 0c          	mov    0xc(%esp),%eax
41547a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
41547e:	0f 84 32 00 00 00    	je     0x4154b6
415484:	8b 0e                	mov    (%esi),%ecx
415486:	8b 56 04             	mov    0x4(%esi),%edx
415489:	31 c8                	xor    %ecx,%eax
41548b:	31 d3                	xor    %edx,%ebx
41548d:	89 44 24 0c          	mov    %eax,0xc(%esp)
415491:	89 5c 24 10          	mov    %ebx,0x10(%esp)
415495:	e8 e6 fb ff ff       	call   0x415080
41549a:	8b 44 24 0c          	mov    0xc(%esp),%eax
41549e:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4154a2:	89 07                	mov    %eax,(%edi)
4154a4:	89 5f 04             	mov    %ebx,0x4(%edi)
4154a7:	83 c6 08             	add    $0x8,%esi
4154aa:	83 c7 08             	add    $0x8,%edi
4154ad:	83 ed 08             	sub    $0x8,%ebp
4154b0:	0f 85 ce ff ff ff    	jne    0x415484
4154b6:	8b 6c 24 38          	mov    0x38(%esp),%ebp
4154ba:	83 e5 07             	and    $0x7,%ebp
4154bd:	0f 84 11 01 00 00    	je     0x4155d4
4154c3:	e8 00 00 00 00       	call   0x4154c8
4154c8:	5a                   	pop    %edx
4154c9:	8d 8a 38 01 00 00    	lea    0x138(%edx),%ecx
4154cf:	8b 2c a9             	mov    (%ecx,%ebp,4),%ebp
4154d2:	01 d5                	add    %edx,%ebp
4154d4:	31 c9                	xor    %ecx,%ecx
4154d6:	31 d2                	xor    %edx,%edx
4154d8:	ff e5                	jmp    *%ebp
4154da:	8a 76 06             	mov    0x6(%esi),%dh
4154dd:	c1 e2 08             	shl    $0x8,%edx
4154e0:	8a 76 05             	mov    0x5(%esi),%dh
4154e3:	8a 56 04             	mov    0x4(%esi),%dl
4154e6:	8b 0e                	mov    (%esi),%ecx
4154e8:	e9 0b 00 00 00       	jmp    0x4154f8
4154ed:	8a 6e 02             	mov    0x2(%esi),%ch
4154f0:	c1 e1 08             	shl    $0x8,%ecx
4154f3:	8a 6e 01             	mov    0x1(%esi),%ch
4154f6:	8a 0e                	mov    (%esi),%cl
4154f8:	31 c8                	xor    %ecx,%eax
4154fa:	31 d3                	xor    %edx,%ebx
4154fc:	89 44 24 0c          	mov    %eax,0xc(%esp)
415500:	89 5c 24 10          	mov    %ebx,0x10(%esp)
415504:	e8 77 fb ff ff       	call   0x415080
415509:	8b 44 24 0c          	mov    0xc(%esp),%eax
41550d:	8b 5c 24 10          	mov    0x10(%esp),%ebx
415511:	89 07                	mov    %eax,(%edi)
415513:	89 5f 04             	mov    %ebx,0x4(%edi)
415516:	e9 b9 00 00 00       	jmp    0x4155d4
41551b:	83 e5 f8             	and    $0xfffffff8,%ebp
41551e:	8b 44 24 14          	mov    0x14(%esp),%eax
415522:	8b 5c 24 18          	mov    0x18(%esp),%ebx
415526:	0f 84 47 00 00 00    	je     0x415573
41552c:	8b 06                	mov    (%esi),%eax
41552e:	8b 5e 04             	mov    0x4(%esi),%ebx
415531:	89 44 24 0c          	mov    %eax,0xc(%esp)
415535:	89 5c 24 10          	mov    %ebx,0x10(%esp)
415539:	e8 42 fb ff ff       	call   0x415080
41553e:	8b 44 24 0c          	mov    0xc(%esp),%eax
415542:	8b 5c 24 10          	mov    0x10(%esp),%ebx
415546:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41554a:	8b 54 24 18          	mov    0x18(%esp),%edx
41554e:	31 c1                	xor    %eax,%ecx
415550:	31 da                	xor    %ebx,%edx
415552:	8b 06                	mov    (%esi),%eax
415554:	8b 5e 04             	mov    0x4(%esi),%ebx
415557:	89 0f                	mov    %ecx,(%edi)
415559:	89 57 04             	mov    %edx,0x4(%edi)
41555c:	89 44 24 14          	mov    %eax,0x14(%esp)
415560:	89 5c 24 18          	mov    %ebx,0x18(%esp)
415564:	83 c6 08             	add    $0x8,%esi
415567:	83 c7 08             	add    $0x8,%edi
41556a:	83 ed 08             	sub    $0x8,%ebp
41556d:	0f 85 b9 ff ff ff    	jne    0x41552c
415573:	8b 6c 24 38          	mov    0x38(%esp),%ebp
415577:	83 e5 07             	and    $0x7,%ebp