4682af:	56                   	push   %esi
4682b0:	8b f1                	mov    %ecx,%esi
4682b2:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
4682b6:	0f 84 18 01 00 00    	je     0x4683d4
4682bc:	8b 46 14             	mov    0x14(%esi),%eax
4682bf:	85 c0                	test   %eax,%eax
4682c1:	0f 84 0d 01 00 00    	je     0x4683d4
4682c7:	8b 4e 3c             	mov    0x3c(%esi),%ecx
4682ca:	85 c9                	test   %ecx,%ecx
4682cc:	75 24                	jne    0x4682f2
4682ce:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4682d1:	51                   	push   %ecx
4682d2:	ff 75 0c             	push   0xc(%ebp)
4682d5:	ff 75 08             	push   0x8(%ebp)
4682d8:	50                   	push   %eax
4682d9:	ff 15 a8 09 4b 00    	call   *0x4b09a8
4682df:	85 c0                	test   %eax,%eax
4682e1:	75 07                	jne    0x4682ea
4682e3:	6a 00                	push   $0x0
4682e5:	e9 ec 00 00 00       	jmp    0x4683d6
4682ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
4682ed:	e9 c3 00 00 00       	jmp    0x4683b5
4682f2:	8b 46 38             	mov    0x38(%esi),%eax
4682f5:	53                   	push   %ebx
4682f6:	57                   	push   %edi
4682f7:	8b 7d 0c             	mov    0xc(%ebp),%edi
4682fa:	3b 7e 34             	cmp    0x34(%esi),%edi
4682fd:	72 47                	jb     0x468346
4682ff:	8b 5e 40             	mov    0x40(%esi),%ebx
468302:	2b d8                	sub    %eax,%ebx
468304:	79 04                	jns    0x46830a
468306:	33 db                	xor    %ebx,%ebx
468308:	eb 08                	jmp    0x468312
46830a:	3b df                	cmp    %edi,%ebx
46830c:	0f 87 a8 00 00 00    	ja     0x4683ba
468312:	53                   	push   %ebx
468313:	03 c1                	add    %ecx,%eax
468315:	50                   	push   %eax
468316:	ff 75 08             	push   0x8(%ebp)
468319:	e8 52 f5 fa ff       	call   0x417870
46831e:	8b 46 34             	mov    0x34(%esi),%eax
468321:	83 c4 0c             	add    $0xc,%esp
468324:	89 46 38             	mov    %eax,0x38(%esi)
468327:	8d 45 fc             	lea    -0x4(%ebp),%eax
46832a:	50                   	push   %eax
46832b:	8b 45 08             	mov    0x8(%ebp),%eax
46832e:	2b fb                	sub    %ebx,%edi
468330:	57                   	push   %edi
468331:	03 c3                	add    %ebx,%eax
468333:	50                   	push   %eax
468334:	ff 76 14             	push   0x14(%esi)
468337:	ff 15 a8 09 4b 00    	call   *0x4b09a8
46833d:	85 c0                	test   %eax,%eax
46833f:	74 a2                	je     0x4682e3
468341:	8b 45 fc             	mov    -0x4(%ebp),%eax
468344:	eb 6b                	jmp    0x4683b1
468346:	8b 56 40             	mov    0x40(%esi),%edx
468349:	8d 1c 38             	lea    (%eax,%edi,1),%ebx
46834c:	3b da                	cmp    %edx,%ebx
46834e:	72 6e                	jb     0x4683be
468350:	2b d0                	sub    %eax,%edx
468352:	79 04                	jns    0x468358
468354:	33 db                	xor    %ebx,%ebx
468356:	eb 06                	jmp    0x46835e
468358:	8b da                	mov    %edx,%ebx
46835a:	3b df                	cmp    %edi,%ebx
46835c:	77 5c                	ja     0x4683ba
46835e:	53                   	push   %ebx
46835f:	03 c1                	add    %ecx,%eax
468361:	50                   	push   %eax
468362:	ff 75 08             	push   0x8(%ebp)
468365:	e8 06 f5 fa ff       	call   0x417870
46836a:	83 c4 0c             	add    $0xc,%esp
46836d:	8d 45 0c             	lea    0xc(%ebp),%eax
468370:	50                   	push   %eax
468371:	ff 76 34             	push   0x34(%esi)
468374:	ff 76 3c             	push   0x3c(%esi)
468377:	ff 76 14             	push   0x14(%esi)
46837a:	ff 15 a8 09 4b 00    	call   *0x4b09a8
468380:	85 c0                	test   %eax,%eax
468382:	0f 84 5b ff ff ff    	je     0x4682e3
468388:	8b 45 0c             	mov    0xc(%ebp),%eax
46838b:	2b fb                	sub    %ebx,%edi
46838d:	3b f8                	cmp    %eax,%edi
46838f:	89 46 40             	mov    %eax,0x40(%esi)
468392:	73 03                	jae    0x468397
468394:	89 7d 0c             	mov    %edi,0xc(%ebp)
468397:	ff 75 0c             	push   0xc(%ebp)
46839a:	8b 45 08             	mov    0x8(%ebp),%eax
46839d:	ff 76 3c             	push   0x3c(%esi)
4683a0:	03 c3                	add    %ebx,%eax
4683a2:	50                   	push   %eax
4683a3:	e8 c8 f4 fa ff       	call   0x417870
4683a8:	8b 45 0c             	mov    0xc(%ebp),%eax
4683ab:	83 c4 0c             	add    $0xc,%esp
4683ae:	89 46 38             	mov    %eax,0x38(%esi)
4683b1:	03 c3                	add    %ebx,%eax
4683b3:	5f                   	pop    %edi
4683b4:	5b                   	pop    %ebx
4683b5:	5e                   	pop    %esi
4683b6:	c9                   	leave
4683b7:	c2 08 00             	ret    $0x8
4683ba:	33 c0                	xor    %eax,%eax
4683bc:	eb f5                	jmp    0x4683b3
4683be:	57                   	push   %edi
4683bf:	03 c1                	add    %ecx,%eax
4683c1:	50                   	push   %eax
4683c2:	ff 75 08             	push   0x8(%ebp)
4683c5:	e8 a6 f4 fa ff       	call   0x417870
4683ca:	83 c4 0c             	add    $0xc,%esp
4683cd:	01 7e 38             	add    %edi,0x38(%esi)
4683d0:	8b c7                	mov    %edi,%eax
4683d2:	eb df                	jmp    0x4683b3
4683d4:	6a 06                	push   $0x6
4683d6:	ff 76 1c             	push   0x1c(%esi)
4683d9:	e8 79 fc ff ff       	call   0x468057
4683de:	cc                   	int3
4683df:	55                   	push   %ebp
4683e0:	8b ec                	mov    %esp,%ebp
4683e2:	56                   	push   %esi
4683e3:	8b f1                	mov    %ecx,%esi
4683e5:	83 7e 18 01          	cmpl   $0x1,0x18(%esi)
4683e9:	57                   	push   %edi
4683ea:	0f 84 98 00 00 00    	je     0x468488
4683f0:	8b 46 14             	mov    0x14(%esi),%eax
4683f3:	85 c0                	test   %eax,%eax
4683f5:	0f 84 8d 00 00 00    	je     0x468488
4683fb:	8b 4e 30             	mov    0x30(%esi),%ecx
4683fe:	85 c9                	test   %ecx,%ecx
468400:	8b 7d 0c             	mov    0xc(%ebp),%edi
468403:	75 1e                	jne    0x468423
468405:	8d 4d 0c             	lea    0xc(%ebp),%ecx
468408:	51                   	push   %ecx
468409:	57                   	push   %edi
46840a:	ff 75 08             	push   0x8(%ebp)
46840d:	50                   	push   %eax
46840e:	ff 15 ac 09 4b 00    	call   *0x4b09ac
468414:	85 c0                	test   %eax,%eax
468416:	75 04                	jne    0x46841c
468418:	6a 00                	push   $0x0
46841a:	eb 6e                	jmp    0x46848a
46841c:	39 7d 0c             	cmp    %edi,0xc(%ebp)
46841f:	74 40                	je     0x468461
468421:	eb f5                	jmp    0x468418
468423:	8b 46 2c             	mov    0x2c(%esi),%eax
468426:	8d 14 38             	lea    (%eax,%edi,1),%edx
468429:	3b 56 28             	cmp    0x28(%esi),%edx
46842c:	53                   	push   %ebx
46842d:	8b 1d ac 09 4b 00    	mov    0x4b09ac,%ebx
468433:	72 13                	jb     0x468448
468435:	8d 55 0c             	lea    0xc(%ebp),%edx
468438:	52                   	push   %edx
468439:	50                   	push   %eax
46843a:	51                   	push   %ecx
46843b:	ff 76 14             	push   0x14(%esi)
46843e:	ff d3                	call   *%ebx
468440:	85 c0                	test   %eax,%eax
468442:	74 d4                	je     0x468418
468444:	83 66 2c 00          	andl   $0x0,0x2c(%esi)
468448:	8b 4e 28             	mov    0x28(%esi),%ecx
46844b:	3b f9                	cmp    %ecx,%edi
46844d:	72 18                	jb     0x468467
46844f:	8d 45 0c             	lea    0xc(%ebp),%eax
468452:	50                   	push   %eax
468453:	57                   	push   %edi
468454:	ff 75 08             	push   0x8(%ebp)
468457:	ff 76 14             	push   0x14(%esi)
46845a:	ff d3                	call   *%ebx
46845c:	85 c0                	test   %eax,%eax
46845e:	74 b8                	je     0x468418
468460:	5b                   	pop    %ebx
468461:	5f                   	pop    %edi
468462:	5e                   	pop    %esi
468463:	5d                   	pop    %ebp
468464:	c2 08 00             	ret    $0x8
468467:	8b 46 2c             	mov    0x2c(%esi),%eax
46846a:	8d 14 38             	lea    (%eax,%edi,1),%edx
46846d:	3b d1                	cmp    %ecx,%edx
46846f:	77 ef                	ja     0x468460
468471:	8b 4e 30             	mov    0x30(%esi),%ecx
468474:	57                   	push   %edi
468475:	ff 75 08             	push   0x8(%ebp)
468478:	03 c8                	add    %eax,%ecx
46847a:	51                   	push   %ecx
46847b:	e8 f0 f3 fa ff       	call   0x417870
468480:	83 c4 0c             	add    $0xc,%esp
468483:	01 7e 2c             	add    %edi,0x2c(%esi)
468486:	eb d8                	jmp    0x468460
468488:	6a 06                	push   $0x6
46848a:	ff 76 1c             	push   0x1c(%esi)
46848d:	e8 c5 fb ff ff       	call   0x468057
468492:	cc                   	int3
468493:	56                   	push   %esi
468494:	8b f1                	mov    %ecx,%esi
468496:	83 7e 18 01          	cmpl   $0x1,0x18(%esi)
46849a:	75 0a                	jne    0x4684a6
46849c:	6a 06                	push   $0x6
46849e:	ff 76 1c             	push   0x1c(%esi)
4684a1:	e8 b1 fb ff ff       	call   0x468057
4684a6:	57                   	push   %edi
4684a7:	ff 74 24 0c          	push   0xc(%esp)
4684ab:	8b 3e                	mov    (%esi),%edi
4684ad:	ff 15 88 03 4b 00    	call   *0x4b0388
4684b3:	50                   	push   %eax
4684b4:	ff 74 24 10          	push   0x10(%esp)
4684b8:	8b ce                	mov    %esi,%ecx
4684ba:	ff 57 38             	call   *0x38(%edi)
4684bd:	5f                   	pop    %edi
4684be:	5e                   	pop    %esi
4684bf:	c2 04 00             	ret    $0x4
4684c2:	55                   	push   %ebp
4684c3:	8b ec                	mov    %esp,%ebp
4684c5:	51                   	push   %ecx
4684c6:	53                   	push   %ebx
4684c7:	56                   	push   %esi
4684c8:	8b f1                	mov    %ecx,%esi
4684ca:	33 db                	xor    %ebx,%ebx
4684cc:	39 5e 3c             	cmp    %ebx,0x3c(%esi)
4684cf:	75 2e                	jne    0x4684ff
4684d1:	68 00 10 00 00       	push   $0x1000
4684d6:	e8 c6 f1 ff ff       	call   0x4676a1
4684db:	85 c0                	test   %eax,%eax
4684dd:	74 7b                	je     0x46855a
4684df:	8d 45 fc             	lea    -0x4(%ebp),%eax
4684e2:	50                   	push   %eax
4684e3:	ff 76 34             	push   0x34(%esi)
4684e6:	ff 76 3c             	push   0x3c(%esi)
4684e9:	ff 76 14             	push   0x14(%esi)
4684ec:	ff 15 a8 09 4b 00    	call   *0x4b09a8
4684f2:	85 c0                	test   %eax,%eax
4684f4:	74 6a                	je     0x468560
4684f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4684f9:	89 46 40             	mov    %eax,0x40(%esi)
4684fc:	89 5e 38             	mov    %ebx,0x38(%esi)
4684ff:	8b 46 38             	mov    0x38(%esi),%eax
468502:	03 46 3c             	add    0x3c(%esi),%eax
468505:	57                   	push   %edi
468506:	8b 7d 08             	mov    0x8(%ebp),%edi
468509:	eb 44                	jmp    0x46854f
46850b:	8b 4e 38             	mov    0x38(%esi),%ecx
46850e:	3b 4e 40             	cmp    0x40(%esi),%ecx
468511:	72 27                	jb     0x46853a
468513:	8d 45 fc             	lea    -0x4(%ebp),%eax
468516:	50                   	push   %eax
468517:	ff 76 34             	push   0x34(%esi)
46851a:	ff 76 3c             	push   0x3c(%esi)
46851d:	ff 76 14             	push   0x14(%esi)
468520:	ff 15 a8 09 4b 00    	call   *0x4b09a8
468526:	85 c0                	test   %eax,%eax
468528:	74 36                	je     0x468560
46852a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46852d:	3b c3                	cmp    %ebx,%eax
46852f:	89 46 40             	mov    %eax,0x40(%esi)
468532:	74 35                	je     0x468569
468534:	8b 46 3c             	mov    0x3c(%esi),%eax
468537:	89 5e 38             	mov    %ebx,0x38(%esi)
46853a:	8a 08                	mov    (%eax),%cl
46853c:	80 f9 0d             	cmp    $0xd,%cl
46853f:	74 03                	je     0x468544
468541:	88 0f                	mov    %cl,(%edi)
468543:	47                   	inc    %edi
468544:	ff 46 38             	incl   0x38(%esi)
468547:	8a 08                	mov    (%eax),%cl
468549:	40                   	inc    %eax
46854a:	80 f9 0a             	cmp    $0xa,%cl
46854d:	74 05                	je     0x468554
46854f:	ff 4d 0c             	decl   0xc(%ebp)
468552:	75 b7                	jne    0x46850b
468554:	8b 45 08             	mov    0x8(%ebp),%eax
468557:	88 1f                	mov    %bl,(%edi)
468559:	5f                   	pop    %edi
46855a:	5e                   	pop    %esi
46855b:	5b                   	pop    %ebx
46855c:	c9                   	leave
46855d:	c2 08 00             	ret    $0x8
468560:	53                   	push   %ebx
468561:	ff 76 1c             	push   0x1c(%esi)
468564:	e8 ee fa ff ff       	call   0x468057
468569:	8b c7                	mov    %edi,%eax
46856b:	2b 45 08             	sub    0x8(%ebp),%eax
46856e:	f7 d8                	neg    %eax
468570:	1b c0                	sbb    %eax,%eax
468572:	23 45 08             	and    0x8(%ebp),%eax
468575:	eb e0                	jmp    0x468557
468577:	b8 a8 25 48 00       	mov    $0x4825a8,%eax
46857c:	e8 fb f6 fa ff       	call   0x417c7c
468581:	51                   	push   %ecx
468582:	56                   	push   %esi
468583:	8b f1                	mov    %ecx,%esi
468585:	89 75 f0             	mov    %esi,-0x10(%ebp)
468588:	c7 06 e8 a0 48 00    	movl   $0x48a0e8,(%esi)
46858e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
468592:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
468596:	74 05                	je     0x46859d
468598:	e8 cb f8 ff ff       	call   0x467e68
46859d:	8b 4e 10             	mov    0x10(%esi),%ecx
4685a0:	83 e9 10             	sub    $0x10,%ecx
4685a3:	e8 aa 8d f9 ff       	call   0x401352
4685a8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4685ab:	5e                   	pop    %esi
4685ac:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4685b3:	c9                   	leave
4685b4:	c3                   	ret
4685b5:	56                   	push   %esi
4685b6:	8b f1                	mov    %ecx,%esi
4685b8:	8b 4e 18             	mov    0x18(%esi),%ecx
4685bb:	83 e9 10             	sub    $0x10,%ecx
4685be:	c7 06 fc a0 48 00    	movl   $0x48a0fc,(%esi)
4685c4:	e8 89 8d f9 ff       	call   0x401352
4685c9:	8b ce                	mov    %esi,%ecx
4685cb:	5e                   	pop    %esi
4685cc:	e9 a6 ff ff ff       	jmp    0x468577
4685d1:	56                   	push   %esi
4685d2:	8b f1                	mov    %ecx,%esi
4685d4:	e8 dc ff ff ff       	call   0x4685b5
4685d9:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4685de:	74 07                	je     0x4685e7
4685e0:	56                   	push   %esi
4685e1:	e8 9a 7a fd ff       	call   0x440080
4685e6:	59                   	pop    %ecx
4685e7:	8b c6                	mov    %esi,%eax
4685e9:	5e                   	pop    %esi
4685ea:	c2 04 00             	ret    $0x4
4685ed:	c7 01 10 a1 48 00    	movl   $0x48a110,(%ecx)
4685f3:	e9 7f ff ff ff       	jmp    0x468577
4685f8:	56                   	push   %esi
4685f9:	8b f1                	mov    %ecx,%esi
4685fb:	e8 ed ff ff ff       	call   0x4685ed
468600:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
468605:	74 07                	je     0x46860e
468607:	56                   	push   %esi
468608:	e8 73 7a fd ff       	call   0x440080
46860d:	59                   	pop    %ecx
46860e:	8b c6                	mov    %esi,%eax
468610:	5e                   	pop    %esi
468611:	c2 04 00             	ret    $0x4
468614:	56                   	push   %esi
468615:	8b f1                	mov    %ecx,%esi
468617:	8b 4e 18             	mov    0x18(%esi),%ecx
46861a:	83 e9 10             	sub    $0x10,%ecx
46861d:	c7 06 24 a1 48 00    	movl   $0x48a124,(%esi)
468623:	e8 2a 8d f9 ff       	call   0x401352
468628:	8b ce                	mov    %esi,%ecx
46862a:	5e                   	pop    %esi
46862b:	e9 47 ff ff ff       	jmp    0x468577
468630:	56                   	push   %esi
468631:	8b f1                	mov    %ecx,%esi
468633:	e8 dc ff ff ff       	call   0x468614
468638:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
46863d:	74 07                	je     0x468646