4146f2:	e8 a9 2f 00 00       	call   0x4176a0
4146f7:	84 c0                	test   %al,%al
4146f9:	75 05                	jne    0x414700
4146fb:	e8 c8 b1 ff ff       	call   0x40f8c8
414700:	8d 45 f0             	lea    -0x10(%ebp),%eax
414703:	50                   	push   %eax
414704:	8b 55 f8             	mov    -0x8(%ebp),%edx
414707:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41470a:	8b 45 ec             	mov    -0x14(%ebp),%eax
41470d:	8b 18                	mov    (%eax),%ebx
41470f:	ff 53 08             	call   *0x8(%ebx)
414712:	84 c0                	test   %al,%al
414714:	0f 84 87 00 00 00    	je     0x4147a1
41471a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41471d:	66 8b 00             	mov    (%eax),%ax
414720:	66 3b 45 f0          	cmp    -0x10(%ebp),%ax
414724:	74 64                	je     0x41478a
414726:	8d 45 d8             	lea    -0x28(%ebp),%eax
414729:	50                   	push   %eax
41472a:	e8 e9 a9 ff ff       	call   0x40f118
41472f:	33 c0                	xor    %eax,%eax
414731:	55                   	push   %ebp
414732:	68 83 47 41 00       	push   $0x414783
414737:	64 ff 30             	push   %fs:(%eax)
41473a:	64 89 20             	mov    %esp,%fs:(%eax)
41473d:	0f b7 4d f0          	movzwl -0x10(%ebp),%ecx
414741:	8b 55 f8             	mov    -0x8(%ebp),%edx
414744:	8d 45 d8             	lea    -0x28(%ebp),%eax
414747:	e8 50 c7 ff ff       	call   0x410e9c
41474c:	66 8b 45 d8          	mov    -0x28(%ebp),%ax
414750:	66 3b 45 f0          	cmp    -0x10(%ebp),%ax
414754:	74 05                	je     0x41475b
414756:	e8 7d b0 ff ff       	call   0x40f7d8
41475b:	8b 45 f4             	mov    -0xc(%ebp),%eax
41475e:	50                   	push   %eax
41475f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
414762:	8b 55 fc             	mov    -0x4(%ebp),%edx
414765:	8b 45 ec             	mov    -0x14(%ebp),%eax
414768:	8b 18                	mov    (%eax),%ebx
41476a:	ff 53 2c             	call   *0x2c(%ebx)
41476d:	33 c0                	xor    %eax,%eax
41476f:	5a                   	pop    %edx
414770:	59                   	pop    %ecx
414771:	59                   	pop    %ecx
414772:	64 89 10             	mov    %edx,%fs:(%eax)
414775:	68 ed 48 41 00       	push   $0x4148ed
41477a:	8d 45 d8             	lea    -0x28(%ebp),%eax
41477d:	e8 66 b8 ff ff       	call   0x40ffe8
414782:	c3                   	ret
414783:	e9 84 fa fe ff       	jmp    0x40420c
414788:	eb f0                	jmp    0x41477a
41478a:	8b 45 f4             	mov    -0xc(%ebp),%eax
41478d:	50                   	push   %eax
41478e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414791:	8b 55 fc             	mov    -0x4(%ebp),%edx
414794:	8b 45 ec             	mov    -0x14(%ebp),%eax
414797:	8b 18                	mov    (%eax),%ebx
414799:	ff 53 2c             	call   *0x2c(%ebx)
41479c:	e9 4c 01 00 00       	jmp    0x4148ed
4147a1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4147a4:	66 8b 1b             	mov    (%ebx),%bx
4147a7:	8b c3                	mov    %ebx,%eax
4147a9:	66 25 ff 0f          	and    $0xfff,%ax
4147ad:	66 3d 0f 01          	cmp    $0x10f,%ax
4147b1:	0f 83 81 00 00 00    	jae    0x414838
4147b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4147ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147bd:	66 3b 18             	cmp    (%eax),%bx
4147c0:	74 63                	je     0x414825
4147c2:	8d 45 d8             	lea    -0x28(%ebp),%eax
4147c5:	50                   	push   %eax
4147c6:	e8 4d a9 ff ff       	call   0x40f118
4147cb:	33 c0                	xor    %eax,%eax
4147cd:	55                   	push   %ebp
4147ce:	68 1e 48 41 00       	push   $0x41481e
4147d3:	64 ff 30             	push   %fs:(%eax)
4147d6:	64 89 20             	mov    %esp,%fs:(%eax)
4147d9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4147dc:	0f b7 09             	movzwl (%ecx),%ecx
4147df:	8b 55 fc             	mov    -0x4(%ebp),%edx
4147e2:	8d 45 d8             	lea    -0x28(%ebp),%eax
4147e5:	e8 b2 c6 ff ff       	call   0x410e9c
4147ea:	8d 55 d8             	lea    -0x28(%ebp),%edx
4147ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147f0:	e8 37 bc ff ff       	call   0x41042c
4147f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147f8:	66 8b 00             	mov    (%eax),%ax
4147fb:	8b 55 f8             	mov    -0x8(%ebp),%edx
4147fe:	66 3b 02             	cmp    (%edx),%ax
414801:	74 05                	je     0x414808
414803:	e8 d0 af ff ff       	call   0x40f7d8
414808:	33 c0                	xor    %eax,%eax
41480a:	5a                   	pop    %edx
41480b:	59                   	pop    %ecx
41480c:	59                   	pop    %ecx
41480d:	64 89 10             	mov    %edx,%fs:(%eax)
414810:	68 25 48 41 00       	push   $0x414825
414815:	8d 45 d8             	lea    -0x28(%ebp),%eax
414818:	e8 cb b7 ff ff       	call   0x40ffe8
41481d:	c3                   	ret
41481e:	e9 e9 f9 fe ff       	jmp    0x40420c
414823:	eb f0                	jmp    0x414815
414825:	8b 55 f8             	mov    -0x8(%ebp),%edx
414828:	8b 45 fc             	mov    -0x4(%ebp),%eax
41482b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41482e:	e8 89 09 00 00       	call   0x4151bc
414833:	e9 b5 00 00 00       	jmp    0x4148ed
414838:	8d 55 e8             	lea    -0x18(%ebp),%edx
41483b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41483e:	8b c3                	mov    %ebx,%eax
414840:	e8 5b 2e 00 00       	call   0x4176a0
414845:	84 c0                	test   %al,%al
414847:	75 0a                	jne    0x414853
414849:	e8 7a b0 ff ff       	call   0x40f8c8
41484e:	e9 9a 00 00 00       	jmp    0x4148ed
414853:	8d 45 f2             	lea    -0xe(%ebp),%eax
414856:	50                   	push   %eax
414857:	8b 55 fc             	mov    -0x4(%ebp),%edx
41485a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41485d:	8b 45 e8             	mov    -0x18(%ebp),%eax
414860:	8b 18                	mov    (%eax),%ebx
414862:	ff 53 04             	call   *0x4(%ebx)
414865:	84 c0                	test   %al,%al
414867:	74 7f                	je     0x4148e8
414869:	8b 45 fc             	mov    -0x4(%ebp),%eax
41486c:	66 8b 00             	mov    (%eax),%ax
41486f:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
414873:	74 5f                	je     0x4148d4
414875:	8d 45 d8             	lea    -0x28(%ebp),%eax
414878:	50                   	push   %eax
414879:	e8 9a a8 ff ff       	call   0x40f118
41487e:	33 c0                	xor    %eax,%eax
414880:	55                   	push   %ebp
414881:	68 cd 48 41 00       	push   $0x4148cd
414886:	64 ff 30             	push   %fs:(%eax)
414889:	64 89 20             	mov    %esp,%fs:(%eax)
41488c:	0f b7 4d f2          	movzwl -0xe(%ebp),%ecx
414890:	8b 55 fc             	mov    -0x4(%ebp),%edx
414893:	8d 45 d8             	lea    -0x28(%ebp),%eax
414896:	e8 01 c6 ff ff       	call   0x410e9c
41489b:	8d 55 d8             	lea    -0x28(%ebp),%edx
41489e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4148a1:	e8 86 bb ff ff       	call   0x41042c
4148a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4148a9:	66 8b 00             	mov    (%eax),%ax
4148ac:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
4148b0:	74 05                	je     0x4148b7
4148b2:	e8 21 af ff ff       	call   0x40f7d8
4148b7:	33 c0                	xor    %eax,%eax
4148b9:	5a                   	pop    %edx
4148ba:	59                   	pop    %ecx
4148bb:	59                   	pop    %ecx
4148bc:	64 89 10             	mov    %edx,%fs:(%eax)
4148bf:	68 d4 48 41 00       	push   $0x4148d4
4148c4:	8d 45 d8             	lea    -0x28(%ebp),%eax
4148c7:	e8 1c b7 ff ff       	call   0x40ffe8
4148cc:	c3                   	ret
4148cd:	e9 3a f9 fe ff       	jmp    0x40420c
4148d2:	eb f0                	jmp    0x4148c4
4148d4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4148d7:	50                   	push   %eax
4148d8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4148db:	8b 55 fc             	mov    -0x4(%ebp),%edx
4148de:	8b 45 e8             	mov    -0x18(%ebp),%eax
4148e1:	8b 18                	mov    (%eax),%ebx
4148e3:	ff 53 2c             	call   *0x2c(%ebx)
4148e6:	eb 05                	jmp    0x4148ed
4148e8:	e8 db af ff ff       	call   0x40f8c8
4148ed:	5b                   	pop    %ebx
4148ee:	8b e5                	mov    %ebp,%esp
4148f0:	5d                   	pop    %ebp
4148f1:	c3                   	ret
4148f2:	8b c0                	mov    %eax,%eax
4148f4:	55                   	push   %ebp
4148f5:	8b ec                	mov    %esp,%ebp
4148f7:	83 c4 f0             	add    $0xfffffff0,%esp
4148fa:	53                   	push   %ebx
4148fb:	56                   	push   %esi
4148fc:	57                   	push   %edi
4148fd:	8b f9                	mov    %ecx,%edi
4148ff:	8b f2                	mov    %edx,%esi
414901:	8b d8                	mov    %eax,%ebx
414903:	66 81 3b 01 01       	cmpw   $0x101,(%ebx)
414908:	75 08                	jne    0x414912
41490a:	8b c3                	mov    %ebx,%eax
41490c:	ff 15 70 88 6a 00    	call   *0x6a8870
414912:	66 81 3e 01 01       	cmpw   $0x101,(%esi)
414917:	75 53                	jne    0x41496c
414919:	8d 45 f0             	lea    -0x10(%ebp),%eax
41491c:	50                   	push   %eax
41491d:	e8 f6 a7 ff ff       	call   0x40f118
414922:	33 c0                	xor    %eax,%eax
414924:	55                   	push   %ebp
414925:	68 65 49 41 00       	push   $0x414965
41492a:	64 ff 30             	push   %fs:(%eax)
41492d:	64 89 20             	mov    %esp,%fs:(%eax)
414930:	8b d6                	mov    %esi,%edx
414932:	8d 45 f0             	lea    -0x10(%ebp),%eax
414935:	e8 f2 ba ff ff       	call   0x41042c
41493a:	8d 45 f0             	lea    -0x10(%ebp),%eax
41493d:	ff 15 70 88 6a 00    	call   *0x6a8870
414943:	8d 55 f0             	lea    -0x10(%ebp),%edx
414946:	8b c3                	mov    %ebx,%eax
414948:	8b cf                	mov    %edi,%ecx
41494a:	e8 6d 08 00 00       	call   0x4151bc
41494f:	33 c0                	xor    %eax,%eax
414951:	5a                   	pop    %edx
414952:	59                   	pop    %ecx
414953:	59                   	pop    %ecx
414954:	64 89 10             	mov    %edx,%fs:(%eax)
414957:	68 77 49 41 00       	push   $0x414977
41495c:	8d 45 f0             	lea    -0x10(%ebp),%eax
41495f:	e8 84 b6 ff ff       	call   0x40ffe8
414964:	c3                   	ret
414965:	e9 a2 f8 fe ff       	jmp    0x40420c
41496a:	eb f0                	jmp    0x41495c
41496c:	8b d6                	mov    %esi,%edx
41496e:	8b c3                	mov    %ebx,%eax
414970:	8b cf                	mov    %edi,%ecx
414972:	e8 45 08 00 00       	call   0x4151bc
414977:	5f                   	pop    %edi
414978:	5e                   	pop    %esi
414979:	5b                   	pop    %ebx
41497a:	8b e5                	mov    %ebp,%esp
41497c:	5d                   	pop    %ebp
41497d:	c3                   	ret
41497e:	8b c0                	mov    %eax,%eax
414980:	55                   	push   %ebp
414981:	8b ec                	mov    %esp,%ebp
414983:	53                   	push   %ebx
414984:	8b d8                	mov    %eax,%ebx
414986:	66 81 e3 ff 0f       	and    $0xfff,%bx
41498b:	66 83 fb 14          	cmp    $0x14,%bx
41498f:	76 32                	jbe    0x4149c3
414991:	66 81 fb 00 01       	cmp    $0x100,%bx
414996:	75 06                	jne    0x41499e
414998:	66 bb 08 00          	mov    $0x8,%bx
41499c:	eb 25                	jmp    0x4149c3
41499e:	66 81 fb 01 01       	cmp    $0x101,%bx
4149a3:	75 19                	jne    0x4149be
4149a5:	8b 45 08             	mov    0x8(%ebp),%eax
4149a8:	8b 48 f4             	mov    -0xc(%eax),%ecx
4149ab:	8b 45 08             	mov    0x8(%ebp),%eax
4149ae:	8b 50 f8             	mov    -0x8(%eax),%edx
4149b1:	8b 45 08             	mov    0x8(%ebp),%eax
4149b4:	8b 40 fc             	mov    -0x4(%eax),%eax
4149b7:	e8 38 ff ff ff       	call   0x4148f4
4149bc:	eb 05                	jmp    0x4149c3
4149be:	e8 05 af ff ff       	call   0x40f8c8
4149c3:	8b c3                	mov    %ebx,%eax
4149c5:	5b                   	pop    %ebx
4149c6:	5d                   	pop    %ebp
4149c7:	c3                   	ret
4149c8:	55                   	push   %ebp
4149c9:	8b ec                	mov    %esp,%ebp
4149cb:	83 c4 f0             	add    $0xfffffff0,%esp
4149ce:	53                   	push   %ebx
4149cf:	56                   	push   %esi
4149d0:	57                   	push   %edi
4149d1:	8b f9                	mov    %ecx,%edi
4149d3:	8b f2                	mov    %edx,%esi
4149d5:	8b d8                	mov    %eax,%ebx
4149d7:	8b c3                	mov    %ebx,%eax
4149d9:	e8 f6 d8 ff ff       	call   0x4122d4
4149de:	dd 5d f8             	fstpl  -0x8(%ebp)
4149e1:	9b                   	fwait
4149e2:	8b c6                	mov    %esi,%eax
4149e4:	e8 eb d8 ff ff       	call   0x4122d4
4149e9:	dd 5d f0             	fstpl  -0x10(%ebp)
4149ec:	9b                   	fwait
4149ed:	83 ef 01             	sub    $0x1,%edi
4149f0:	72 0a                	jb     0x4149fc
4149f2:	74 14                	je     0x414a08
4149f4:	4f                   	dec    %edi
4149f5:	74 1d                	je     0x414a14
4149f7:	4f                   	dec    %edi
4149f8:	74 26                	je     0x414a20
4149fa:	eb 30                	jmp    0x414a2c
4149fc:	dd 45 f8             	fldl   -0x8(%ebp)
4149ff:	dc 45 f0             	faddl  -0x10(%ebp)
414a02:	dd 5d f8             	fstpl  -0x8(%ebp)
414a05:	9b                   	fwait
414a06:	eb 29                	jmp    0x414a31
414a08:	dd 45 f8             	fldl   -0x8(%ebp)
414a0b:	dc 65 f0             	fsubl  -0x10(%ebp)
414a0e:	dd 5d f8             	fstpl  -0x8(%ebp)
414a11:	9b                   	fwait
414a12:	eb 1d                	jmp    0x414a31
414a14:	dd 45 f8             	fldl   -0x8(%ebp)
414a17:	dc 4d f0             	fmull  -0x10(%ebp)
414a1a:	dd 5d f8             	fstpl  -0x8(%ebp)
414a1d:	9b                   	fwait
414a1e:	eb 11                	jmp    0x414a31
414a20:	dd 45 f8             	fldl   -0x8(%ebp)
414a23:	dc 75 f0             	fdivl  -0x10(%ebp)
414a26:	dd 5d f8             	fstpl  -0x8(%ebp)
414a29:	9b                   	fwait
414a2a:	eb 05                	jmp    0x414a31
414a2c:	e8 97 ae ff ff       	call   0x40f8c8
414a31:	dd 45 f8             	fldl   -0x8(%ebp)
414a34:	8b c3                	mov    %ebx,%eax
414a36:	e8 c1 0f ff ff       	call   0x4059fc
414a3b:	5f                   	pop    %edi
414a3c:	5e                   	pop    %esi
414a3d:	5b                   	pop    %ebx
414a3e:	8b e5                	mov    %ebp,%esp
414a40:	5d                   	pop    %ebp
414a41:	c3                   	ret
414a42:	8b c0                	mov    %eax,%eax
414a44:	55                   	push   %ebp
414a45:	8b ec                	mov    %esp,%ebp
414a47:	83 c4 f0             	add    $0xfffffff0,%esp
414a4a:	53                   	push   %ebx
414a4b:	56                   	push   %esi
414a4c:	57                   	push   %edi
414a4d:	8b f9                	mov    %ecx,%edi
414a4f:	8b f2                	mov    %edx,%esi
414a51:	8b d8                	mov    %eax,%ebx
414a53:	8b c3                	mov    %ebx,%eax
414a55:	e8 82 dd ff ff       	call   0x4127dc
414a5a:	dd 5d f8             	fstpl  -0x8(%ebp)
414a5d:	9b                   	fwait
414a5e:	8b c6                	mov    %esi,%eax
414a60:	e8 77 dd ff ff       	call   0x4127dc
414a65:	dd 5d f0             	fstpl  -0x10(%ebp)
414a68:	9b                   	fwait
414a69:	83 ef 01             	sub    $0x1,%edi
414a6c:	72 04                	jb     0x414a72
414a6e:	74 0e                	je     0x414a7e
414a70:	eb 18                	jmp    0x414a8a
414a72:	dd 45 f8             	fldl   -0x8(%ebp)
414a75:	dc 45 f0             	faddl  -0x10(%ebp)
414a78:	dd 5d f8             	fstpl  -0x8(%ebp)
414a7b:	9b                   	fwait
414a7c:	eb 11                	jmp    0x414a8f
414a7e:	dd 45 f8             	fldl   -0x8(%ebp)
414a81:	dc 65 f0             	fsubl  -0x10(%ebp)
414a84:	dd 5d f8             	fstpl  -0x8(%ebp)
414a87:	9b                   	fwait
414a88:	eb 05                	jmp    0x414a8f
414a8a:	e8 39 ae ff ff       	call   0x40f8c8
414a8f:	dd 45 f8             	fldl   -0x8(%ebp)
414a92:	8b c3                	mov    %ebx,%eax
414a94:	e8 6b 0f ff ff       	call   0x405a04
414a99:	5f                   	pop    %edi
414a9a:	5e                   	pop    %esi
414a9b:	5b                   	pop    %ebx
414a9c:	8b e5                	mov    %ebp,%esp
414a9e:	5d                   	pop    %ebp
414a9f:	c3                   	ret