46b700:	89 45 f0             	mov    %eax,-0x10(%ebp)
46b703:	8d 5d ec             	lea    -0x14(%ebp),%ebx
46b706:	e8 e8 7f f9 ff       	call   0x4036f3
46b70b:	51                   	push   %ecx
46b70c:	c1 e1 02             	shl    $0x2,%ecx
46b70f:	83 c1 08             	add    $0x8,%ecx
46b712:	51                   	push   %ecx
46b713:	e8 86 4e 03 00       	call   0x4a059e
46b718:	83 c4 04             	add    $0x4,%esp
46b71b:	8b f8                	mov    %eax,%edi
46b71d:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
46b723:	83 c7 04             	add    $0x4,%edi
46b726:	59                   	pop    %ecx
46b727:	50                   	push   %eax
46b728:	51                   	push   %ecx
46b729:	8d 75 f0             	lea    -0x10(%ebp),%esi
46b72c:	ad                   	lods   %ds:(%esi),%eax
46b72d:	ab                   	stos   %eax,%es:(%edi)
46b72e:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b731:	8b 1b                	mov    (%ebx),%ebx
46b733:	e8 bb 7f f9 ff       	call   0x4036f3
46b738:	5a                   	pop    %edx
46b739:	85 c9                	test   %ecx,%ecx
46b73b:	0f 84 1d 00 00 00    	je     0x46b75e
46b741:	57                   	push   %edi
46b742:	52                   	push   %edx
46b743:	51                   	push   %ecx
46b744:	53                   	push   %ebx
46b745:	8b 1b                	mov    (%ebx),%ebx
46b747:	85 db                	test   %ebx,%ebx
46b749:	74 09                	je     0x46b754
46b74b:	53                   	push   %ebx
46b74c:	e8 53 4e 03 00       	call   0x4a05a4
46b751:	83 c4 04             	add    $0x4,%esp
46b754:	5b                   	pop    %ebx
46b755:	59                   	pop    %ecx
46b756:	83 c3 04             	add    $0x4,%ebx
46b759:	49                   	dec    %ecx
46b75a:	75 e7                	jne    0x46b743
46b75c:	5a                   	pop    %edx
46b75d:	5f                   	pop    %edi
46b75e:	85 d2                	test   %edx,%edx
46b760:	0f 84 06 00 00 00    	je     0x46b76c
46b766:	8b ca                	mov    %edx,%ecx
46b768:	33 c0                	xor    %eax,%eax
46b76a:	f3 ab                	rep stos %eax,%es:(%edi)
46b76c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b76f:	ff 33                	push   (%ebx)
46b771:	e8 2e 4e 03 00       	call   0x4a05a4
46b776:	83 c4 04             	add    $0x4,%esp
46b779:	58                   	pop    %eax
46b77a:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b77d:	89 03                	mov    %eax,(%ebx)
46b77f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b782:	83 c3 04             	add    $0x4,%ebx
46b785:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b788:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
46b78f:	8b 45 fc             	mov    -0x4(%ebp),%eax
46b792:	83 f8 00             	cmp    $0x0,%eax
46b795:	7d 17                	jge    0x46b7ae
46b797:	68 97 00 00 00       	push   $0x97
46b79c:	68 a0 d1 03 04       	push   $0x403d1a0
46b7a1:	68 0a 00 00 00       	push   $0xa
46b7a6:	e8 ff 4d 03 00       	call   0x4a05aa
46b7ab:	83 c4 0c             	add    $0xc,%esp
46b7ae:	89 45 f0             	mov    %eax,-0x10(%ebp)
46b7b1:	8d 5d ec             	lea    -0x14(%ebp),%ebx
46b7b4:	e8 3a 7f f9 ff       	call   0x4036f3
46b7b9:	51                   	push   %ecx
46b7ba:	c1 e1 02             	shl    $0x2,%ecx
46b7bd:	83 c1 08             	add    $0x8,%ecx
46b7c0:	51                   	push   %ecx
46b7c1:	e8 d8 4d 03 00       	call   0x4a059e
46b7c6:	83 c4 04             	add    $0x4,%esp
46b7c9:	8b f8                	mov    %eax,%edi
46b7cb:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
46b7d1:	83 c7 04             	add    $0x4,%edi
46b7d4:	59                   	pop    %ecx
46b7d5:	50                   	push   %eax
46b7d6:	51                   	push   %ecx
46b7d7:	8d 75 f0             	lea    -0x10(%ebp),%esi
46b7da:	ad                   	lods   %ds:(%esi),%eax
46b7db:	ab                   	stos   %eax,%es:(%edi)
46b7dc:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b7df:	8b 1b                	mov    (%ebx),%ebx
46b7e1:	e8 0d 7f f9 ff       	call   0x4036f3
46b7e6:	5a                   	pop    %edx
46b7e7:	85 d2                	test   %edx,%edx
46b7e9:	0f 84 06 00 00 00    	je     0x46b7f5
46b7ef:	8b ca                	mov    %edx,%ecx
46b7f1:	33 c0                	xor    %eax,%eax
46b7f3:	f3 ab                	rep stos %eax,%es:(%edi)
46b7f5:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b7f8:	ff 33                	push   (%ebx)
46b7fa:	e8 a5 4d 03 00       	call   0x4a05a4
46b7ff:	83 c4 04             	add    $0x4,%esp
46b802:	58                   	pop    %eax
46b803:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b806:	89 03                	mov    %eax,(%ebx)
46b808:	83 7d 38 00          	cmpl   $0x0,0x38(%ebp)
46b80c:	0f 85 16 00 00 00    	jne    0x46b828
46b812:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b815:	8b 1b                	mov    (%ebx),%ebx
46b817:	81 c3 6c 01 00 00    	add    $0x16c,%ebx
46b81d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b820:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b823:	8b 03                	mov    (%ebx),%eax
46b825:	89 45 34             	mov    %eax,0x34(%ebp)
46b828:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b82b:	8b 1b                	mov    (%ebx),%ebx
46b82d:	e8 c1 7e f9 ff       	call   0x4036f3
46b832:	b8 00 00 00 00       	mov    $0x0,%eax
46b837:	3b c1                	cmp    %ecx,%eax
46b839:	7c 17                	jl     0x46b852
46b83b:	68 14 01 00 00       	push   $0x114
46b840:	68 a0 d1 03 04       	push   $0x403d1a0
46b845:	68 01 00 00 00       	push   $0x1
46b84a:	e8 5b 4d 03 00       	call   0x4a05aa
46b84f:	83 c4 0c             	add    $0xc,%esp
46b852:	c1 e0 02             	shl    $0x2,%eax
46b855:	03 d8                	add    %eax,%ebx
46b857:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b85a:	8b 5d 14             	mov    0x14(%ebp),%ebx
46b85d:	8b 03                	mov    (%ebx),%eax
46b85f:	85 c0                	test   %eax,%eax
46b861:	74 13                	je     0x46b876
46b863:	50                   	push   %eax
46b864:	8b 40 04             	mov    0x4(%eax),%eax
46b867:	83 c0 08             	add    $0x8,%eax
46b86a:	50                   	push   %eax
46b86b:	e8 2e 4d 03 00       	call   0x4a059e
46b870:	59                   	pop    %ecx
46b871:	5e                   	pop    %esi
46b872:	8b f8                	mov    %eax,%edi
46b874:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46b876:	50                   	push   %eax
46b877:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b87a:	8b 1b                	mov    (%ebx),%ebx
46b87c:	85 db                	test   %ebx,%ebx
46b87e:	74 09                	je     0x46b889
46b880:	53                   	push   %ebx
46b881:	e8 1e 4d 03 00       	call   0x4a05a4
46b886:	83 c4 04             	add    $0x4,%esp
46b889:	58                   	pop    %eax
46b88a:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b88d:	89 03                	mov    %eax,(%ebx)
46b88f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b892:	8b 5b 04             	mov    0x4(%ebx),%ebx
46b895:	e8 59 7e f9 ff       	call   0x4036f3
46b89a:	b8 00 00 00 00       	mov    $0x0,%eax
46b89f:	3b c1                	cmp    %ecx,%eax
46b8a1:	7c 17                	jl     0x46b8ba
46b8a3:	68 44 01 00 00       	push   $0x144
46b8a8:	68 a0 d1 03 04       	push   $0x403d1a0
46b8ad:	68 01 00 00 00       	push   $0x1
46b8b2:	e8 f3 4c 03 00       	call   0x4a05aa
46b8b7:	83 c4 0c             	add    $0xc,%esp
46b8ba:	c1 e0 02             	shl    $0x2,%eax
46b8bd:	03 d8                	add    %eax,%ebx
46b8bf:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b8c2:	8b 45 1c             	mov    0x1c(%ebp),%eax
46b8c5:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b8c8:	89 03                	mov    %eax,(%ebx)
46b8ca:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b8cd:	83 c3 10             	add    $0x10,%ebx
46b8d0:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b8d3:	8b 45 24             	mov    0x24(%ebp),%eax
46b8d6:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b8d9:	89 03                	mov    %eax,(%ebx)
46b8db:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b8de:	83 c3 18             	add    $0x18,%ebx
46b8e1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b8e4:	8b 45 2c             	mov    0x2c(%ebp),%eax
46b8e7:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b8ea:	89 03                	mov    %eax,(%ebx)
46b8ec:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b8ef:	83 c3 08             	add    $0x8,%ebx
46b8f2:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b8f5:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b8f8:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
46b8fe:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b901:	83 c3 1c             	add    $0x1c,%ebx
46b904:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b907:	8b 45 34             	mov    0x34(%ebp),%eax
46b90a:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b90d:	89 03                	mov    %eax,(%ebx)
46b90f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b912:	83 c3 20             	add    $0x20,%ebx
46b915:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b918:	8b 45 3c             	mov    0x3c(%ebp),%eax
46b91b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b91e:	89 03                	mov    %eax,(%ebx)
46b920:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b923:	8b 5b 24             	mov    0x24(%ebx),%ebx
46b926:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b929:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b92c:	8b 1b                	mov    (%ebx),%ebx
46b92e:	81 c3 48 01 00 00    	add    $0x148,%ebx
46b934:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46b937:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46b93a:	8b 03                	mov    (%ebx),%eax
46b93c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b93f:	89 03                	mov    %eax,(%ebx)
46b941:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46b944:	8b 5b 24             	mov    0x24(%ebx),%ebx
46b947:	83 c3 04             	add    $0x4,%ebx
46b94a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b94d:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b950:	8b 1b                	mov    (%ebx),%ebx
46b952:	81 c3 4c 01 00 00    	add    $0x14c,%ebx
46b958:	89 5d f0             	mov    %ebx,-0x10(%ebp)
46b95b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46b95e:	8b 03                	mov    (%ebx),%eax
46b960:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b963:	89 03                	mov    %eax,(%ebx)
46b965:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46b969:	0f 85 38 00 00 00    	jne    0x46b9a7
46b96f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b972:	8b 1b                	mov    (%ebx),%ebx
46b974:	81 c3 1c 01 00 00    	add    $0x11c,%ebx
46b97a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b97d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b980:	8b 1b                	mov    (%ebx),%ebx
46b982:	e8 c3 2a fa ff       	call   0x40e44a
46b987:	89 45 e8             	mov    %eax,-0x18(%ebp)
46b98a:	db 45 e8             	fildl  -0x18(%ebp)
46b98d:	dd 5d e8             	fstpl  -0x18(%ebp)
46b990:	dd 45 e8             	fldl   -0x18(%ebp)
46b993:	dc 05 9a bb 4c 00    	faddl  0x4cbb9a
46b999:	dd 5d e0             	fstpl  -0x20(%ebp)
46b99c:	dd 45 e0             	fldl   -0x20(%ebp)
46b99f:	e8 4b 58 f9 ff       	call   0x4011ef
46b9a4:	89 45 0c             	mov    %eax,0xc(%ebp)
46b9a7:	8b 5d 08             	mov    0x8(%ebp),%ebx
46b9aa:	8b 1b                	mov    (%ebx),%ebx
46b9ac:	81 c3 1c 01 00 00    	add    $0x11c,%ebx
46b9b2:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46b9b5:	ff 75 f4             	push   -0xc(%ebp)
46b9b8:	6a 04                	push   $0x4
46b9ba:	b8 02 00 00 00       	mov    $0x2,%eax
46b9bf:	e8 ac 54 03 00       	call   0x4a0e70
46b9c4:	83 c4 08             	add    $0x8,%esp
46b9c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b9ca:	89 45 f0             	mov    %eax,-0x10(%ebp)
46b9cd:	8b 45 0c             	mov    0xc(%ebp),%eax
46b9d0:	48                   	dec    %eax
46b9d1:	0f 8c 2d 01 00 00    	jl     0x46bb04
46b9d7:	89 45 ec             	mov    %eax,-0x14(%ebp)
46b9da:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46b9dd:	8b 1b                	mov    (%ebx),%ebx
46b9df:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46b9e2:	e8 0c 7d f9 ff       	call   0x4036f3
46b9e7:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46b9ea:	39 4d ec             	cmp    %ecx,-0x14(%ebp)
46b9ed:	0f 8f 11 01 00 00    	jg     0x46bb04
46b9f3:	8b 7d e8             	mov    -0x18(%ebp),%edi
46b9f6:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
46b9fc:	83 c7 04             	add    $0x4,%edi
46b9ff:	8b c1                	mov    %ecx,%eax
46ba01:	40                   	inc    %eax
46ba02:	89 07                	mov    %eax,(%edi)
46ba04:	83 c7 04             	add    $0x4,%edi
46ba07:	3b fb                	cmp    %ebx,%edi
46ba09:	74 04                	je     0x46ba0f
46ba0b:	8b f3                	mov    %ebx,%esi
46ba0d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ba0f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46ba12:	40                   	inc    %eax
46ba13:	c1 e0 02             	shl    $0x2,%eax
46ba16:	83 c0 08             	add    $0x8,%eax
46ba19:	50                   	push   %eax
46ba1a:	ff 75 e8             	push   -0x18(%ebp)
46ba1d:	e8 8e 4b 03 00       	call   0x4a05b0
46ba22:	83 c4 08             	add    $0x8,%esp
46ba25:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46ba28:	89 03                	mov    %eax,(%ebx)
46ba2a:	8b f0                	mov    %eax,%esi
46ba2c:	83 c6 08             	add    $0x8,%esi
46ba2f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46ba32:	8b d9                	mov    %ecx,%ebx
46ba34:	c1 e3 02             	shl    $0x2,%ebx
46ba37:	03 f3                	add    %ebx,%esi
46ba39:	83 ee 04             	sub    $0x4,%esi
46ba3c:	2b 4d ec             	sub    -0x14(%ebp),%ecx
46ba3f:	8b fe                	mov    %esi,%edi
46ba41:	83 c7 04             	add    $0x4,%edi
46ba44:	fd                   	std
46ba45:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ba47:	8b fe                	mov    %esi,%edi
46ba49:	83 c7 04             	add    $0x4,%edi
46ba4c:	fc                   	cld
46ba4d:	8b 45 f0             	mov    -0x10(%ebp),%eax
46ba50:	57                   	push   %edi
46ba51:	50                   	push   %eax
46ba52:	68 28 00 00 00       	push   $0x28
46ba57:	e8 42 4b 03 00       	call   0x4a059e
46ba5c:	83 c4 04             	add    $0x4,%esp
46ba5f:	5e                   	pop    %esi
46ba60:	8b f8                	mov    %eax,%edi
46ba62:	50                   	push   %eax
46ba63:	ad                   	lods   %ds:(%esi),%eax
46ba64:	56                   	push   %esi
46ba65:	57                   	push   %edi
46ba66:	50                   	push   %eax
46ba67:	8b d8                	mov    %eax,%ebx
46ba69:	e8 85 7c f9 ff       	call   0x4036f3
46ba6e:	58                   	pop    %eax
46ba6f:	2b d8                	sub    %eax,%ebx
46ba71:	51                   	push   %ecx
46ba72:	53                   	push   %ebx
46ba73:	50                   	push   %eax
46ba74:	c1 e1 02             	shl    $0x2,%ecx
46ba77:	03 cb                	add    %ebx,%ecx
46ba79:	51                   	push   %ecx
46ba7a:	e8 1f 4b 03 00       	call   0x4a059e
46ba7f:	83 c4 04             	add    $0x4,%esp
46ba82:	5e                   	pop    %esi
46ba83:	8b f8                	mov    %eax,%edi
46ba85:	59                   	pop    %ecx
46ba86:	c1 e9 02             	shr    $0x2,%ecx
46ba89:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ba8b:	59                   	pop    %ecx
46ba8c:	85 c9                	test   %ecx,%ecx
46ba8e:	0f 84 28 00 00 00    	je     0x46babc
46ba94:	50                   	push   %eax
46ba95:	ad                   	lods   %ds:(%esi),%eax
46ba96:	56                   	push   %esi
46ba97:	57                   	push   %edi
46ba98:	51                   	push   %ecx
46ba99:	85 c0                	test   %eax,%eax
46ba9b:	74 13                	je     0x46bab0
46ba9d:	50                   	push   %eax
46ba9e:	8b 40 04             	mov    0x4(%eax),%eax
46baa1:	83 c0 08             	add    $0x8,%eax
46baa4:	50                   	push   %eax
46baa5:	e8 f4 4a 03 00       	call   0x4a059e
46baaa:	59                   	pop    %ecx
46baab:	5e                   	pop    %esi
46baac:	8b f8                	mov    %eax,%edi
46baae:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
46bab0:	59                   	pop    %ecx
46bab1:	5f                   	pop    %edi
46bab2:	5e                   	pop    %esi
46bab3:	ab                   	stos   %eax,%es:(%edi)
46bab4:	49                   	dec    %ecx
46bab5:	0f 85 da ff ff ff    	jne    0x46ba95
46babb:	58                   	pop    %eax
46babc:	5f                   	pop    %edi
46babd:	5e                   	pop    %esi
46babe:	ab                   	stos   %eax,%es:(%edi)