46c721:	41                   	inc    %ecx
46c722:	e9 62 ff ff ff       	jmp    0x46c689
46c727:	33 ff                	xor    %edi,%edi
46c729:	57                   	push   %edi
46c72a:	8b cb                	mov    %ebx,%ecx
46c72c:	e8 65 f8 ff ff       	call   0x46bf96
46c731:	51                   	push   %ecx
46c732:	51                   	push   %ecx
46c733:	8d 45 d8             	lea    -0x28(%ebp),%eax
46c736:	dd 1c 24             	fstpl  (%esp)
46c739:	50                   	push   %eax
46c73a:	e8 92 00 00 00       	call   0x46c7d1
46c73f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46c742:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46c746:	ff 15 20 74 4a 00    	call   *0x4a7420
46c74c:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46c750:	8d 45 dc             	lea    -0x24(%ebp),%eax
46c753:	ff 75 d8             	push   -0x28(%ebp)
46c756:	57                   	push   %edi
46c757:	68 dc 32 41 00       	push   $0x4132dc
46c75c:	50                   	push   %eax
46c75d:	ff 15 c0 75 4a 00    	call   *0x4a75c0
46c763:	83 c4 10             	add    $0x10,%esp
46c766:	8d 45 dc             	lea    -0x24(%ebp),%eax
46c769:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46c76c:	50                   	push   %eax
46c76d:	ff 15 b8 78 4a 00    	call   *0x4a78b8
46c773:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46c776:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c77c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46c77f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46c783:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c789:	47                   	inc    %edi
46c78a:	83 ff 64             	cmp    $0x64,%edi
46c78d:	7e 9a                	jle    0x46c729
46c78f:	ff 75 d4             	push   -0x2c(%ebp)
46c792:	8b 83 80 02 00 00    	mov    0x280(%ebx),%eax
46c798:	be 94 f7 40 00       	mov    $0x40f794,%esi
46c79d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
46c7a0:	83 ec 10             	sub    $0x10,%esp
46c7a3:	8b fc                	mov    %esp,%edi
46c7a5:	8b 18                	mov    (%eax),%ebx
46c7a7:	6a 00                	push   $0x0
46c7a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7aa:	6a fc                	push   $0xfffffffc
46c7ac:	ff b1 4c 02 00 00    	push   0x24c(%ecx)
46c7b2:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
46c7b5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7b6:	50                   	push   %eax
46c7b7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7b8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7b9:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c7bf:	ff 53 1c             	call   *0x1c(%ebx)
46c7c2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46c7c5:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c7cb:	e8 e5 3c 02 00       	call   0x4904b5
46c7d0:	c3                   	ret
46c7d1:	6a 68                	push   $0x68
46c7d3:	b8 f6 55 49 00       	mov    $0x4955f6,%eax
46c7d8:	e8 29 3d 02 00       	call   0x490506
46c7dd:	8b f1                	mov    %ecx,%esi
46c7df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46c7e3:	8b 7d 08             	mov    0x8(%ebp),%edi
46c7e6:	dd 45 0c             	fldl   0xc(%ebp)
46c7e9:	89 7d 94             	mov    %edi,-0x6c(%ebp)
46c7ec:	83 65 9c 00          	andl   $0x0,-0x64(%ebp)
46c7f0:	dc 0d 98 42 41 00    	fmull  0x414298
46c7f6:	e8 45 ed ff ff       	call   0x46b540
46c7fb:	84 c0                	test   %al,%al
46c7fd:	75 11                	jne    0x46c810
46c7ff:	dc 05 88 41 41 00    	faddl  0x414188
46c805:	e8 17 48 02 00       	call   0x491021
46c80a:	89 45 a0             	mov    %eax,-0x60(%ebp)
46c80d:	db 45 a0             	fildl  -0x60(%ebp)
46c810:	d9 c0                	fld    %st(0)
46c812:	e8 0a 48 02 00       	call   0x491021
46c817:	89 45 a0             	mov    %eax,-0x60(%ebp)
46c81a:	db 45 a0             	fildl  -0x60(%ebp)
46c81d:	dd 5d 8c             	fstpl  -0x74(%ebp)
46c820:	dd 45 8c             	fldl   -0x74(%ebp)
46c823:	dd e9                	fucomp %st(1)
46c825:	df e0                	fnstsw %ax
46c827:	f6 c4 44             	test   $0x44,%ah
46c82a:	7b 04                	jnp    0x46c830
46c82c:	b3 01                	mov    $0x1,%bl
46c82e:	eb 02                	jmp    0x46c832
46c830:	32 db                	xor    %bl,%bl
46c832:	51                   	push   %ecx
46c833:	51                   	push   %ecx
46c834:	dd 1c 24             	fstpl  (%esp)
46c837:	0f b6 c3             	movzbl %bl,%eax
46c83a:	50                   	push   %eax
46c83b:	68 ec 32 41 00       	push   $0x4132ec
46c840:	8d 45 a4             	lea    -0x5c(%ebp),%eax
46c843:	6a 14                	push   $0x14
46c845:	50                   	push   %eax
46c846:	ff 15 d8 80 4a 00    	call   *0x4a80d8
46c84c:	83 c4 18             	add    $0x18,%esp
46c84f:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c852:	ff 15 20 74 4a 00    	call   *0x4a7420
46c858:	6a 18                	push   $0x18
46c85a:	6a 18                	push   $0x18
46c85c:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c85f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46c866:	ff 15 10 76 4a 00    	call   *0x4a7610
46c86c:	50                   	push   %eax
46c86d:	33 c9                	xor    %ecx,%ecx
46c86f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
46c872:	51                   	push   %ecx
46c873:	50                   	push   %eax
46c874:	51                   	push   %ecx
46c875:	51                   	push   %ecx
46c876:	ff 15 dc 7e 4a 00    	call   *0x4a7edc
46c87c:	85 c0                	test   %eax,%eax
46c87e:	7f 0d                	jg     0x46c88d
46c880:	8d 45 a4             	lea    -0x5c(%ebp),%eax
46c883:	50                   	push   %eax
46c884:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c887:	ff 15 64 75 4a 00    	call   *0x4a7564
46c88d:	84 db                	test   %bl,%bl
46c88f:	75 2c                	jne    0x46c8bd
46c891:	6a 08                	push   $0x8
46c893:	8d 45 dc             	lea    -0x24(%ebp),%eax
46c896:	50                   	push   %eax
46c897:	6a 0e                	push   $0xe
46c899:	6a 00                	push   $0x0
46c89b:	ff 15 d4 7e 4a 00    	call   *0x4a7ed4
46c8a1:	ff 75 dc             	push   -0x24(%ebp)
46c8a4:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c8a7:	ff 15 b4 75 4a 00    	call   *0x4a75b4
46c8ad:	85 c0                	test   %eax,%eax
46c8af:	7e 0c                	jle    0x46c8bd
46c8b1:	6a 00                	push   $0x0
46c8b3:	50                   	push   %eax
46c8b4:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c8b7:	ff 15 4c 73 4a 00    	call   *0x4a734c
46c8bd:	8b cf                	mov    %edi,%ecx
46c8bf:	ff 15 20 74 4a 00    	call   *0x4a7420
46c8c5:	8b 9e 7c 02 00 00    	mov    0x27c(%esi),%ebx
46c8cb:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
46c8d2:	85 db                	test   %ebx,%ebx
46c8d4:	74 35                	je     0x46c90b
46c8d6:	8b 03                	mov    (%ebx),%eax
46c8d8:	8d 4d 98             	lea    -0x68(%ebp),%ecx
46c8db:	6a 02                	push   $0x2
46c8dd:	51                   	push   %ecx
46c8de:	8b 70 08             	mov    0x8(%eax),%esi
46c8e1:	8b ce                	mov    %esi,%ecx
46c8e3:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c8e9:	8b cb                	mov    %ebx,%ecx
46c8eb:	ff d6                	call   *%esi
46c8ed:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46c8f1:	ff 75 a0             	push   -0x60(%ebp)
46c8f4:	ff 30                	push   (%eax)
46c8f6:	57                   	push   %edi
46c8f7:	ff 15 c0 75 4a 00    	call   *0x4a75c0
46c8fd:	83 c4 0c             	add    $0xc,%esp
46c900:	8d 4d 98             	lea    -0x68(%ebp),%ecx
46c903:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c909:	eb 4f                	jmp    0x46c95a
46c90b:	6a 08                	push   $0x8
46c90d:	8d 45 cc             	lea    -0x34(%ebp),%eax
46c910:	50                   	push   %eax
46c911:	6a 75                	push   $0x75
46c913:	6a 00                	push   $0x0
46c915:	ff 15 d4 7e 4a 00    	call   *0x4a7ed4
46c91b:	0f b7 45 cc          	movzwl -0x34(%ebp),%eax
46c91f:	ff 75 a0             	push   -0x60(%ebp)
46c922:	83 e8 30             	sub    $0x30,%eax
46c925:	74 24                	je     0x46c94b
46c927:	83 e8 01             	sub    $0x1,%eax
46c92a:	74 0a                	je     0x46c936
46c92c:	83 e8 01             	sub    $0x1,%eax
46c92f:	74 13                	je     0x46c944
46c931:	83 e8 01             	sub    $0x1,%eax
46c934:	74 07                	je     0x46c93d
46c936:	68 04 33 41 00       	push   $0x413304
46c93b:	eb 13                	jmp    0x46c950
46c93d:	68 1c 33 41 00       	push   $0x41331c
46c942:	eb 0c                	jmp    0x46c950
46c944:	68 10 33 41 00       	push   $0x413310
46c949:	eb 05                	jmp    0x46c950
46c94b:	68 f8 32 41 00       	push   $0x4132f8
46c950:	57                   	push   %edi
46c951:	ff 15 c0 75 4a 00    	call   *0x4a75c0
46c957:	83 c4 0c             	add    $0xc,%esp
46c95a:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c95d:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c963:	8b c7                	mov    %edi,%eax
46c965:	e8 4b 3b 02 00       	call   0x4904b5
46c96a:	c2 0c 00             	ret    $0xc
46c96d:	6a 14                	push   $0x14
46c96f:	b8 1b 56 49 00       	mov    $0x49561b,%eax
46c974:	e8 c3 3b 02 00       	call   0x49053c
46c979:	8b f9                	mov    %ecx,%edi
46c97b:	8b 5d 10             	mov    0x10(%ebp),%ebx
46c97e:	2b 5d 0c             	sub    0xc(%ebp),%ebx
46c981:	8b 4f 04             	mov    0x4(%edi),%ecx
46c984:	c1 fb 03             	sar    $0x3,%ebx
46c987:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
46c98a:	85 c9                	test   %ecx,%ecx
46c98c:	75 06                	jne    0x46c994
46c98e:	33 f6                	xor    %esi,%esi
46c990:	8b d6                	mov    %esi,%edx
46c992:	eb 0a                	jmp    0x46c99e
46c994:	8b 57 0c             	mov    0xc(%edi),%edx
46c997:	2b d1                	sub    %ecx,%edx
46c999:	c1 fa 03             	sar    $0x3,%edx
46c99c:	33 f6                	xor    %esi,%esi
46c99e:	85 db                	test   %ebx,%ebx
46c9a0:	0f 84 e3 01 00 00    	je     0x46cb89
46c9a6:	85 c9                	test   %ecx,%ecx
46c9a8:	75 05                	jne    0x46c9af
46c9aa:	89 75 e8             	mov    %esi,-0x18(%ebp)
46c9ad:	eb 0b                	jmp    0x46c9ba
46c9af:	8b 47 08             	mov    0x8(%edi),%eax
46c9b2:	2b c1                	sub    %ecx,%eax
46c9b4:	c1 f8 03             	sar    $0x3,%eax
46c9b7:	89 45 e8             	mov    %eax,-0x18(%ebp)
46c9ba:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
46c9bf:	89 45 ec             	mov    %eax,-0x14(%ebp)
46c9c2:	2b 45 e8             	sub    -0x18(%ebp),%eax
46c9c5:	3b c3                	cmp    %ebx,%eax
46c9c7:	0f 82 c4 01 00 00    	jb     0x46cb91
46c9cd:	85 c9                	test   %ecx,%ecx
46c9cf:	75 04                	jne    0x46c9d5
46c9d1:	8b c6                	mov    %esi,%eax
46c9d3:	eb 08                	jmp    0x46c9dd
46c9d5:	8b 47 08             	mov    0x8(%edi),%eax
46c9d8:	2b c1                	sub    %ecx,%eax
46c9da:	c1 f8 03             	sar    $0x3,%eax
46c9dd:	03 c3                	add    %ebx,%eax
46c9df:	3b d0                	cmp    %eax,%edx
46c9e1:	0f 83 e3 00 00 00    	jae    0x46caca
46c9e7:	8b c2                	mov    %edx,%eax
46c9e9:	d1 e8                	shr    $1,%eax
46c9eb:	29 45 ec             	sub    %eax,-0x14(%ebp)
46c9ee:	03 c2                	add    %edx,%eax
46c9f0:	39 55 ec             	cmp    %edx,-0x14(%ebp)
46c9f3:	1b d2                	sbb    %edx,%edx
46c9f5:	f7 d2                	not    %edx
46c9f7:	23 d0                	and    %eax,%edx
46c9f9:	89 55 e8             	mov    %edx,-0x18(%ebp)
46c9fc:	85 c9                	test   %ecx,%ecx
46c9fe:	75 04                	jne    0x46ca04
46ca00:	8b c6                	mov    %esi,%eax
46ca02:	eb 08                	jmp    0x46ca0c
46ca04:	8b 47 08             	mov    0x8(%edi),%eax
46ca07:	2b c1                	sub    %ecx,%eax
46ca09:	c1 f8 03             	sar    $0x3,%eax
46ca0c:	03 c3                	add    %ebx,%eax
46ca0e:	3b d0                	cmp    %eax,%edx
46ca10:	73 16                	jae    0x46ca28
46ca12:	85 c9                	test   %ecx,%ecx
46ca14:	75 04                	jne    0x46ca1a
46ca16:	8b c6                	mov    %esi,%eax
46ca18:	eb 08                	jmp    0x46ca22
46ca1a:	8b 47 08             	mov    0x8(%edi),%eax
46ca1d:	2b c1                	sub    %ecx,%eax
46ca1f:	c1 f8 03             	sar    $0x3,%eax
46ca22:	8d 14 18             	lea    (%eax,%ebx,1),%edx
46ca25:	89 55 e8             	mov    %edx,-0x18(%ebp)
46ca28:	52                   	push   %edx
46ca29:	e8 3c 0f fb ff       	call   0x41d96a
46ca2e:	89 75 fc             	mov    %esi,-0x4(%ebp)
46ca31:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ca34:	2b 4f 04             	sub    0x4(%edi),%ecx
46ca37:	c1 f9 03             	sar    $0x3,%ecx
46ca3a:	8b d1                	mov    %ecx,%edx
46ca3c:	89 45 ec             	mov    %eax,-0x14(%ebp)
46ca3f:	c1 e2 03             	shl    $0x3,%edx
46ca42:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
46ca45:	89 5d e0             	mov    %ebx,-0x20(%ebp)
46ca48:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
46ca4b:	85 c9                	test   %ecx,%ecx
46ca4d:	74 0f                	je     0x46ca5e
46ca4f:	52                   	push   %edx
46ca50:	ff 77 04             	push   0x4(%edi)
46ca53:	52                   	push   %edx
46ca54:	50                   	push   %eax
46ca55:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46ca5b:	83 c4 10             	add    $0x10,%esp
46ca5e:	ff 75 e0             	push   -0x20(%ebp)
46ca61:	8b 4d e0             	mov    -0x20(%ebp),%ecx
46ca64:	ff 75 e0             	push   -0x20(%ebp)
46ca67:	ff 75 10             	push   0x10(%ebp)
46ca6a:	ff 75 0c             	push   0xc(%ebp)
46ca6d:	e8 70 01 00 00       	call   0x46cbe2
46ca72:	8b c8                	mov    %eax,%ecx
46ca74:	8b 47 08             	mov    0x8(%edi),%eax
46ca77:	2b 45 08             	sub    0x8(%ebp),%eax
46ca7a:	c1 f8 03             	sar    $0x3,%eax
46ca7d:	85 c0                	test   %eax,%eax
46ca7f:	74 12                	je     0x46ca93
46ca81:	c1 e0 03             	shl    $0x3,%eax
46ca84:	50                   	push   %eax
46ca85:	ff 75 08             	push   0x8(%ebp)
46ca88:	50                   	push   %eax
46ca89:	51                   	push   %ecx
46ca8a:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46ca90:	83 c4 10             	add    $0x10,%esp
46ca93:	8b 47 04             	mov    0x4(%edi),%eax
46ca96:	85 c0                	test   %eax,%eax
46ca98:	74 08                	je     0x46caa2
46ca9a:	8b 77 08             	mov    0x8(%edi),%esi
46ca9d:	2b f0                	sub    %eax,%esi
46ca9f:	c1 fe 03             	sar    $0x3,%esi
46caa2:	03 de                	add    %esi,%ebx
46caa4:	85 c0                	test   %eax,%eax
46caa6:	74 08                	je     0x46cab0
46caa8:	50                   	push   %eax
46caa9:	ff 15 10 74 4a 00    	call   *0x4a7410
46caaf:	59                   	pop    %ecx
46cab0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46cab3:	8b 45 e8             	mov    -0x18(%ebp),%eax
46cab6:	89 4f 04             	mov    %ecx,0x4(%edi)
46cab9:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
46cabc:	89 47 0c             	mov    %eax,0xc(%edi)
46cabf:	8d 04 d9             	lea    (%ecx,%ebx,8),%eax
46cac2:	89 47 08             	mov    %eax,0x8(%edi)
46cac5:	e9 bf 00 00 00       	jmp    0x46cb89
46caca:	8b 57 08             	mov    0x8(%edi),%edx
46cacd:	8b f3                	mov    %ebx,%esi
46cacf:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cad2:	8b c2                	mov    %edx,%eax
46cad4:	2b c1                	sub    %ecx,%eax
46cad6:	c1 e6 03             	shl    $0x3,%esi
46cad9:	c1 f8 03             	sar    $0x3,%eax
46cadc:	89 55 ec             	mov    %edx,-0x14(%ebp)
46cadf:	3b c3                	cmp    %ebx,%eax
46cae1:	73 4d                	jae    0x46cb30
46cae3:	8d 1c 0e             	lea    (%esi,%ecx,1),%ebx
46cae6:	85 c0                	test   %eax,%eax
46cae8:	74 19                	je     0x46cb03
46caea:	c1 e0 03             	shl    $0x3,%eax
46caed:	50                   	push   %eax
46caee:	51                   	push   %ecx
46caef:	50                   	push   %eax
46caf0:	53                   	push   %ebx
46caf1:	ff 15 c4 80 4a 00    	call   *0x4a80c4
46caf7:	8b 57 08             	mov    0x8(%edi),%edx
46cafa:	83 c4 10             	add    $0x10,%esp
46cafd:	8b 4d 08             	mov    0x8(%ebp),%ecx
46cb00:	89 55 ec             	mov    %edx,-0x14(%ebp)
46cb03:	8b 45 0c             	mov    0xc(%ebp),%eax
46cb06:	2b d1                	sub    %ecx,%edx
46cb08:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46cb0b:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
46cb12:	ff 75 e0             	push   -0x20(%ebp)
46cb15:	c1 fa 03             	sar    $0x3,%edx