4044b5:	59                   	pop    %ecx
4044b6:	89 5e 68             	mov    %ebx,0x68(%esi)
4044b9:	53                   	push   %ebx
4044ba:	8b 3d 5c 10 40 00    	mov    0x40105c,%edi
4044c0:	ff d7                	call   *%edi
4044c2:	f6 46 70 02          	testb  $0x2,0x70(%esi)
4044c6:	0f 85 ea 00 00 00    	jne    0x4045b6
4044cc:	f6 05 4c b6 40 00 01 	testb  $0x1,0x40b64c
4044d3:	0f 85 dd 00 00 00    	jne    0x4045b6
4044d9:	6a 0d                	push   $0xd
4044db:	e8 2b 09 00 00       	call   0x404e0b
4044e0:	59                   	pop    %ecx
4044e1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4044e5:	8b 43 04             	mov    0x4(%ebx),%eax
4044e8:	a3 f0 cd 45 00       	mov    %eax,0x45cdf0
4044ed:	8b 43 08             	mov    0x8(%ebx),%eax
4044f0:	a3 f4 cd 45 00       	mov    %eax,0x45cdf4
4044f5:	8b 43 0c             	mov    0xc(%ebx),%eax
4044f8:	a3 f8 cd 45 00       	mov    %eax,0x45cdf8
4044fd:	33 c0                	xor    %eax,%eax
4044ff:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404502:	83 f8 05             	cmp    $0x5,%eax
404505:	7d 10                	jge    0x404517
404507:	66 8b 4c 43 10       	mov    0x10(%ebx,%eax,2),%cx
40450c:	66 89 0c 45 e4 cd 45 	mov    %cx,0x45cde4(,%eax,2)
404513:	00
404514:	40                   	inc    %eax
404515:	eb e8                	jmp    0x4044ff
404517:	33 c0                	xor    %eax,%eax
404519:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40451c:	3d 01 01 00 00       	cmp    $0x101,%eax
404521:	7d 0d                	jge    0x404530
404523:	8a 4c 18 1c          	mov    0x1c(%eax,%ebx,1),%cl
404527:	88 88 48 b3 40 00    	mov    %cl,0x40b348(%eax)
40452d:	40                   	inc    %eax
40452e:	eb e9                	jmp    0x404519
404530:	33 c0                	xor    %eax,%eax
404532:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404535:	3d 00 01 00 00       	cmp    $0x100,%eax
40453a:	7d 10                	jge    0x40454c
40453c:	8a 8c 18 1d 01 00 00 	mov    0x11d(%eax,%ebx,1),%cl
404543:	88 88 50 b4 40 00    	mov    %cl,0x40b450(%eax)
404549:	40                   	inc    %eax
40454a:	eb e6                	jmp    0x404532
40454c:	ff 35 50 b5 40 00    	push   0x40b550
404552:	ff 15 cc 10 40 00    	call   *0x4010cc
404558:	85 c0                	test   %eax,%eax
40455a:	75 13                	jne    0x40456f
40455c:	a1 50 b5 40 00       	mov    0x40b550,%eax
404561:	3d 28 b1 40 00       	cmp    $0x40b128,%eax
404566:	74 07                	je     0x40456f
404568:	50                   	push   %eax
404569:	e8 30 12 00 00       	call   0x40579e
40456e:	59                   	pop    %ecx
40456f:	89 1d 50 b5 40 00    	mov    %ebx,0x40b550
404575:	53                   	push   %ebx
404576:	ff d7                	call   *%edi
404578:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40457f:	e8 02 00 00 00       	call   0x404586
404584:	eb 30                	jmp    0x4045b6
404586:	6a 0d                	push   $0xd
404588:	e8 a4 07 00 00       	call   0x404d31
40458d:	59                   	pop    %ecx
40458e:	c3                   	ret
40458f:	eb 25                	jmp    0x4045b6
404591:	83 f8 ff             	cmp    $0xffffffff,%eax
404594:	75 20                	jne    0x4045b6
404596:	81 fb 28 b1 40 00    	cmp    $0x40b128,%ebx
40459c:	74 07                	je     0x4045a5
40459e:	53                   	push   %ebx
40459f:	e8 fa 11 00 00       	call   0x40579e
4045a4:	59                   	pop    %ecx
4045a5:	e8 af 05 00 00       	call   0x404b59
4045aa:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4045b0:	eb 04                	jmp    0x4045b6
4045b2:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
4045b6:	8b 45 e0             	mov    -0x20(%ebp),%eax
4045b9:	e8 fb f6 ff ff       	call   0x403cb9
4045be:	c3                   	ret
4045bf:	83 3d 0c 0c 89 00 00 	cmpl   $0x0,0x890c0c
4045c6:	75 12                	jne    0x4045da
4045c8:	6a fd                	push   $0xfffffffd
4045ca:	e8 56 fe ff ff       	call   0x404425
4045cf:	59                   	pop    %ecx
4045d0:	c7 05 0c 0c 89 00 01 	movl   $0x1,0x890c0c
4045d7:	00 00 00
4045da:	33 c0                	xor    %eax,%eax
4045dc:	c3                   	ret
4045dd:	8b ff                	mov    %edi,%edi
4045df:	55                   	push   %ebp
4045e0:	8b ec                	mov    %esp,%ebp
4045e2:	53                   	push   %ebx
4045e3:	56                   	push   %esi
4045e4:	8b 75 08             	mov    0x8(%ebp),%esi
4045e7:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
4045ed:	33 db                	xor    %ebx,%ebx
4045ef:	57                   	push   %edi
4045f0:	3b c3                	cmp    %ebx,%eax
4045f2:	74 6f                	je     0x404663
4045f4:	3d c8 ba 40 00       	cmp    $0x40bac8,%eax
4045f9:	74 68                	je     0x404663
4045fb:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
404601:	3b c3                	cmp    %ebx,%eax
404603:	74 5e                	je     0x404663
404605:	39 18                	cmp    %ebx,(%eax)
404607:	75 5a                	jne    0x404663
404609:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
40460f:	3b c3                	cmp    %ebx,%eax
404611:	74 17                	je     0x40462a
404613:	39 18                	cmp    %ebx,(%eax)
404615:	75 13                	jne    0x40462a
404617:	50                   	push   %eax
404618:	e8 81 11 00 00       	call   0x40579e
40461d:	ff b6 bc 00 00 00    	push   0xbc(%esi)
404623:	e8 52 2b 00 00       	call   0x40717a
404628:	59                   	pop    %ecx
404629:	59                   	pop    %ecx
40462a:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
404630:	3b c3                	cmp    %ebx,%eax
404632:	74 17                	je     0x40464b
404634:	39 18                	cmp    %ebx,(%eax)
404636:	75 13                	jne    0x40464b
404638:	50                   	push   %eax
404639:	e8 60 11 00 00       	call   0x40579e
40463e:	ff b6 bc 00 00 00    	push   0xbc(%esi)
404644:	e8 ec 2a 00 00       	call   0x407135
404649:	59                   	pop    %ecx
40464a:	59                   	pop    %ecx
40464b:	ff b6 b0 00 00 00    	push   0xb0(%esi)
404651:	e8 48 11 00 00       	call   0x40579e
404656:	ff b6 bc 00 00 00    	push   0xbc(%esi)
40465c:	e8 3d 11 00 00       	call   0x40579e
404661:	59                   	pop    %ecx
404662:	59                   	pop    %ecx
404663:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
404669:	3b c3                	cmp    %ebx,%eax
40466b:	74 44                	je     0x4046b1
40466d:	39 18                	cmp    %ebx,(%eax)
40466f:	75 40                	jne    0x4046b1
404671:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
404677:	2d fe 00 00 00       	sub    $0xfe,%eax
40467c:	50                   	push   %eax
40467d:	e8 1c 11 00 00       	call   0x40579e
404682:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
404688:	bf 80 00 00 00       	mov    $0x80,%edi
40468d:	2b c7                	sub    %edi,%eax
40468f:	50                   	push   %eax
404690:	e8 09 11 00 00       	call   0x40579e
404695:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
40469b:	2b c7                	sub    %edi,%eax
40469d:	50                   	push   %eax
40469e:	e8 fb 10 00 00       	call   0x40579e
4046a3:	ff b6 c0 00 00 00    	push   0xc0(%esi)
4046a9:	e8 f0 10 00 00       	call   0x40579e
4046ae:	83 c4 10             	add    $0x10,%esp
4046b1:	8d be d4 00 00 00    	lea    0xd4(%esi),%edi
4046b7:	8b 07                	mov    (%edi),%eax
4046b9:	3d 08 ba 40 00       	cmp    $0x40ba08,%eax
4046be:	74 17                	je     0x4046d7
4046c0:	39 98 b4 00 00 00    	cmp    %ebx,0xb4(%eax)
4046c6:	75 0f                	jne    0x4046d7
4046c8:	50                   	push   %eax
4046c9:	e8 d2 28 00 00       	call   0x406fa0
4046ce:	ff 37                	push   (%edi)
4046d0:	e8 c9 10 00 00       	call   0x40579e
4046d5:	59                   	pop    %ecx
4046d6:	59                   	pop    %ecx
4046d7:	8d 7e 50             	lea    0x50(%esi),%edi
4046da:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
4046e1:	81 7f f8 50 b6 40 00 	cmpl   $0x40b650,-0x8(%edi)
4046e8:	74 11                	je     0x4046fb
4046ea:	8b 07                	mov    (%edi),%eax
4046ec:	3b c3                	cmp    %ebx,%eax
4046ee:	74 0b                	je     0x4046fb
4046f0:	39 18                	cmp    %ebx,(%eax)
4046f2:	75 07                	jne    0x4046fb
4046f4:	50                   	push   %eax
4046f5:	e8 a4 10 00 00       	call   0x40579e
4046fa:	59                   	pop    %ecx
4046fb:	39 5f fc             	cmp    %ebx,-0x4(%edi)
4046fe:	74 12                	je     0x404712
404700:	8b 47 04             	mov    0x4(%edi),%eax
404703:	3b c3                	cmp    %ebx,%eax
404705:	74 0b                	je     0x404712
404707:	39 18                	cmp    %ebx,(%eax)
404709:	75 07                	jne    0x404712
40470b:	50                   	push   %eax
40470c:	e8 8d 10 00 00       	call   0x40579e
404711:	59                   	pop    %ecx
404712:	83 c7 10             	add    $0x10,%edi
404715:	ff 4d 08             	decl   0x8(%ebp)
404718:	75 c7                	jne    0x4046e1
40471a:	56                   	push   %esi
40471b:	e8 7e 10 00 00       	call   0x40579e
404720:	59                   	pop    %ecx
404721:	5f                   	pop    %edi
404722:	5e                   	pop    %esi
404723:	5b                   	pop    %ebx
404724:	5d                   	pop    %ebp
404725:	c3                   	ret
404726:	8b ff                	mov    %edi,%edi
404728:	55                   	push   %ebp
404729:	8b ec                	mov    %esp,%ebp
40472b:	53                   	push   %ebx
40472c:	56                   	push   %esi
40472d:	8b 35 5c 10 40 00    	mov    0x40105c,%esi
404733:	57                   	push   %edi
404734:	8b 7d 08             	mov    0x8(%ebp),%edi
404737:	57                   	push   %edi
404738:	ff d6                	call   *%esi
40473a:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
404740:	85 c0                	test   %eax,%eax
404742:	74 03                	je     0x404747
404744:	50                   	push   %eax
404745:	ff d6                	call   *%esi
404747:	8b 87 b8 00 00 00    	mov    0xb8(%edi),%eax
40474d:	85 c0                	test   %eax,%eax
40474f:	74 03                	je     0x404754
404751:	50                   	push   %eax
404752:	ff d6                	call   *%esi
404754:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
40475a:	85 c0                	test   %eax,%eax
40475c:	74 03                	je     0x404761
40475e:	50                   	push   %eax
40475f:	ff d6                	call   *%esi
404761:	8b 87 c0 00 00 00    	mov    0xc0(%edi),%eax
404767:	85 c0                	test   %eax,%eax
404769:	74 03                	je     0x40476e
40476b:	50                   	push   %eax
40476c:	ff d6                	call   *%esi
40476e:	8d 5f 50             	lea    0x50(%edi),%ebx
404771:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
404778:	81 7b f8 50 b6 40 00 	cmpl   $0x40b650,-0x8(%ebx)
40477f:	74 09                	je     0x40478a
404781:	8b 03                	mov    (%ebx),%eax
404783:	85 c0                	test   %eax,%eax
404785:	74 03                	je     0x40478a
404787:	50                   	push   %eax
404788:	ff d6                	call   *%esi
40478a:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
40478e:	74 0a                	je     0x40479a
404790:	8b 43 04             	mov    0x4(%ebx),%eax
404793:	85 c0                	test   %eax,%eax
404795:	74 03                	je     0x40479a
404797:	50                   	push   %eax
404798:	ff d6                	call   *%esi
40479a:	83 c3 10             	add    $0x10,%ebx
40479d:	ff 4d 08             	decl   0x8(%ebp)
4047a0:	75 d6                	jne    0x404778
4047a2:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
4047a8:	05 b4 00 00 00       	add    $0xb4,%eax
4047ad:	50                   	push   %eax
4047ae:	ff d6                	call   *%esi
4047b0:	5f                   	pop    %edi
4047b1:	5e                   	pop    %esi
4047b2:	5b                   	pop    %ebx
4047b3:	5d                   	pop    %ebp
4047b4:	c3                   	ret
4047b5:	8b ff                	mov    %edi,%edi
4047b7:	55                   	push   %ebp
4047b8:	8b ec                	mov    %esp,%ebp
4047ba:	57                   	push   %edi
4047bb:	8b 7d 08             	mov    0x8(%ebp),%edi
4047be:	85 ff                	test   %edi,%edi
4047c0:	0f 84 83 00 00 00    	je     0x404849
4047c6:	53                   	push   %ebx
4047c7:	56                   	push   %esi
4047c8:	8b 35 cc 10 40 00    	mov    0x4010cc,%esi
4047ce:	57                   	push   %edi
4047cf:	ff d6                	call   *%esi
4047d1:	8b 87 b0 00 00 00    	mov    0xb0(%edi),%eax
4047d7:	85 c0                	test   %eax,%eax
4047d9:	74 03                	je     0x4047de
4047db:	50                   	push   %eax
4047dc:	ff d6                	call   *%esi
4047de:	8b 87 b8 00 00 00    	mov    0xb8(%edi),%eax
4047e4:	85 c0                	test   %eax,%eax
4047e6:	74 03                	je     0x4047eb
4047e8:	50                   	push   %eax
4047e9:	ff d6                	call   *%esi
4047eb:	8b 87 b4 00 00 00    	mov    0xb4(%edi),%eax
4047f1:	85 c0                	test   %eax,%eax
4047f3:	74 03                	je     0x4047f8
4047f5:	50                   	push   %eax
4047f6:	ff d6                	call   *%esi
4047f8:	8b 87 c0 00 00 00    	mov    0xc0(%edi),%eax
4047fe:	85 c0                	test   %eax,%eax
404800:	74 03                	je     0x404805
404802:	50                   	push   %eax
404803:	ff d6                	call   *%esi
404805:	8d 5f 50             	lea    0x50(%edi),%ebx
404808:	c7 45 08 06 00 00 00 	movl   $0x6,0x8(%ebp)
40480f:	81 7b f8 50 b6 40 00 	cmpl   $0x40b650,-0x8(%ebx)
404816:	74 09                	je     0x404821
404818:	8b 03                	mov    (%ebx),%eax
40481a:	85 c0                	test   %eax,%eax
40481c:	74 03                	je     0x404821
40481e:	50                   	push   %eax
40481f:	ff d6                	call   *%esi
404821:	83 7b fc 00          	cmpl   $0x0,-0x4(%ebx)
404825:	74 0a                	je     0x404831
404827:	8b 43 04             	mov    0x4(%ebx),%eax
40482a:	85 c0                	test   %eax,%eax
40482c:	74 03                	je     0x404831
40482e:	50                   	push   %eax
40482f:	ff d6                	call   *%esi
404831:	83 c3 10             	add    $0x10,%ebx
404834:	ff 4d 08             	decl   0x8(%ebp)
404837:	75 d6                	jne    0x40480f
404839:	8b 87 d4 00 00 00    	mov    0xd4(%edi),%eax
40483f:	05 b4 00 00 00       	add    $0xb4,%eax
404844:	50                   	push   %eax
404845:	ff d6                	call   *%esi
404847:	5e                   	pop    %esi
404848:	5b                   	pop    %ebx
404849:	8b c7                	mov    %edi,%eax
40484b:	5f                   	pop    %edi
40484c:	5d                   	pop    %ebp
40484d:	c3                   	ret
40484e:	85 ff                	test   %edi,%edi
404850:	74 37                	je     0x404889
404852:	85 c0                	test   %eax,%eax
404854:	74 33                	je     0x404889
404856:	56                   	push   %esi
404857:	8b 30                	mov    (%eax),%esi
404859:	3b f7                	cmp    %edi,%esi
40485b:	74 28                	je     0x404885
40485d:	57                   	push   %edi
40485e:	89 38                	mov    %edi,(%eax)
404860:	e8 c1 fe ff ff       	call   0x404726
404865:	59                   	pop    %ecx
404866:	85 f6                	test   %esi,%esi
404868:	74 1b                	je     0x404885
40486a:	56                   	push   %esi
40486b:	e8 45 ff ff ff       	call   0x4047b5
404870:	83 3e 00             	cmpl   $0x0,(%esi)
404873:	59                   	pop    %ecx
404874:	75 0f                	jne    0x404885
404876:	81 fe 58 b6 40 00    	cmp    $0x40b658,%esi
40487c:	74 07                	je     0x404885
40487e:	56                   	push   %esi
40487f:	e8 59 fd ff ff       	call   0x4045dd
404884:	59                   	pop    %ecx
404885:	8b c7                	mov    %edi,%eax
404887:	5e                   	pop    %esi
404888:	c3                   	ret
404889:	33 c0                	xor    %eax,%eax
40488b:	c3                   	ret
40488c:	6a 0c                	push   $0xc
40488e:	68 98 a5 40 00       	push   $0x40a598