5f27c8:	5b                   	pop    %ebx
5f27c9:	8b e5                	mov    %ebp,%esp
5f27cb:	5d                   	pop    %ebp
5f27cc:	c2 0c 00             	ret    $0xc
5f27cf:	90                   	nop
5f27d0:	55                   	push   %ebp
5f27d1:	8b ec                	mov    %esp,%ebp
5f27d3:	83 c4 e0             	add    $0xffffffe0,%esp
5f27d6:	53                   	push   %ebx
5f27d7:	56                   	push   %esi
5f27d8:	57                   	push   %edi
5f27d9:	8b d9                	mov    %ecx,%ebx
5f27db:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f27de:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f27e1:	8b 7d 0c             	mov    0xc(%ebp),%edi
5f27e4:	8b 75 10             	mov    0x10(%ebp),%esi
5f27e7:	33 c0                	xor    %eax,%eax
5f27e9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f27ec:	c7 45 f4 80 84 2e 41 	movl   $0x412e8480,-0xc(%ebp)
5f27f3:	33 c0                	xor    %eax,%eax
5f27f5:	55                   	push   %ebp
5f27f6:	68 5e 29 5f 00       	push   $0x5f295e
5f27fb:	64 ff 30             	push   %fs:(%eax)
5f27fe:	64 89 20             	mov    %esp,%fs:(%eax)
5f2801:	3b fb                	cmp    %ebx,%edi
5f2803:	75 28                	jne    0x5f282d
5f2805:	3b 75 08             	cmp    0x8(%ebp),%esi
5f2808:	75 23                	jne    0x5f282d
5f280a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f280d:	2b c3                	sub    %ebx,%eax
5f280f:	f7 e8                	imul   %eax
5f2811:	8b c8                	mov    %eax,%ecx
5f2813:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f2816:	2b c6                	sub    %esi,%eax
5f2818:	f7 e8                	imul   %eax
5f281a:	03 c8                	add    %eax,%ecx
5f281c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f281f:	db 45 e4             	fildl  -0x1c(%ebp)
5f2822:	d9 fa                	fsqrt
5f2824:	dd 5d f0             	fstpl  -0x10(%ebp)
5f2827:	9b                   	fwait
5f2828:	e9 27 01 00 00       	jmp    0x5f2954
5f282d:	8b c7                	mov    %edi,%eax
5f282f:	2b c3                	sub    %ebx,%eax
5f2831:	f7 e8                	imul   %eax
5f2833:	8b c8                	mov    %eax,%ecx
5f2835:	8b 45 08             	mov    0x8(%ebp),%eax
5f2838:	2b c6                	sub    %esi,%eax
5f283a:	f7 e8                	imul   %eax
5f283c:	03 c8                	add    %eax,%ecx
5f283e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f2841:	db 45 e4             	fildl  -0x1c(%ebp)
5f2844:	d9 fa                	fsqrt
5f2846:	d8 c8                	fmul   %st(0),%st
5f2848:	8b c6                	mov    %esi,%eax
5f284a:	2b 45 f8             	sub    -0x8(%ebp),%eax
5f284d:	8b d6                	mov    %esi,%edx
5f284f:	2b 55 08             	sub    0x8(%ebp),%edx
5f2852:	f7 ea                	imul   %edx
5f2854:	8b d3                	mov    %ebx,%edx
5f2856:	2b 55 fc             	sub    -0x4(%ebp),%edx
5f2859:	8b cf                	mov    %edi,%ecx
5f285b:	2b cb                	sub    %ebx,%ecx
5f285d:	0f af d1             	imul   %ecx,%edx
5f2860:	2b c2                	sub    %edx,%eax
5f2862:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f2865:	db 45 e0             	fildl  -0x20(%ebp)
5f2868:	de f1                	fdivp  %st,%st(1)
5f286a:	dd 5d e8             	fstpl  -0x18(%ebp)
5f286d:	9b dd 45 e8          	fldl   -0x18(%ebp)
5f2871:	d8 1d 74 29 5f 00    	fcomps 0x5f2974
5f2877:	df e0                	fnstsw %ax
5f2879:	9e                   	sahf
5f287a:	76 5d                	jbe    0x5f28d9
5f287c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5f287f:	2b df                	sub    %edi,%ebx
5f2881:	8b c3                	mov    %ebx,%eax
5f2883:	99                   	cltd
5f2884:	33 c2                	xor    %edx,%eax
5f2886:	2b c2                	sub    %edx,%eax
5f2888:	3d c8 af 00 00       	cmp    $0xafc8,%eax
5f288d:	7e 0d                	jle    0x5f289c
5f288f:	33 c0                	xor    %eax,%eax
5f2891:	5a                   	pop    %edx
5f2892:	59                   	pop    %ecx
5f2893:	59                   	pop    %ecx
5f2894:	64 89 10             	mov    %edx,%fs:(%eax)
5f2897:	e9 cc 00 00 00       	jmp    0x5f2968
5f289c:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f289f:	2b 45 08             	sub    0x8(%ebp),%eax
5f28a2:	99                   	cltd
5f28a3:	33 c2                	xor    %edx,%eax
5f28a5:	2b c2                	sub    %edx,%eax
5f28a7:	3d c8 af 00 00       	cmp    $0xafc8,%eax
5f28ac:	7e 0d                	jle    0x5f28bb
5f28ae:	33 c0                	xor    %eax,%eax
5f28b0:	5a                   	pop    %edx
5f28b1:	59                   	pop    %ecx
5f28b2:	59                   	pop    %ecx
5f28b3:	64 89 10             	mov    %edx,%fs:(%eax)
5f28b6:	e9 ad 00 00 00       	jmp    0x5f2968
5f28bb:	8b c3                	mov    %ebx,%eax
5f28bd:	f7 e8                	imul   %eax
5f28bf:	8b c8                	mov    %eax,%ecx
5f28c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f28c4:	2b 45 08             	sub    0x8(%ebp),%eax
5f28c7:	f7 e8                	imul   %eax
5f28c9:	03 c8                	add    %eax,%ecx
5f28cb:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f28ce:	db 45 e4             	fildl  -0x1c(%ebp)
5f28d1:	d9 fa                	fsqrt
5f28d3:	dd 5d f0             	fstpl  -0x10(%ebp)
5f28d6:	9b                   	fwait
5f28d7:	eb 7b                	jmp    0x5f2954
5f28d9:	dd 45 e8             	fldl   -0x18(%ebp)
5f28dc:	d8 1d 78 29 5f 00    	fcomps 0x5f2978
5f28e2:	df e0                	fnstsw %ax
5f28e4:	9e                   	sahf
5f28e5:	73 56                	jae    0x5f293d
5f28e7:	8b c3                	mov    %ebx,%eax
5f28e9:	2b 45 fc             	sub    -0x4(%ebp),%eax
5f28ec:	99                   	cltd
5f28ed:	33 c2                	xor    %edx,%eax
5f28ef:	2b c2                	sub    %edx,%eax
5f28f1:	3d c8 af 00 00       	cmp    $0xafc8,%eax
5f28f6:	7e 0a                	jle    0x5f2902
5f28f8:	33 c0                	xor    %eax,%eax
5f28fa:	5a                   	pop    %edx
5f28fb:	59                   	pop    %ecx
5f28fc:	59                   	pop    %ecx
5f28fd:	64 89 10             	mov    %edx,%fs:(%eax)
5f2900:	eb 66                	jmp    0x5f2968
5f2902:	8b c6                	mov    %esi,%eax
5f2904:	2b 45 f8             	sub    -0x8(%ebp),%eax
5f2907:	99                   	cltd
5f2908:	33 c2                	xor    %edx,%eax
5f290a:	2b c2                	sub    %edx,%eax
5f290c:	3d c8 af 00 00       	cmp    $0xafc8,%eax
5f2911:	7e 0a                	jle    0x5f291d
5f2913:	33 c0                	xor    %eax,%eax
5f2915:	5a                   	pop    %edx
5f2916:	59                   	pop    %ecx
5f2917:	59                   	pop    %ecx
5f2918:	64 89 10             	mov    %edx,%fs:(%eax)
5f291b:	eb 4b                	jmp    0x5f2968
5f291d:	8b c3                	mov    %ebx,%eax
5f291f:	2b 45 fc             	sub    -0x4(%ebp),%eax
5f2922:	f7 e8                	imul   %eax
5f2924:	8b c8                	mov    %eax,%ecx
5f2926:	8b c6                	mov    %esi,%eax
5f2928:	2b 45 f8             	sub    -0x8(%ebp),%eax
5f292b:	f7 e8                	imul   %eax
5f292d:	03 c8                	add    %eax,%ecx
5f292f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f2932:	db 45 e4             	fildl  -0x1c(%ebp)
5f2935:	d9 fa                	fsqrt
5f2937:	dd 5d f0             	fstpl  -0x10(%ebp)
5f293a:	9b                   	fwait
5f293b:	eb 17                	jmp    0x5f2954
5f293d:	56                   	push   %esi
5f293e:	57                   	push   %edi
5f293f:	8b 45 08             	mov    0x8(%ebp),%eax
5f2942:	50                   	push   %eax
5f2943:	8b cb                	mov    %ebx,%ecx
5f2945:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f2948:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f294b:	e8 18 fe ff ff       	call   0x5f2768
5f2950:	dd 5d f0             	fstpl  -0x10(%ebp)
5f2953:	9b                   	fwait
5f2954:	33 c0                	xor    %eax,%eax
5f2956:	5a                   	pop    %edx
5f2957:	59                   	pop    %ecx
5f2958:	59                   	pop    %ecx
5f2959:	64 89 10             	mov    %edx,%fs:(%eax)
5f295c:	eb 0a                	jmp    0x5f2968
5f295e:	e9 f5 15 e1 ff       	jmp    0x403f58
5f2963:	e8 58 19 e1 ff       	call   0x4042c0
5f2968:	dd 45 f0             	fldl   -0x10(%ebp)
5f296b:	5f                   	pop    %edi
5f296c:	5e                   	pop    %esi
5f296d:	5b                   	pop    %ebx
5f296e:	8b e5                	mov    %ebp,%esp
5f2970:	5d                   	pop    %ebp
5f2971:	c2 0c 00             	ret    $0xc
5f2974:	00 00                	add    %al,(%eax)
5f2976:	80 3f 00             	cmpb   $0x0,(%edi)
5f2979:	00 00                	add    %al,(%eax)
5f297b:	00 55 8b             	add    %dl,-0x75(%ebp)
5f297e:	ec                   	in     (%dx),%al
5f297f:	83 c4 d4             	add    $0xffffffd4,%esp
5f2982:	53                   	push   %ebx
5f2983:	56                   	push   %esi
5f2984:	57                   	push   %edi
5f2985:	8b f1                	mov    %ecx,%esi
5f2987:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f298a:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f298d:	8b 5d 28             	mov    0x28(%ebp),%ebx
5f2990:	33 c0                	xor    %eax,%eax
5f2992:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f2995:	c7 45 f4 80 84 2e 41 	movl   $0x412e8480,-0xc(%ebp)
5f299c:	85 db                	test   %ebx,%ebx
5f299e:	0f 8e d3 00 00 00    	jle    0x5f2a77
5f29a4:	8b 06                	mov    (%esi),%eax
5f29a6:	2b 45 24             	sub    0x24(%ebp),%eax
5f29a9:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f29ac:	db 45 d4             	fildl  -0x2c(%ebp)
5f29af:	dc 4d 10             	fmull  0x10(%ebp)
5f29b2:	db 45 1c             	fildl  0x1c(%ebp)
5f29b5:	de c1                	faddp  %st,%st(1)
5f29b7:	e8 04 03 e1 ff       	call   0x402cc0
5f29bc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f29bf:	8b 46 04             	mov    0x4(%esi),%eax
5f29c2:	2b 45 20             	sub    0x20(%ebp),%eax
5f29c5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f29c8:	db 45 d4             	fildl  -0x2c(%ebp)
5f29cb:	dc 4d 08             	fmull  0x8(%ebp)
5f29ce:	db 45 18             	fildl  0x18(%ebp)
5f29d1:	de c1                	faddp  %st,%st(1)
5f29d3:	e8 e8 02 e1 ff       	call   0x402cc0
5f29d8:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f29db:	8b fb                	mov    %ebx,%edi
5f29dd:	4f                   	dec    %edi
5f29de:	85 ff                	test   %edi,%edi
5f29e0:	0f 8e 91 00 00 00    	jle    0x5f2a77
5f29e6:	bb 01 00 00 00       	mov    $0x1,%ebx
5f29eb:	8b 04 de             	mov    (%esi,%ebx,8),%eax
5f29ee:	2b 45 24             	sub    0x24(%ebp),%eax
5f29f1:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f29f4:	db 45 d4             	fildl  -0x2c(%ebp)
5f29f7:	dc 4d 10             	fmull  0x10(%ebp)
5f29fa:	db 45 1c             	fildl  0x1c(%ebp)
5f29fd:	de c1                	faddp  %st,%st(1)
5f29ff:	e8 bc 02 e1 ff       	call   0x402cc0
5f2a04:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f2a07:	8b 44 de 04          	mov    0x4(%esi,%ebx,8),%eax
5f2a0b:	2b 45 20             	sub    0x20(%ebp),%eax
5f2a0e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f2a11:	db 45 d4             	fildl  -0x2c(%ebp)
5f2a14:	dc 4d 08             	fmull  0x8(%ebp)
5f2a17:	db 45 18             	fildl  0x18(%ebp)
5f2a1a:	de c1                	faddp  %st,%st(1)
5f2a1c:	e8 9f 02 e1 ff       	call   0x402cc0
5f2a21:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f2a24:	8b 45 e0             	mov    -0x20(%ebp),%eax
5f2a27:	50                   	push   %eax
5f2a28:	8b 45 dc             	mov    -0x24(%ebp),%eax
5f2a2b:	50                   	push   %eax
5f2a2c:	8b 45 d8             	mov    -0x28(%ebp),%eax
5f2a2f:	50                   	push   %eax
5f2a30:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5f2a33:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f2a36:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f2a39:	e8 92 fd ff ff       	call   0x5f27d0
5f2a3e:	dd 5d e8             	fstpl  -0x18(%ebp)
5f2a41:	9b dd 45 e8          	fldl   -0x18(%ebp)
5f2a45:	dc 5d f0             	fcompl -0x10(%ebp)
5f2a48:	df e0                	fnstsw %ax
5f2a4a:	9e                   	sahf
5f2a4b:	73 0c                	jae    0x5f2a59
5f2a4d:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f2a50:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f2a53:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f2a56:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f2a59:	8d 55 dc             	lea    -0x24(%ebp),%edx
5f2a5c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5f2a5f:	e8 e4 69 fb ff       	call   0x5a9448
5f2a64:	8d 55 d8             	lea    -0x28(%ebp),%edx
5f2a67:	8d 45 e0             	lea    -0x20(%ebp),%eax
5f2a6a:	e8 d9 69 fb ff       	call   0x5a9448
5f2a6f:	43                   	inc    %ebx
5f2a70:	4f                   	dec    %edi
5f2a71:	0f 85 74 ff ff ff    	jne    0x5f29eb
5f2a77:	dd 45 f0             	fldl   -0x10(%ebp)
5f2a7a:	5f                   	pop    %edi
5f2a7b:	5e                   	pop    %esi
5f2a7c:	5b                   	pop    %ebx
5f2a7d:	8b e5                	mov    %ebp,%esp
5f2a7f:	5d                   	pop    %ebp
5f2a80:	c2 24 00             	ret    $0x24
5f2a83:	90                   	nop
5f2a84:	84 d2                	test   %dl,%dl
5f2a86:	74 08                	je     0x5f2a90
5f2a88:	83 c4 f0             	add    $0xfffffff0,%esp
5f2a8b:	e8 4c 13 e1 ff       	call   0x403ddc
5f2a90:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%eax)
5f2a97:	c7 40 08 ff ff ff ff 	movl   $0xffffffff,0x8(%eax)
5f2a9e:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
5f2aa2:	84 d2                	test   %dl,%dl
5f2aa4:	74 0f                	je     0x5f2ab5
5f2aa6:	e8 89 13 e1 ff       	call   0x403e34
5f2aab:	64 8f 05 00 00 00 00 	pop    %fs:0x0
5f2ab2:	83 c4 0c             	add    $0xc,%esp
5f2ab5:	c3                   	ret
5f2ab6:	8b c0                	mov    %eax,%eax
5f2ab8:	53                   	push   %ebx
5f2ab9:	56                   	push   %esi
5f2aba:	e8 85 13 e1 ff       	call   0x403e44
5f2abf:	8b da                	mov    %edx,%ebx
5f2ac1:	8b f0                	mov    %eax,%esi
5f2ac3:	8b d3                	mov    %ebx,%edx
5f2ac5:	80 e2 fc             	and    $0xfc,%dl
5f2ac8:	8b c6                	mov    %esi,%eax
5f2aca:	e8 99 0f e1 ff       	call   0x403a68
5f2acf:	84 db                	test   %bl,%bl
5f2ad1:	7e 07                	jle    0x5f2ada
5f2ad3:	8b c6                	mov    %esi,%eax
5f2ad5:	e8 52 13 e1 ff       	call   0x403e2c
5f2ada:	5e                   	pop    %esi
5f2adb:	5b                   	pop    %ebx
5f2adc:	c3                   	ret
5f2add:	8d 40 00             	lea    0x0(%eax),%eax
5f2ae0:	84 d2                	test   %dl,%dl
5f2ae2:	74 08                	je     0x5f2aec
5f2ae4:	83 c4 f0             	add    $0xfffffff0,%esp
5f2ae7:	e8 f0 12 e1 ff       	call   0x403ddc
5f2aec:	c6 40 04 00          	movb   $0x0,0x4(%eax)
5f2af0:	c6 40 05 02          	movb   $0x2,0x5(%eax)
5f2af4:	c6 40 06 01          	movb   $0x1,0x6(%eax)
5f2af8:	c7 40 08 08 00 00 00 	movl   $0x8,0x8(%eax)
5f2aff:	c6 40 0c 00          	movb   $0x0,0xc(%eax)
5f2b03:	84 d2                	test   %dl,%dl
5f2b05:	74 0f                	je     0x5f2b16
5f2b07:	e8 28 13 e1 ff       	call   0x403e34
5f2b0c:	64 8f 05 00 00 00 00 	pop    %fs:0x0
5f2b13:	83 c4 0c             	add    $0xc,%esp
5f2b16:	c3                   	ret
5f2b17:	90                   	nop
5f2b18:	53                   	push   %ebx
5f2b19:	56                   	push   %esi
5f2b1a:	e8 25 13 e1 ff       	call   0x403e44
5f2b1f:	8b da                	mov    %edx,%ebx
5f2b21:	8b f0                	mov    %eax,%esi
5f2b23:	8b d3                	mov    %ebx,%edx
5f2b25:	80 e2 fc             	and    $0xfc,%dl
5f2b28:	8b c6                	mov    %esi,%eax
5f2b2a:	e8 39 0f e1 ff       	call   0x403a68
5f2b2f:	84 db                	test   %bl,%bl
5f2b31:	7e 07                	jle    0x5f2b3a
5f2b33:	8b c6                	mov    %esi,%eax
5f2b35:	e8 f2 12 e1 ff       	call   0x403e2c
5f2b3a:	5e                   	pop    %esi
5f2b3b:	5b                   	pop    %ebx
5f2b3c:	c3                   	ret
5f2b3d:	8d 40 00             	lea    0x0(%eax),%eax
5f2b40:	55                   	push   %ebp
5f2b41:	8b ec                	mov    %esp,%ebp
5f2b43:	51                   	push   %ecx
5f2b44:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
5f2b48:	53                   	push   %ebx
5f2b49:	9c                   	pushf