415773:	e9 ce 00 00 00       	jmp    0x415846
415778:	56                   	push   %esi
415779:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
41577e:	3b de                	cmp    %esi,%ebx
415780:	76 15                	jbe    0x415797
415782:	e8 80 25 ff ff       	call   0x407d07
415787:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41578d:	e8 9c 24 ff ff       	call   0x407c2e
415792:	e9 ac 00 00 00       	jmp    0x415843
415797:	ff 75 14             	push   0x14(%ebp)
41579a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41579d:	e8 0f ff fe ff       	call   0x4056b1
4157a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4157a5:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
4157ab:	85 c0                	test   %eax,%eax
4157ad:	75 5c                	jne    0x41580b
4157af:	8b 45 08             	mov    0x8(%ebp),%eax
4157b2:	2b c7                	sub    %edi,%eax
4157b4:	6a 41                	push   $0x41
4157b6:	89 45 08             	mov    %eax,0x8(%ebp)
4157b9:	5e                   	pop    %esi
4157ba:	0f b7 04 38          	movzwl (%eax,%edi,1),%eax
4157be:	6a 5a                	push   $0x5a
4157c0:	5a                   	pop    %edx
4157c1:	66 3b c6             	cmp    %si,%ax
4157c4:	72 0d                	jb     0x4157d3
4157c6:	66 3b c2             	cmp    %dx,%ax
4157c9:	77 08                	ja     0x4157d3
4157cb:	83 c0 20             	add    $0x20,%eax
4157ce:	0f b7 c8             	movzwl %ax,%ecx
4157d1:	eb 02                	jmp    0x4157d5
4157d3:	8b c8                	mov    %eax,%ecx
4157d5:	0f b7 07             	movzwl (%edi),%eax
4157d8:	66 3b c6             	cmp    %si,%ax
4157db:	72 0d                	jb     0x4157ea
4157dd:	66 3b c2             	cmp    %dx,%ax
4157e0:	77 08                	ja     0x4157ea
4157e2:	83 c0 20             	add    $0x20,%eax
4157e5:	0f b7 d0             	movzwl %ax,%edx
4157e8:	eb 02                	jmp    0x4157ec
4157ea:	8b d0                	mov    %eax,%edx
4157ec:	83 c7 02             	add    $0x2,%edi
4157ef:	83 eb 01             	sub    $0x1,%ebx
4157f2:	74 0d                	je     0x415801
4157f4:	66 85 c9             	test   %cx,%cx
4157f7:	74 08                	je     0x415801
4157f9:	8b 45 08             	mov    0x8(%ebp),%eax
4157fc:	66 3b ca             	cmp    %dx,%cx
4157ff:	74 b9                	je     0x4157ba
415801:	0f b7 c2             	movzwl %dx,%eax
415804:	0f b7 f1             	movzwl %cx,%esi
415807:	2b f0                	sub    %eax,%esi
415809:	eb 28                	jmp    0x415833
41580b:	53                   	push   %ebx
41580c:	57                   	push   %edi
41580d:	53                   	push   %ebx
41580e:	ff 75 08             	push   0x8(%ebp)
415811:	68 01 10 00 00       	push   $0x1001
415816:	50                   	push   %eax
415817:	e8 bc 07 00 00       	call   0x415fd8
41581c:	83 c4 18             	add    $0x18,%esp
41581f:	85 c0                	test   %eax,%eax
415821:	75 0d                	jne    0x415830
415823:	e8 df 24 ff ff       	call   0x407d07
415828:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41582e:	eb 03                	jmp    0x415833
415830:	8d 70 fe             	lea    -0x2(%eax),%esi
415833:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
415837:	74 0a                	je     0x415843
415839:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41583c:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
415843:	8b c6                	mov    %esi,%eax
415845:	5e                   	pop    %esi
415846:	5f                   	pop    %edi
415847:	5b                   	pop    %ebx
415848:	8b e5                	mov    %ebp,%esp
41584a:	5d                   	pop    %ebp
41584b:	c3                   	ret
41584c:	8b ff                	mov    %edi,%edi
41584e:	55                   	push   %ebp
41584f:	8b ec                	mov    %esp,%ebp
415851:	a1 98 41 42 00       	mov    0x424198,%eax
415856:	85 c0                	test   %eax,%eax
415858:	75 06                	jne    0x415860
41585a:	5d                   	pop    %ebp
41585b:	e9 28 e4 ff ff       	jmp    0x413c88
415860:	6a 00                	push   $0x0
415862:	ff 75 10             	push   0x10(%ebp)
415865:	ff 75 0c             	push   0xc(%ebp)
415868:	ff 75 08             	push   0x8(%ebp)
41586b:	e8 05 00 00 00       	call   0x415875
415870:	83 c4 10             	add    $0x10,%esp
415873:	5d                   	pop    %ebp
415874:	c3                   	ret
415875:	8b ff                	mov    %edi,%edi
415877:	55                   	push   %ebp
415878:	8b ec                	mov    %esp,%ebp
41587a:	83 ec 10             	sub    $0x10,%esp
41587d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415880:	53                   	push   %ebx
415881:	56                   	push   %esi
415882:	57                   	push   %edi
415883:	ff 75 14             	push   0x14(%ebp)
415886:	e8 26 fe fe ff       	call   0x4056b1
41588b:	8b 45 10             	mov    0x10(%ebp),%eax
41588e:	85 c0                	test   %eax,%eax
415890:	75 07                	jne    0x415899
415892:	33 f6                	xor    %esi,%esi
415894:	e9 8d 00 00 00       	jmp    0x415926
415899:	8b 4d 08             	mov    0x8(%ebp),%ecx
41589c:	85 c9                	test   %ecx,%ecx
41589e:	74 07                	je     0x4158a7
4158a0:	8b 55 0c             	mov    0xc(%ebp),%edx
4158a3:	85 d2                	test   %edx,%edx
4158a5:	75 17                	jne    0x4158be
4158a7:	e8 5b 24 ff ff       	call   0x407d07
4158ac:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4158b2:	e8 77 23 ff ff       	call   0x407c2e
4158b7:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4158bc:	eb 68                	jmp    0x415926
4158be:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4158c3:	3b c6                	cmp    %esi,%eax
4158c5:	76 12                	jbe    0x4158d9
4158c7:	e8 3b 24 ff ff       	call   0x407d07
4158cc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4158d2:	e8 57 23 ff ff       	call   0x407c2e
4158d7:	eb 4d                	jmp    0x415926
4158d9:	8b 7d f4             	mov    -0xc(%ebp),%edi
4158dc:	8b 9f a4 00 00 00    	mov    0xa4(%edi),%ebx
4158e2:	85 db                	test   %ebx,%ebx
4158e4:	75 13                	jne    0x4158f9
4158e6:	8d 75 f4             	lea    -0xc(%ebp),%esi
4158e9:	56                   	push   %esi
4158ea:	50                   	push   %eax
4158eb:	52                   	push   %edx
4158ec:	51                   	push   %ecx
4158ed:	e8 02 e4 ff ff       	call   0x413cf4
4158f2:	83 c4 10             	add    $0x10,%esp
4158f5:	8b f0                	mov    %eax,%esi
4158f7:	eb 2d                	jmp    0x415926
4158f9:	ff 77 10             	push   0x10(%edi)
4158fc:	50                   	push   %eax
4158fd:	52                   	push   %edx
4158fe:	50                   	push   %eax
4158ff:	51                   	push   %ecx
415900:	68 01 10 00 00       	push   $0x1001
415905:	8d 45 f4             	lea    -0xc(%ebp),%eax
415908:	53                   	push   %ebx
415909:	50                   	push   %eax
41590a:	e8 d9 09 00 00       	call   0x4162e8
41590f:	83 c4 20             	add    $0x20,%esp
415912:	85 c0                	test   %eax,%eax
415914:	75 0d                	jne    0x415923
415916:	e8 ec 23 ff ff       	call   0x407d07
41591b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415921:	eb 03                	jmp    0x415926
415923:	8d 70 fe             	lea    -0x2(%eax),%esi
415926:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41592a:	74 0a                	je     0x415936
41592c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41592f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
415936:	5f                   	pop    %edi
415937:	8b c6                	mov    %esi,%eax
415939:	5e                   	pop    %esi
41593a:	5b                   	pop    %ebx
41593b:	8b e5                	mov    %ebp,%esp
41593d:	5d                   	pop    %ebp
41593e:	c3                   	ret
41593f:	6a 08                	push   $0x8
415941:	68 88 1f 42 00       	push   $0x421f88
415946:	e8 05 e2 fe ff       	call   0x403b50
41594b:	83 3d 14 3e 42 00 01 	cmpl   $0x1,0x423e14
415952:	7c 5b                	jl     0x4159af
415954:	8b 45 08             	mov    0x8(%ebp),%eax
415957:	a8 40                	test   $0x40,%al
415959:	74 4a                	je     0x4159a5
41595b:	83 3d 30 39 42 00 00 	cmpl   $0x0,0x423930
415962:	74 41                	je     0x4159a5
415964:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415968:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
41596c:	eb 2e                	jmp    0x41599c
41596e:	8b 45 ec             	mov    -0x14(%ebp),%eax
415971:	8b 00                	mov    (%eax),%eax
415973:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
415979:	74 0b                	je     0x415986
41597b:	81 38 1d 00 00 c0    	cmpl   $0xc000001d,(%eax)
415981:	74 03                	je     0x415986
415983:	33 c0                	xor    %eax,%eax
415985:	c3                   	ret
415986:	33 c0                	xor    %eax,%eax
415988:	40                   	inc    %eax
415989:	c3                   	ret
41598a:	8b 65 e8             	mov    -0x18(%ebp),%esp
41598d:	83 25 30 39 42 00 00 	andl   $0x0,0x423930
415994:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
415998:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
41599c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4159a3:	eb 0a                	jmp    0x4159af
4159a5:	83 e0 bf             	and    $0xffffffbf,%eax
4159a8:	89 45 08             	mov    %eax,0x8(%ebp)
4159ab:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
4159af:	e8 e2 e1 fe ff       	call   0x403b96
4159b4:	c3                   	ret
4159b5:	8b ff                	mov    %edi,%edi
4159b7:	55                   	push   %ebp
4159b8:	8b ec                	mov    %esp,%ebp
4159ba:	51                   	push   %ecx
4159bb:	dd 7d fc             	fnstsw -0x4(%ebp)
4159be:	db e2                	fnclex
4159c0:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
4159c4:	8b e5                	mov    %ebp,%esp
4159c6:	5d                   	pop    %ebp
4159c7:	c3                   	ret
4159c8:	8b ff                	mov    %edi,%edi
4159ca:	55                   	push   %ebp
4159cb:	8b ec                	mov    %esp,%ebp
4159cd:	51                   	push   %ecx
4159ce:	51                   	push   %ecx
4159cf:	9b d9 7d fc          	fstcw  -0x4(%ebp)
4159d3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4159d6:	8b 45 08             	mov    0x8(%ebp),%eax
4159d9:	f7 d1                	not    %ecx
4159db:	66 23 4d fc          	and    -0x4(%ebp),%cx
4159df:	23 45 0c             	and    0xc(%ebp),%eax
4159e2:	66 0b c8             	or     %ax,%cx
4159e5:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
4159e9:	d9 6d f8             	fldcw  -0x8(%ebp)
4159ec:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
4159f0:	8b e5                	mov    %ebp,%esp
4159f2:	5d                   	pop    %ebp
4159f3:	c3                   	ret
4159f4:	8b ff                	mov    %edi,%edi
4159f6:	55                   	push   %ebp
4159f7:	8b ec                	mov    %esp,%ebp
4159f9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4159fc:	83 ec 0c             	sub    $0xc,%esp
4159ff:	f6 c1 01             	test   $0x1,%cl
415a02:	74 0a                	je     0x415a0e
415a04:	db 2d b0 fd 41 00    	fldt   0x41fdb0
415a0a:	db 5d fc             	fistpl -0x4(%ebp)
415a0d:	9b                   	fwait
415a0e:	f6 c1 08             	test   $0x8,%cl
415a11:	74 10                	je     0x415a23
415a13:	9b df e0             	fstsw  %ax
415a16:	db 2d b0 fd 41 00    	fldt   0x41fdb0
415a1c:	dd 5d f4             	fstpl  -0xc(%ebp)
415a1f:	9b 9b df e0          	fstsw  %ax
415a23:	f6 c1 10             	test   $0x10,%cl
415a26:	74 0a                	je     0x415a32
415a28:	db 2d bc fd 41 00    	fldt   0x41fdbc
415a2e:	dd 5d f4             	fstpl  -0xc(%ebp)
415a31:	9b                   	fwait
415a32:	f6 c1 04             	test   $0x4,%cl
415a35:	74 09                	je     0x415a40
415a37:	d9 ee                	fldz
415a39:	d9 e8                	fld1
415a3b:	de f1                	fdivp  %st,%st(1)
415a3d:	dd d8                	fstp   %st(0)
415a3f:	9b                   	fwait
415a40:	f6 c1 20             	test   $0x20,%cl
415a43:	74 06                	je     0x415a4b
415a45:	d9 eb                	fldpi
415a47:	dd 5d f4             	fstpl  -0xc(%ebp)
415a4a:	9b                   	fwait
415a4b:	8b e5                	mov    %ebp,%esp
415a4d:	5d                   	pop    %ebp
415a4e:	c3                   	ret
415a4f:	8b ff                	mov    %edi,%edi
415a51:	55                   	push   %ebp
415a52:	8b ec                	mov    %esp,%ebp
415a54:	51                   	push   %ecx
415a55:	9b dd 7d fc          	fstsw  -0x4(%ebp)
415a59:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
415a5d:	8b e5                	mov    %ebp,%esp
415a5f:	5d                   	pop    %ebp
415a60:	c3                   	ret
415a61:	8b ff                	mov    %edi,%edi
415a63:	55                   	push   %ebp
415a64:	8b ec                	mov    %esp,%ebp
415a66:	8b 4d 08             	mov    0x8(%ebp),%ecx
415a69:	33 c0                	xor    %eax,%eax
415a6b:	38 01                	cmp    %al,(%ecx)
415a6d:	74 0c                	je     0x415a7b
415a6f:	3b 45 0c             	cmp    0xc(%ebp),%eax
415a72:	74 07                	je     0x415a7b
415a74:	40                   	inc    %eax
415a75:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
415a79:	75 f4                	jne    0x415a6f
415a7b:	5d                   	pop    %ebp
415a7c:	c3                   	ret
415a7d:	8b ff                	mov    %edi,%edi
415a7f:	55                   	push   %ebp
415a80:	8b ec                	mov    %esp,%ebp
415a82:	56                   	push   %esi
415a83:	e8 4b 0b 00 00       	call   0x4165d3
415a88:	8b 75 08             	mov    0x8(%ebp),%esi
415a8b:	89 06                	mov    %eax,(%esi)
415a8d:	e8 84 0b 00 00       	call   0x416616
415a92:	89 46 04             	mov    %eax,0x4(%esi)
415a95:	33 c0                	xor    %eax,%eax
415a97:	5e                   	pop    %esi
415a98:	5d                   	pop    %ebp
415a99:	c3                   	ret
415a9a:	8b ff                	mov    %edi,%edi
415a9c:	55                   	push   %ebp
415a9d:	8b ec                	mov    %esp,%ebp
415a9f:	51                   	push   %ecx
415aa0:	51                   	push   %ecx
415aa1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
415aa5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415aa9:	56                   	push   %esi
415aaa:	8b 75 08             	mov    0x8(%ebp),%esi
415aad:	ff 36                	push   (%esi)
415aaf:	e8 0a 0c 00 00       	call   0x4166be
415ab4:	ff 76 04             	push   0x4(%esi)
415ab7:	e8 82 0c 00 00       	call   0x41673e
415abc:	8d 45 f8             	lea    -0x8(%ebp),%eax
415abf:	50                   	push   %eax
415ac0:	e8 b8 ff ff ff       	call   0x415a7d
415ac5:	8b 06                	mov    (%esi),%eax
415ac7:	83 c4 0c             	add    $0xc,%esp
415aca:	3b 45 f8             	cmp    -0x8(%ebp),%eax
415acd:	75 0c                	jne    0x415adb
415acf:	8b 46 04             	mov    0x4(%esi),%eax
415ad2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
415ad5:	75 04                	jne    0x415adb
415ad7:	33 c0                	xor    %eax,%eax
415ad9:	eb 03                	jmp    0x415ade
415adb:	33 c0                	xor    %eax,%eax
415add:	40                   	inc    %eax
415ade:	5e                   	pop    %esi
415adf:	8b e5                	mov    %ebp,%esp
415ae1:	5d                   	pop    %ebp
415ae2:	c3                   	ret
415ae3:	8b ff                	mov    %edi,%edi
415ae5:	55                   	push   %ebp
415ae6:	8b ec                	mov    %esp,%ebp
415ae8:	51                   	push   %ecx
415ae9:	51                   	push   %ecx
415aea:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
415aee:	8d 45 f8             	lea    -0x8(%ebp),%eax
415af1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415af5:	50                   	push   %eax
415af6:	e8 82 ff ff ff       	call   0x415a7d
415afb:	59                   	pop    %ecx
415afc:	85 c0                	test   %eax,%eax
415afe:	74 05                	je     0x415b05
415b00:	33 c0                	xor    %eax,%eax
415b02:	40                   	inc    %eax
415b03:	eb 29                	jmp    0x415b2e