61723a:	75 0b                	jne    0x617247
61723c:	83 c0 fc             	add    $0xfffffffc,%eax
61723f:	89 45 0c             	mov    %eax,0xc(%ebp)
617242:	3b 45 10             	cmp    0x10(%ebp),%eax
617245:	75 f0                	jne    0x617237
617247:	8b 4d 08             	mov    0x8(%ebp),%ecx
61724a:	89 01                	mov    %eax,(%ecx)
61724c:	8b c1                	mov    %ecx,%eax
61724e:	5d                   	pop    %ebp
61724f:	c3                   	ret
617250:	55                   	push   %ebp
617251:	8b ec                	mov    %esp,%ebp
617253:	51                   	push   %ecx
617254:	8b 4d 10             	mov    0x10(%ebp),%ecx
617257:	8b c1                	mov    %ecx,%eax
617259:	53                   	push   %ebx
61725a:	8b 5d 08             	mov    0x8(%ebp),%ebx
61725d:	2b c3                	sub    %ebx,%eax
61725f:	c1 f8 03             	sar    $0x3,%eax
617262:	83 f8 28             	cmp    $0x28,%eax
617265:	7e 6b                	jle    0x6172d2
617267:	40                   	inc    %eax
617268:	99                   	cltd
617269:	83 e2 07             	and    $0x7,%edx
61726c:	03 c2                	add    %edx,%eax
61726e:	56                   	push   %esi
61726f:	c1 f8 03             	sar    $0x3,%eax
617272:	57                   	push   %edi
617273:	ff 75 14             	push   0x14(%ebp)
617276:	8b c8                	mov    %eax,%ecx
617278:	8b f8                	mov    %eax,%edi
61727a:	c1 e1 04             	shl    $0x4,%ecx
61727d:	c1 e7 03             	shl    $0x3,%edi
617280:	89 4d fc             	mov    %ecx,-0x4(%ebp)
617283:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
617286:	50                   	push   %eax
617287:	8d 14 1f             	lea    (%edi,%ebx,1),%edx
61728a:	52                   	push   %edx
61728b:	53                   	push   %ebx
61728c:	e8 3e 01 00 00       	call   0x6173cf
617291:	8b 5d 0c             	mov    0xc(%ebp),%ebx
617294:	ff 75 14             	push   0x14(%ebp)
617297:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
61729a:	50                   	push   %eax
61729b:	8b c3                	mov    %ebx,%eax
61729d:	2b c7                	sub    %edi,%eax
61729f:	53                   	push   %ebx
6172a0:	50                   	push   %eax
6172a1:	e8 29 01 00 00       	call   0x6173cf
6172a6:	8b 45 10             	mov    0x10(%ebp),%eax
6172a9:	8b f0                	mov    %eax,%esi
6172ab:	ff 75 14             	push   0x14(%ebp)
6172ae:	2b f7                	sub    %edi,%esi
6172b0:	50                   	push   %eax
6172b1:	2b 45 fc             	sub    -0x4(%ebp),%eax
6172b4:	56                   	push   %esi
6172b5:	50                   	push   %eax
6172b6:	e8 14 01 00 00       	call   0x6173cf
6172bb:	ff 75 14             	push   0x14(%ebp)
6172be:	8b 45 08             	mov    0x8(%ebp),%eax
6172c1:	56                   	push   %esi
6172c2:	03 c7                	add    %edi,%eax
6172c4:	53                   	push   %ebx
6172c5:	50                   	push   %eax
6172c6:	e8 04 01 00 00       	call   0x6173cf
6172cb:	83 c4 40             	add    $0x40,%esp
6172ce:	5f                   	pop    %edi
6172cf:	5e                   	pop    %esi
6172d0:	eb 10                	jmp    0x6172e2
6172d2:	ff 75 14             	push   0x14(%ebp)
6172d5:	51                   	push   %ecx
6172d6:	ff 75 0c             	push   0xc(%ebp)
6172d9:	53                   	push   %ebx
6172da:	e8 f0 00 00 00       	call   0x6173cf
6172df:	83 c4 10             	add    $0x10,%esp
6172e2:	5b                   	pop    %ebx
6172e3:	8b e5                	mov    %ebp,%esp
6172e5:	5d                   	pop    %ebp
6172e6:	c3                   	ret
6172e7:	55                   	push   %ebp
6172e8:	8b ec                	mov    %esp,%ebp
6172ea:	57                   	push   %edi
6172eb:	8b 7d 08             	mov    0x8(%ebp),%edi
6172ee:	3b 7d 0c             	cmp    0xc(%ebp),%edi
6172f1:	74 5f                	je     0x617352
6172f3:	56                   	push   %esi
6172f4:	8d 77 08             	lea    0x8(%edi),%esi
6172f7:	3b 75 0c             	cmp    0xc(%ebp),%esi
6172fa:	74 55                	je     0x617351
6172fc:	53                   	push   %ebx
6172fd:	8b 5e 04             	mov    0x4(%esi),%ebx
617300:	8b d6                	mov    %esi,%edx
617302:	8b 06                	mov    (%esi),%eax
617304:	89 45 08             	mov    %eax,0x8(%ebp)
617307:	3b 5f 04             	cmp    0x4(%edi),%ebx
61730a:	73 18                	jae    0x617324
61730c:	8d 46 08             	lea    0x8(%esi),%eax
61730f:	50                   	push   %eax
617310:	56                   	push   %esi
617311:	57                   	push   %edi
617312:	e8 8b fe ff ff       	call   0x6171a2
617317:	8b 45 08             	mov    0x8(%ebp),%eax
61731a:	83 c4 0c             	add    $0xc,%esp
61731d:	89 07                	mov    %eax,(%edi)
61731f:	89 5f 04             	mov    %ebx,0x4(%edi)
617322:	eb 24                	jmp    0x617348
617324:	8d 4e f8             	lea    -0x8(%esi),%ecx
617327:	3b 5e fc             	cmp    -0x4(%esi),%ebx
61732a:	73 17                	jae    0x617343
61732c:	8b 01                	mov    (%ecx),%eax
61732e:	89 02                	mov    %eax,(%edx)
617330:	8b 41 04             	mov    0x4(%ecx),%eax
617333:	89 42 04             	mov    %eax,0x4(%edx)
617336:	8b d1                	mov    %ecx,%edx
617338:	83 e9 08             	sub    $0x8,%ecx
61733b:	3b 59 04             	cmp    0x4(%ecx),%ebx
61733e:	72 ec                	jb     0x61732c
617340:	8b 45 08             	mov    0x8(%ebp),%eax
617343:	89 02                	mov    %eax,(%edx)
617345:	89 5a 04             	mov    %ebx,0x4(%edx)
617348:	83 c6 08             	add    $0x8,%esi
61734b:	3b 75 0c             	cmp    0xc(%ebp),%esi
61734e:	75 ad                	jne    0x6172fd
617350:	5b                   	pop    %ebx
617351:	5e                   	pop    %esi
617352:	5f                   	pop    %edi
617353:	5d                   	pop    %ebp
617354:	c3                   	ret
617355:	55                   	push   %ebp
617356:	8b ec                	mov    %esp,%ebp
617358:	51                   	push   %ecx
617359:	51                   	push   %ecx
61735a:	53                   	push   %ebx
61735b:	8b 5d 08             	mov    0x8(%ebp),%ebx
61735e:	56                   	push   %esi
61735f:	8b 75 0c             	mov    0xc(%ebp),%esi
617362:	2b f3                	sub    %ebx,%esi
617364:	c1 fe 03             	sar    $0x3,%esi
617367:	83 fe 02             	cmp    $0x2,%esi
61736a:	7c 3d                	jl     0x6173a9
61736c:	8b c6                	mov    %esi,%eax
61736e:	99                   	cltd
61736f:	2b c2                	sub    %edx,%eax
617371:	57                   	push   %edi
617372:	8b f8                	mov    %eax,%edi
617374:	d1 ff                	sar    $1,%edi
617376:	85 ff                	test   %edi,%edi
617378:	7e 2e                	jle    0x6173a8
61737a:	8d 0c fb             	lea    (%ebx,%edi,8),%ecx
61737d:	ff 75 10             	push   0x10(%ebp)
617380:	83 e9 08             	sub    $0x8,%ecx
617383:	4f                   	dec    %edi
617384:	89 4d 0c             	mov    %ecx,0xc(%ebp)
617387:	8b 01                	mov    (%ecx),%eax
617389:	89 45 f8             	mov    %eax,-0x8(%ebp)
61738c:	8b 41 04             	mov    0x4(%ecx),%eax
61738f:	89 45 fc             	mov    %eax,-0x4(%ebp)
617392:	8d 45 f8             	lea    -0x8(%ebp),%eax
617395:	50                   	push   %eax
617396:	56                   	push   %esi
617397:	57                   	push   %edi
617398:	53                   	push   %ebx
617399:	e8 66 02 00 00       	call   0x617604
61739e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
6173a1:	83 c4 14             	add    $0x14,%esp
6173a4:	85 ff                	test   %edi,%edi
6173a6:	7f d5                	jg     0x61737d
6173a8:	5f                   	pop    %edi
6173a9:	5e                   	pop    %esi
6173aa:	5b                   	pop    %ebx
6173ab:	8b e5                	mov    %ebp,%esp
6173ad:	5d                   	pop    %ebp
6173ae:	c3                   	ret
6173af:	55                   	push   %ebp
6173b0:	8b ec                	mov    %esp,%ebp
6173b2:	8b 55 08             	mov    0x8(%ebp),%edx
6173b5:	8b c2                	mov    %edx,%eax
6173b7:	3b 55 0c             	cmp    0xc(%ebp),%edx
6173ba:	74 11                	je     0x6173cd
6173bc:	eb 07                	jmp    0x6173c5
6173be:	8b 08                	mov    (%eax),%ecx
6173c0:	3b 0a                	cmp    (%edx),%ecx
6173c2:	0f 42 c2             	cmovb  %edx,%eax
6173c5:	83 c2 04             	add    $0x4,%edx
6173c8:	3b 55 0c             	cmp    0xc(%ebp),%edx
6173cb:	75 f1                	jne    0x6173be
6173cd:	5d                   	pop    %ebp
6173ce:	c3                   	ret
6173cf:	55                   	push   %ebp
6173d0:	8b ec                	mov    %esp,%ebp
6173d2:	56                   	push   %esi
6173d3:	8b 75 0c             	mov    0xc(%ebp),%esi
6173d6:	57                   	push   %edi
6173d7:	8b 7d 08             	mov    0x8(%ebp),%edi
6173da:	8b 46 04             	mov    0x4(%esi),%eax
6173dd:	3b 47 04             	cmp    0x4(%edi),%eax
6173e0:	73 13                	jae    0x6173f5
6173e2:	8b 0e                	mov    (%esi),%ecx
6173e4:	8b d0                	mov    %eax,%edx
6173e6:	8b 07                	mov    (%edi),%eax
6173e8:	89 06                	mov    %eax,(%esi)
6173ea:	8b 47 04             	mov    0x4(%edi),%eax
6173ed:	89 46 04             	mov    %eax,0x4(%esi)
6173f0:	89 0f                	mov    %ecx,(%edi)
6173f2:	89 57 04             	mov    %edx,0x4(%edi)
6173f5:	8b 4d 10             	mov    0x10(%ebp),%ecx
6173f8:	8b 41 04             	mov    0x4(%ecx),%eax
6173fb:	3b 46 04             	cmp    0x4(%esi),%eax
6173fe:	73 29                	jae    0x617429
617400:	8b 11                	mov    (%ecx),%edx
617402:	53                   	push   %ebx
617403:	8b d8                	mov    %eax,%ebx
617405:	8b 06                	mov    (%esi),%eax
617407:	89 01                	mov    %eax,(%ecx)
617409:	8b 46 04             	mov    0x4(%esi),%eax
61740c:	89 41 04             	mov    %eax,0x4(%ecx)
61740f:	89 16                	mov    %edx,(%esi)
617411:	89 5e 04             	mov    %ebx,0x4(%esi)
617414:	3b 5f 04             	cmp    0x4(%edi),%ebx
617417:	73 0f                	jae    0x617428
617419:	8b 07                	mov    (%edi),%eax
61741b:	89 06                	mov    %eax,(%esi)
61741d:	8b 47 04             	mov    0x4(%edi),%eax
617420:	89 46 04             	mov    %eax,0x4(%esi)
617423:	89 17                	mov    %edx,(%edi)
617425:	89 5f 04             	mov    %ebx,0x4(%edi)
617428:	5b                   	pop    %ebx
617429:	5f                   	pop    %edi
61742a:	5e                   	pop    %esi
61742b:	5d                   	pop    %ebp
61742c:	c3                   	ret
61742d:	55                   	push   %ebp
61742e:	8b ec                	mov    %esp,%ebp
617430:	8b 4d 10             	mov    0x10(%ebp),%ecx
617433:	83 ec 0c             	sub    $0xc,%esp
617436:	8b c1                	mov    %ecx,%eax
617438:	53                   	push   %ebx
617439:	56                   	push   %esi
61743a:	57                   	push   %edi
61743b:	8b 7d 0c             	mov    0xc(%ebp),%edi
61743e:	2b c7                	sub    %edi,%eax
617440:	ff 75 14             	push   0x14(%ebp)
617443:	c1 f8 03             	sar    $0x3,%eax
617446:	99                   	cltd
617447:	2b c2                	sub    %edx,%eax
617449:	d1 f8                	sar    $1,%eax
61744b:	8d 1c c7             	lea    (%edi,%eax,8),%ebx
61744e:	8d 41 f8             	lea    -0x8(%ecx),%eax
617451:	50                   	push   %eax
617452:	53                   	push   %ebx
617453:	57                   	push   %edi
617454:	e8 f7 fd ff ff       	call   0x617250
617459:	83 c4 10             	add    $0x10,%esp
61745c:	8d 73 08             	lea    0x8(%ebx),%esi
61745f:	eb 10                	jmp    0x617471
617461:	8b 43 04             	mov    0x4(%ebx),%eax
617464:	39 43 fc             	cmp    %eax,-0x4(%ebx)
617467:	72 0c                	jb     0x617475
617469:	3b 43 fc             	cmp    -0x4(%ebx),%eax
61746c:	72 07                	jb     0x617475
61746e:	83 eb 08             	sub    $0x8,%ebx
617471:	3b fb                	cmp    %ebx,%edi
617473:	72 ec                	jb     0x617461
617475:	8b 4d 10             	mov    0x10(%ebp),%ecx
617478:	3b f1                	cmp    %ecx,%esi
61747a:	73 14                	jae    0x617490
61747c:	8b 43 04             	mov    0x4(%ebx),%eax
61747f:	39 46 04             	cmp    %eax,0x4(%esi)
617482:	72 0c                	jb     0x617490
617484:	3b 46 04             	cmp    0x4(%esi),%eax
617487:	72 07                	jb     0x617490
617489:	83 c6 08             	add    $0x8,%esi
61748c:	3b f1                	cmp    %ecx,%esi
61748e:	72 ef                	jb     0x61747f
617490:	8b d6                	mov    %esi,%edx
617492:	8b fb                	mov    %ebx,%edi
617494:	89 55 fc             	mov    %edx,-0x4(%ebp)
617497:	89 7d f8             	mov    %edi,-0x8(%ebp)
61749a:	3b d1                	cmp    %ecx,%edx
61749c:	73 4b                	jae    0x6174e9
61749e:	8d 7e f8             	lea    -0x8(%esi),%edi
6174a1:	8b 42 04             	mov    0x4(%edx),%eax
6174a4:	39 43 04             	cmp    %eax,0x4(%ebx)
6174a7:	72 33                	jb     0x6174dc
6174a9:	3b 43 04             	cmp    0x4(%ebx),%eax
6174ac:	72 38                	jb     0x6174e6
6174ae:	8b c6                	mov    %esi,%eax
6174b0:	83 c7 08             	add    $0x8,%edi
6174b3:	83 c6 08             	add    $0x8,%esi
6174b6:	3b c2                	cmp    %edx,%eax
6174b8:	74 22                	je     0x6174dc
6174ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
6174bd:	8b 0f                	mov    (%edi),%ecx
6174bf:	8b 57 04             	mov    0x4(%edi),%edx
6174c2:	8b 00                	mov    (%eax),%eax
6174c4:	89 07                	mov    %eax,(%edi)
6174c6:	8b 45 fc             	mov    -0x4(%ebp),%eax
6174c9:	8b 40 04             	mov    0x4(%eax),%eax
6174cc:	89 47 04             	mov    %eax,0x4(%edi)
6174cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
6174d2:	89 08                	mov    %ecx,(%eax)
6174d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
6174d7:	89 50 04             	mov    %edx,0x4(%eax)
6174da:	8b d0                	mov    %eax,%edx
6174dc:	83 c2 08             	add    $0x8,%edx
6174df:	89 55 fc             	mov    %edx,-0x4(%ebp)
6174e2:	3b d1                	cmp    %ecx,%edx
6174e4:	72 bb                	jb     0x6174a1
6174e6:	8b 7d f8             	mov    -0x8(%ebp),%edi
6174e9:	8b 45 0c             	mov    0xc(%ebp),%eax
6174ec:	3b f8                	cmp    %eax,%edi
6174ee:	76 42                	jbe    0x617532
6174f0:	8b 4b 04             	mov    0x4(%ebx),%ecx
6174f3:	39 4f fc             	cmp    %ecx,-0x4(%edi)
6174f6:	72 28                	jb     0x617520
6174f8:	3b 4f fc             	cmp    -0x4(%edi),%ecx
6174fb:	72 2a                	jb     0x617527
6174fd:	83 eb 08             	sub    $0x8,%ebx
617500:	8d 4f f8             	lea    -0x8(%edi),%ecx
617503:	3b d9                	cmp    %ecx,%ebx
617505:	74 19                	je     0x617520
617507:	8b 47 f8             	mov    -0x8(%edi),%eax
61750a:	8b 0b                	mov    (%ebx),%ecx
61750c:	8b 53 04             	mov    0x4(%ebx),%edx
61750f:	89 03                	mov    %eax,(%ebx)
617511:	8b 47 fc             	mov    -0x4(%edi),%eax
617514:	89 43 04             	mov    %eax,0x4(%ebx)
617517:	8b 45 0c             	mov    0xc(%ebp),%eax
61751a:	89 4f f8             	mov    %ecx,-0x8(%edi)
61751d:	89 57 fc             	mov    %edx,-0x4(%edi)
617520:	83 ef 08             	sub    $0x8,%edi
617523:	3b c7                	cmp    %edi,%eax
617525:	72 c9                	jb     0x6174f0
617527:	8b 55 fc             	mov    -0x4(%ebp),%edx
61752a:	3b f8                	cmp    %eax,%edi
61752c:	8b 4d 10             	mov    0x10(%ebp),%ecx
61752f:	89 7d f8             	mov    %edi,-0x8(%ebp)
617532:	75 52                	jne    0x617586
617534:	3b d1                	cmp    %ecx,%edx
617536:	0f 84 b9 00 00 00    	je     0x6175f5
61753c:	3b f2                	cmp    %edx,%esi
61753e:	74 17                	je     0x617557
617540:	8b 06                	mov    (%esi),%eax
617542:	8b 0b                	mov    (%ebx),%ecx
617544:	8b 53 04             	mov    0x4(%ebx),%edx
617547:	89 03                	mov    %eax,(%ebx)
617549:	8b 46 04             	mov    0x4(%esi),%eax
61754c:	89 43 04             	mov    %eax,0x4(%ebx)
61754f:	89 56 04             	mov    %edx,0x4(%esi)
617552:	8b 55 fc             	mov    -0x4(%ebp),%edx