457615:	89 48 30             	mov    %ecx,0x30(%eax)
457618:	8b 4d 08             	mov    0x8(%ebp),%ecx
45761b:	68 04 01 00 00       	push   $0x104
457620:	e8 6b 9b fa ff       	call   0x401190
457625:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
45762b:	8b d8                	mov    %eax,%ebx
45762d:	e8 37 de fd ff       	call   0x435469
457632:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
457638:	89 58 1c             	mov    %ebx,0x1c(%eax)
45763b:	e8 2d de fd ff       	call   0x43546d
457640:	8b 4d 08             	mov    0x8(%ebp),%ecx
457643:	6a ff                	push   $0xffffffff
457645:	8b d8                	mov    %eax,%ebx
457647:	e8 db 9a fa ff       	call   0x401127
45764c:	33 c0                	xor    %eax,%eax
45764e:	83 fb 01             	cmp    $0x1,%ebx
457651:	0f 94 c0             	sete   %al
457654:	8d 4e f0             	lea    -0x10(%esi),%ecx
457657:	8b d8                	mov    %eax,%ebx
457659:	e8 f4 9c fa ff       	call   0x401352
45765e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
457661:	83 c1 f0             	add    $0xfffffff0,%ecx
457664:	e8 e9 9c fa ff       	call   0x401352
457669:	8d 4f f0             	lea    -0x10(%edi),%ecx
45766c:	e8 e1 9c fa ff       	call   0x401352
457671:	8b 8d 28 fe ff ff    	mov    -0x1d8(%ebp),%ecx
457677:	83 c1 f0             	add    $0xfffffff0,%ecx
45767a:	e8 d3 9c fa ff       	call   0x401352
45767f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
457683:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
457689:	e8 60 e0 fd ff       	call   0x4356ee
45768e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
457691:	5f                   	pop    %edi
457692:	5e                   	pop    %esi
457693:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45769a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45769d:	8b c3                	mov    %ebx,%eax
45769f:	5b                   	pop    %ebx
4576a0:	e8 39 05 fc ff       	call   0x417bde
4576a5:	c9                   	leave
4576a6:	c2 14 00             	ret    $0x14
4576a9:	b8 b9 34 48 00       	mov    $0x4834b9,%eax
4576ae:	e8 c9 05 fc ff       	call   0x417c7c
4576b3:	83 ec 3c             	sub    $0x3c,%esp
4576b6:	53                   	push   %ebx
4576b7:	56                   	push   %esi
4576b8:	57                   	push   %edi
4576b9:	ff 75 08             	push   0x8(%ebp)
4576bc:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4576bf:	8d 4d 08             	lea    0x8(%ebp),%ecx
4576c2:	e8 cd 9b fa ff       	call   0x401294
4576c7:	33 ff                	xor    %edi,%edi
4576c9:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4576cc:	89 7d fc             	mov    %edi,-0x4(%ebp)
4576cf:	e8 5b 4e 01 00       	call   0x46c52f
4576d4:	6a 07                	push   $0x7
4576d6:	8d 45 e8             	lea    -0x18(%ebp),%eax
4576d9:	50                   	push   %eax
4576da:	8d 4d 08             	lea    0x8(%ebp),%ecx
4576dd:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4576e1:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
4576e8:	e8 9e 44 01 00       	call   0x46bb8b
4576ed:	68 70 c2 48 00       	push   $0x48c270
4576f2:	50                   	push   %eax
4576f3:	e8 40 56 01 00       	call   0x46cd38
4576f8:	59                   	pop    %ecx
4576f9:	59                   	pop    %ecx
4576fa:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4576fd:	83 c1 f0             	add    $0xfffffff0,%ecx
457700:	8a d8                	mov    %al,%bl
457702:	e8 4b 9c fa ff       	call   0x401352
457707:	84 db                	test   %bl,%bl
457709:	8d 4d 08             	lea    0x8(%ebp),%ecx
45770c:	74 23                	je     0x457731
45770e:	8b 45 08             	mov    0x8(%ebp),%eax
457711:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
457718:	8b 40 f4             	mov    -0xc(%eax),%eax
45771b:	83 c0 f9             	add    $0xfffffff9,%eax
45771e:	50                   	push   %eax
45771f:	8d 45 e8             	lea    -0x18(%ebp),%eax
457722:	50                   	push   %eax
457723:	e8 34 75 01 00       	call   0x46ec5c
457728:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45772c:	e9 9a 00 00 00       	jmp    0x4577cb
457731:	6a 08                	push   $0x8
457733:	8d 45 e8             	lea    -0x18(%ebp),%eax
457736:	50                   	push   %eax
457737:	e8 4f 44 01 00       	call   0x46bb8b
45773c:	68 64 c2 48 00       	push   $0x48c264
457741:	50                   	push   %eax
457742:	e8 f1 55 01 00       	call   0x46cd38
457747:	59                   	pop    %ecx
457748:	59                   	pop    %ecx
457749:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45774c:	83 c1 f0             	add    $0xfffffff0,%ecx
45774f:	8a d8                	mov    %al,%bl
457751:	e8 fc 9b fa ff       	call   0x401352
457756:	84 db                	test   %bl,%bl
457758:	8d 4d 08             	lea    0x8(%ebp),%ecx
45775b:	74 20                	je     0x45777d
45775d:	8b 45 08             	mov    0x8(%ebp),%eax
457760:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
457767:	8b 40 f4             	mov    -0xc(%eax),%eax
45776a:	83 c0 f8             	add    $0xfffffff8,%eax
45776d:	50                   	push   %eax
45776e:	8d 45 e8             	lea    -0x18(%ebp),%eax
457771:	50                   	push   %eax
457772:	e8 e5 74 01 00       	call   0x46ec5c
457777:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
45777b:	eb 4e                	jmp    0x4577cb
45777d:	6a 0a                	push   $0xa
45777f:	8d 45 e8             	lea    -0x18(%ebp),%eax
457782:	50                   	push   %eax
457783:	e8 03 44 01 00       	call   0x46bb8b
457788:	68 58 c2 48 00       	push   $0x48c258
45778d:	50                   	push   %eax
45778e:	e8 a5 55 01 00       	call   0x46cd38
457793:	59                   	pop    %ecx
457794:	59                   	pop    %ecx
457795:	8b 4d e8             	mov    -0x18(%ebp),%ecx
457798:	83 c1 f0             	add    $0xfffffff0,%ecx
45779b:	8a d8                	mov    %al,%bl
45779d:	e8 b0 9b fa ff       	call   0x401352
4577a2:	84 db                	test   %bl,%bl
4577a4:	0f 84 ac 04 00 00    	je     0x457c56
4577aa:	8b 45 08             	mov    0x8(%ebp),%eax
4577ad:	c7 45 c8 03 00 00 00 	movl   $0x3,-0x38(%ebp)
4577b4:	8b 40 f4             	mov    -0xc(%eax),%eax
4577b7:	83 c0 f6             	add    $0xfffffff6,%eax
4577ba:	50                   	push   %eax
4577bb:	8d 45 e8             	lea    -0x18(%ebp),%eax
4577be:	50                   	push   %eax
4577bf:	8d 4d 08             	lea    0x8(%ebp),%ecx
4577c2:	e8 95 74 01 00       	call   0x46ec5c
4577c7:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4577cb:	8d 4d 08             	lea    0x8(%ebp),%ecx
4577ce:	50                   	push   %eax
4577cf:	e8 1f 9b fa ff       	call   0x4012f3
4577d4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4577d7:	83 c1 f0             	add    $0xfffffff0,%ecx
4577da:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4577de:	e8 6f 9b fa ff       	call   0x401352
4577e3:	57                   	push   %edi
4577e4:	6a 22                	push   $0x22
4577e6:	8d 4d 08             	lea    0x8(%ebp),%ecx
4577e9:	e8 ed 73 01 00       	call   0x46ebdb
4577ee:	8b f0                	mov    %eax,%esi
4577f0:	83 fe ff             	cmp    $0xffffffff,%esi
4577f3:	0f 84 5d 04 00 00    	je     0x457c56
4577f9:	56                   	push   %esi
4577fa:	8d 45 e8             	lea    -0x18(%ebp),%eax
4577fd:	50                   	push   %eax
4577fe:	8d 4d 08             	lea    0x8(%ebp),%ecx
457801:	e8 85 43 01 00       	call   0x46bb8b
457806:	50                   	push   %eax
457807:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45780a:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
45780e:	e8 e0 9a fa ff       	call   0x4012f3
457813:	8b 4d e8             	mov    -0x18(%ebp),%ecx
457816:	83 c1 f0             	add    $0xfffffff0,%ecx
457819:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45781d:	e8 30 9b fa ff       	call   0x401352
457822:	8b 45 08             	mov    0x8(%ebp),%eax
457825:	8b 40 f4             	mov    -0xc(%eax),%eax
457828:	2b c6                	sub    %esi,%eax
45782a:	50                   	push   %eax
45782b:	8d 45 f0             	lea    -0x10(%ebp),%eax
45782e:	50                   	push   %eax
45782f:	8d 4d 08             	lea    0x8(%ebp),%ecx
457832:	e8 25 74 01 00       	call   0x46ec5c
457837:	50                   	push   %eax
457838:	8d 4d 08             	lea    0x8(%ebp),%ecx
45783b:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
45783f:	e8 af 9a fa ff       	call   0x4012f3
457844:	8b 4d f0             	mov    -0x10(%ebp),%ecx
457847:	83 c1 f0             	add    $0xfffffff0,%ecx
45784a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45784e:	e8 ff 9a fa ff       	call   0x401352
457853:	33 db                	xor    %ebx,%ebx
457855:	43                   	inc    %ebx
457856:	89 7d e8             	mov    %edi,-0x18(%ebp)
457859:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45785c:	e8 a0 60 01 00       	call   0x46d901
457861:	8b 40 04             	mov    0x4(%eax),%eax
457864:	39 b8 88 00 00 00    	cmp    %edi,0x88(%eax)
45786a:	74 2c                	je     0x457898
45786c:	e8 90 60 01 00       	call   0x46d901
457871:	8b 70 04             	mov    0x4(%eax),%esi
457874:	e8 88 60 01 00       	call   0x46d901
457879:	8b 40 04             	mov    0x4(%eax),%eax
45787c:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
457882:	89 48 48             	mov    %ecx,0x48(%eax)
457885:	e8 77 60 01 00       	call   0x46d901
45788a:	8b 40 04             	mov    0x4(%eax),%eax
45788d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
457890:	89 88 88 00 00 00    	mov    %ecx,0x88(%eax)
457896:	eb 11                	jmp    0x4578a9
457898:	e8 64 60 01 00       	call   0x46d901
45789d:	8b 40 04             	mov    0x4(%eax),%eax
4578a0:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
4578a6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4578a9:	39 5d c8             	cmp    %ebx,-0x38(%ebp)
4578ac:	75 7f                	jne    0x45792d
4578ae:	e8 4e 60 01 00       	call   0x46d901
4578b3:	8b 40 04             	mov    0x4(%eax),%eax
4578b6:	8b 78 1c             	mov    0x1c(%eax),%edi
4578b9:	e8 43 60 01 00       	call   0x46d901
4578be:	8b 40 04             	mov    0x4(%eax),%eax
4578c1:	8b 70 48             	mov    0x48(%eax),%esi
4578c4:	83 fe ff             	cmp    $0xffffffff,%esi
4578c7:	74 04                	je     0x4578cd
4578c9:	3b f3                	cmp    %ebx,%esi
4578cb:	75 15                	jne    0x4578e2
4578cd:	ff 77 1c             	push   0x1c(%edi)
4578d0:	ff 15 90 08 4b 00    	call   *0x4b0890
4578d6:	8b f0                	mov    %eax,%esi
4578d8:	f7 de                	neg    %esi
4578da:	1b f6                	sbb    %esi,%esi
4578dc:	83 e6 04             	and    $0x4,%esi
4578df:	83 c6 05             	add    $0x5,%esi
4578e2:	56                   	push   %esi
4578e3:	8b cf                	mov    %edi,%ecx
4578e5:	e8 81 94 fe ff       	call   0x440d6b
4578ea:	83 fe 06             	cmp    $0x6,%esi
4578ed:	74 09                	je     0x4578f8
4578ef:	ff 77 1c             	push   0x1c(%edi)
4578f2:	ff 15 f4 06 4b 00    	call   *0x4b06f4
4578f8:	e8 04 60 01 00       	call   0x46d901
4578fd:	8b 40 04             	mov    0x4(%eax),%eax
457900:	ff 75 cc             	push   -0x34(%ebp)
457903:	8b 10                	mov    (%eax),%edx
457905:	8b c8                	mov    %eax,%ecx
457907:	ff 92 88 00 00 00    	call   *0x88(%edx)
45790d:	e8 73 83 00 00       	call   0x45fc85
457912:	85 c0                	test   %eax,%eax
457914:	75 06                	jne    0x45791c
457916:	53                   	push   %ebx
457917:	e8 5a 83 00 00       	call   0x45fc76
45791c:	e8 e0 5f 01 00       	call   0x46d901
457921:	8b 40 04             	mov    0x4(%eax),%eax
457924:	83 48 48 ff          	orl    $0xffffffff,0x48(%eax)
457928:	e9 15 03 00 00       	jmp    0x457c42
45792d:	83 7d c8 03          	cmpl   $0x3,-0x38(%ebp)
457931:	0f 85 78 02 00 00    	jne    0x457baf
457937:	6a 03                	push   $0x3
457939:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45793c:	50                   	push   %eax
45793d:	8d 4d 08             	lea    0x8(%ebp),%ecx
457940:	e8 46 42 01 00       	call   0x46bb8b
457945:	be 54 c2 48 00       	mov    $0x48c254,%esi
45794a:	56                   	push   %esi
45794b:	50                   	push   %eax
45794c:	e8 f2 72 01 00       	call   0x46ec43
457951:	59                   	pop    %ecx
457952:	59                   	pop    %ecx
457953:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
457956:	83 c1 f0             	add    $0xfffffff0,%ecx
457959:	8a d8                	mov    %al,%bl
45795b:	e8 f2 99 fa ff       	call   0x401352
457960:	84 db                	test   %bl,%bl
457962:	74 08                	je     0x45796c
457964:	89 7d f0             	mov    %edi,-0x10(%ebp)
457967:	e9 d6 02 00 00       	jmp    0x457c42
45796c:	8b 45 08             	mov    0x8(%ebp),%eax
45796f:	8b 40 f4             	mov    -0xc(%eax),%eax
457972:	83 c0 fd             	add    $0xfffffffd,%eax
457975:	50                   	push   %eax
457976:	8d 45 e4             	lea    -0x1c(%ebp),%eax
457979:	50                   	push   %eax
45797a:	8d 4d 08             	lea    0x8(%ebp),%ecx
45797d:	e8 da 72 01 00       	call   0x46ec5c
457982:	50                   	push   %eax
457983:	8d 4d 08             	lea    0x8(%ebp),%ecx
457986:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
45798a:	e8 64 99 fa ff       	call   0x4012f3
45798f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
457992:	83 c1 f0             	add    $0xfffffff0,%ecx
457995:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
457999:	e8 b4 99 fa ff       	call   0x401352
45799e:	57                   	push   %edi
45799f:	6a 22                	push   $0x22
4579a1:	8d 4d 08             	lea    0x8(%ebp),%ecx
4579a4:	e8 32 72 01 00       	call   0x46ebdb
4579a9:	8b f8                	mov    %eax,%edi
4579ab:	83 ff ff             	cmp    $0xffffffff,%edi
4579ae:	0f 84 96 01 00 00    	je     0x457b4a
4579b4:	57                   	push   %edi
4579b5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4579b8:	50                   	push   %eax
4579b9:	8d 4d 08             	lea    0x8(%ebp),%ecx
4579bc:	e8 ca 41 01 00       	call   0x46bb8b
4579c1:	50                   	push   %eax
4579c2:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4579c5:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4579c9:	e8 25 99 fa ff       	call   0x4012f3
4579ce:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4579d1:	83 c1 f0             	add    $0xfffffff0,%ecx
4579d4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4579d8:	e8 75 99 fa ff       	call   0x401352
4579dd:	8b 45 08             	mov    0x8(%ebp),%eax
4579e0:	8b 40 f4             	mov    -0xc(%eax),%eax
4579e3:	2b c7                	sub    %edi,%eax
4579e5:	50                   	push   %eax
4579e6:	8d 45 e0             	lea    -0x20(%ebp),%eax
4579e9:	50                   	push   %eax
4579ea:	8d 4d 08             	lea    0x8(%ebp),%ecx
4579ed:	e8 6a 72 01 00       	call   0x46ec5c
4579f2:	50                   	push   %eax
4579f3:	8d 4d 08             	lea    0x8(%ebp),%ecx
4579f6:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
4579fa:	e8 f4 98 fa ff       	call   0x4012f3
4579ff:	8b 4d e0             	mov    -0x20(%ebp),%ecx
457a02:	83 c1 f0             	add    $0xfffffff0,%ecx
457a05:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
457a09:	e8 44 99 fa ff       	call   0x401352
457a0e:	6a 03                	push   $0x3
457a10:	8d 45 dc             	lea    -0x24(%ebp),%eax
457a13:	50                   	push   %eax
457a14:	8d 4d 08             	lea    0x8(%ebp),%ecx
457a17:	e8 6f 41 01 00       	call   0x46bb8b
457a1c:	56                   	push   %esi
457a1d:	50                   	push   %eax
457a1e:	e8 20 72 01 00       	call   0x46ec43
457a23:	59                   	pop    %ecx
457a24:	59                   	pop    %ecx
457a25:	8b 4d dc             	mov    -0x24(%ebp),%ecx
457a28:	83 c1 f0             	add    $0xfffffff0,%ecx
457a2b:	8a d8                	mov    %al,%bl
457a2d:	e8 20 99 fa ff       	call   0x401352
457a32:	84 db                	test   %bl,%bl
457a34:	0f 85 10 01 00 00    	jne    0x457b4a
457a3a:	8b 45 08             	mov    0x8(%ebp),%eax
457a3d:	8b 40 f4             	mov    -0xc(%eax),%eax
457a40:	83 c0 fd             	add    $0xfffffffd,%eax
457a43:	50                   	push   %eax
457a44:	8d 45 dc             	lea    -0x24(%ebp),%eax
457a47:	50                   	push   %eax
457a48:	8d 4d 08             	lea    0x8(%ebp),%ecx
457a4b:	e8 0c 72 01 00       	call   0x46ec5c
457a50:	50                   	push   %eax
457a51:	8d 4d 08             	lea    0x8(%ebp),%ecx
457a54:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
457a58:	e8 96 98 fa ff       	call   0x4012f3
457a5d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
457a60:	83 c1 f0             	add    $0xfffffff0,%ecx
457a63:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
457a67:	e8 e6 98 fa ff       	call   0x401352
457a6c:	6a 00                	push   $0x0
457a6e:	6a 22                	push   $0x22
457a70:	8d 4d 08             	lea    0x8(%ebp),%ecx