5af77f:	8a 45 9a             	mov    -0x66(%ebp),%al
5af782:	f7 6d a0             	imull  -0x60(%ebp)
5af785:	33 d2                	xor    %edx,%edx
5af787:	8a 55 9b             	mov    -0x65(%ebp),%dl
5af78a:	0f af 55 9c          	imul   -0x64(%ebp),%edx
5af78e:	03 c2                	add    %edx,%eax
5af790:	05 00 08 00 00       	add    $0x800,%eax
5af795:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af79b:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af7a1:	d8 35 a4 fa 5a 00    	fdivs  0x5afaa4
5af7a7:	e8 14 35 e5 ff       	call   0x402cc0
5af7ac:	e8 83 9c ff ff       	call   0x5a9434
5af7b1:	88 03                	mov    %al,(%ebx)
5af7b3:	eb 39                	jmp    0x5af7ee
5af7b5:	8b 7d c0             	mov    -0x40(%ebp),%edi
5af7b8:	4f                   	dec    %edi
5af7b9:	85 ff                	test   %edi,%edi
5af7bb:	7c 31                	jl     0x5af7ee
5af7bd:	47                   	inc    %edi
5af7be:	33 f6                	xor    %esi,%esi
5af7c0:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af7c3:	03 c6                	add    %esi,%eax
5af7c5:	85 c0                	test   %eax,%eax
5af7c7:	7c 21                	jl     0x5af7ea
5af7c9:	3b 45 b4             	cmp    -0x4c(%ebp),%eax
5af7cc:	7d 1c                	jge    0x5af7ea
5af7ce:	8b d6                	mov    %esi,%edx
5af7d0:	0f af 55 bc          	imul   -0x44(%ebp),%edx
5af7d4:	03 55 a4             	add    -0x5c(%ebp),%edx
5af7d7:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
5af7da:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5af7dd:	0f af 45 bc          	imul   -0x44(%ebp),%eax
5af7e1:	03 45 a4             	add    -0x5c(%ebp),%eax
5af7e4:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5af7e7:	88 14 01             	mov    %dl,(%ecx,%eax,1)
5af7ea:	46                   	inc    %esi
5af7eb:	4f                   	dec    %edi
5af7ec:	75 d2                	jne    0x5af7c0
5af7ee:	66 83 7d 0e 00       	cmpw   $0x0,0xe(%ebp)
5af7f3:	74 28                	je     0x5af81d
5af7f5:	8b 45 c0             	mov    -0x40(%ebp),%eax
5af7f8:	03 45 a4             	add    -0x5c(%ebp),%eax
5af7fb:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af801:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af807:	dc 8d 78 ff ff ff    	fmull  -0x88(%ebp)
5af80d:	e8 ba 34 e5 ff       	call   0x402ccc
5af812:	8b c8                	mov    %eax,%ecx
5af814:	8b 55 08             	mov    0x8(%ebp),%edx
5af817:	8b 45 10             	mov    0x10(%ebp),%eax
5af81a:	ff 55 0c             	call   *0xc(%ebp)
5af81d:	ff 45 a4             	incl   -0x5c(%ebp)
5af820:	ff 8d 74 ff ff ff    	decl   -0x8c(%ebp)
5af826:	0f 85 1d fe ff ff    	jne    0x5af649
5af82c:	8b 45 94             	mov    -0x6c(%ebp),%eax
5af82f:	e8 98 2f e5 ff       	call   0x4027cc
5af834:	8b 55 b4             	mov    -0x4c(%ebp),%edx
5af837:	8b 45 fc             	mov    -0x4(%ebp),%eax
5af83a:	e8 29 84 04 00       	call   0x5f7c68
5af83f:	8b 55 ac             	mov    -0x54(%ebp),%edx
5af842:	8b 45 fc             	mov    -0x4(%ebp),%eax
5af845:	e8 7a 82 04 00       	call   0x5f7ac4
5af84a:	db 45 f4             	fildl  -0xc(%ebp)
5af84d:	83 c4 f8             	add    $0xfffffff8,%esp
5af850:	dd 1c 24             	fstpl  (%esp)
5af853:	9b                   	fwait
5af854:	8b 45 fc             	mov    -0x4(%ebp),%eax
5af857:	e8 6c c7 04 00       	call   0x5fbfc8
5af85c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5af85f:	48                   	dec    %eax
5af860:	85 c0                	test   %eax,%eax
5af862:	0f 8c f2 01 00 00    	jl     0x5afa5a
5af868:	40                   	inc    %eax
5af869:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5af86f:	33 f6                	xor    %esi,%esi
5af871:	dd 45 e8             	fldl   -0x18(%ebp)
5af874:	d8 1d 74 fa 5a 00    	fcomps 0x5afa74
5af87a:	df e0                	fnstsw %ax
5af87c:	9e                   	sahf
5af87d:	76 15                	jbe    0x5af894
5af87f:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
5af885:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af88b:	dc 4d d8             	fmull  -0x28(%ebp)
5af88e:	dd 5d c8             	fstpl  -0x38(%ebp)
5af891:	9b                   	fwait
5af892:	eb 18                	jmp    0x5af8ac
5af894:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5af897:	2b c6                	sub    %esi,%eax
5af899:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af89f:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af8a5:	dc 4d d8             	fmull  -0x28(%ebp)
5af8a8:	dd 5d c8             	fstpl  -0x38(%ebp)
5af8ab:	9b dd 45 c8          	fldl   -0x38(%ebp)
5af8af:	e8 0c 34 e5 ff       	call   0x402cc0
5af8b4:	89 45 a8             	mov    %eax,-0x58(%ebp)
5af8b7:	db 45 a8             	fildl  -0x58(%ebp)
5af8ba:	dc 6d c8             	fsubrl -0x38(%ebp)
5af8bd:	d8 0d a4 fa 5a 00    	fmuls  0x5afaa4
5af8c3:	e8 f8 33 e5 ff       	call   0x402cc0
5af8c8:	89 45 a0             	mov    %eax,-0x60(%ebp)
5af8cb:	b8 00 10 00 00       	mov    $0x1000,%eax
5af8d0:	2b 45 a0             	sub    -0x60(%ebp),%eax
5af8d3:	89 45 9c             	mov    %eax,-0x64(%ebp)
5af8d6:	8b 45 b0             	mov    -0x50(%ebp),%eax
5af8d9:	29 45 a8             	sub    %eax,-0x58(%ebp)
5af8dc:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
5af8e0:	0f 84 e8 00 00 00    	je     0x5af9ce
5af8e6:	8a 45 9b             	mov    -0x65(%ebp),%al
5af8e9:	88 45 9a             	mov    %al,-0x66(%ebp)
5af8ec:	8b c6                	mov    %esi,%eax
5af8ee:	f7 6d bc             	imull  -0x44(%ebp)
5af8f1:	8b 55 90             	mov    -0x70(%ebp),%edx
5af8f4:	8d 04 02             	lea    (%edx,%eax,1),%eax
5af8f7:	89 45 8c             	mov    %eax,-0x74(%ebp)
5af8fa:	8b d6                	mov    %esi,%edx
5af8fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
5af8ff:	8b 08                	mov    (%eax),%ecx
5af901:	ff 11                	call   *(%ecx)
5af903:	89 45 88             	mov    %eax,-0x78(%ebp)
5af906:	8b 7d bc             	mov    -0x44(%ebp),%edi
5af909:	4f                   	dec    %edi
5af90a:	85 ff                	test   %edi,%edi
5af90c:	7c 64                	jl     0x5af972
5af90e:	47                   	inc    %edi
5af90f:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
5af916:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af919:	03 45 a4             	add    -0x5c(%ebp),%eax
5af91c:	85 c0                	test   %eax,%eax
5af91e:	7c 49                	jl     0x5af969
5af920:	3b 45 ac             	cmp    -0x54(%ebp),%eax
5af923:	7d 44                	jge    0x5af969
5af925:	8b 5d 88             	mov    -0x78(%ebp),%ebx
5af928:	03 d8                	add    %eax,%ebx
5af92a:	33 c0                	xor    %eax,%eax
5af92c:	8a 45 9a             	mov    -0x66(%ebp),%al
5af92f:	f7 6d a0             	imull  -0x60(%ebp)
5af932:	8b 55 8c             	mov    -0x74(%ebp),%edx
5af935:	0f b6 12             	movzbl (%edx),%edx
5af938:	0f af 55 9c          	imul   -0x64(%ebp),%edx
5af93c:	03 c2                	add    %edx,%eax
5af93e:	05 00 08 00 00       	add    $0x800,%eax
5af943:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af949:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af94f:	d8 35 a4 fa 5a 00    	fdivs  0x5afaa4
5af955:	e8 66 33 e5 ff       	call   0x402cc0
5af95a:	e8 d5 9a ff ff       	call   0x5a9434
5af95f:	88 03                	mov    %al,(%ebx)
5af961:	8b 45 8c             	mov    -0x74(%ebp),%eax
5af964:	8a 00                	mov    (%eax),%al
5af966:	88 45 9a             	mov    %al,-0x66(%ebp)
5af969:	ff 45 8c             	incl   -0x74(%ebp)
5af96c:	ff 45 a4             	incl   -0x5c(%ebp)
5af96f:	4f                   	dec    %edi
5af970:	75 a4                	jne    0x5af916
5af972:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
5af976:	0f 8e a0 00 00 00    	jle    0x5afa1c
5af97c:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af97f:	03 45 bc             	add    -0x44(%ebp),%eax
5af982:	3b 45 ac             	cmp    -0x54(%ebp),%eax
5af985:	0f 8d 91 00 00 00    	jge    0x5afa1c
5af98b:	8b 5d 88             	mov    -0x78(%ebp),%ebx
5af98e:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af991:	03 45 bc             	add    -0x44(%ebp),%eax
5af994:	03 d8                	add    %eax,%ebx
5af996:	33 c0                	xor    %eax,%eax
5af998:	8a 45 9a             	mov    -0x66(%ebp),%al
5af99b:	f7 6d a0             	imull  -0x60(%ebp)
5af99e:	33 d2                	xor    %edx,%edx
5af9a0:	8a 55 9b             	mov    -0x65(%ebp),%dl
5af9a3:	0f af 55 9c          	imul   -0x64(%ebp),%edx
5af9a7:	03 c2                	add    %edx,%eax
5af9a9:	05 00 08 00 00       	add    $0x800,%eax
5af9ae:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5af9b4:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5af9ba:	d8 35 a4 fa 5a 00    	fdivs  0x5afaa4
5af9c0:	e8 fb 32 e5 ff       	call   0x402cc0
5af9c5:	e8 6a 9a ff ff       	call   0x5a9434
5af9ca:	88 03                	mov    %al,(%ebx)
5af9cc:	eb 4e                	jmp    0x5afa1c
5af9ce:	8b c6                	mov    %esi,%eax
5af9d0:	f7 6d bc             	imull  -0x44(%ebp)
5af9d3:	8b 55 90             	mov    -0x70(%ebp),%edx
5af9d6:	8d 04 02             	lea    (%edx,%eax,1),%eax
5af9d9:	89 45 8c             	mov    %eax,-0x74(%ebp)
5af9dc:	8b d6                	mov    %esi,%edx
5af9de:	8b 45 fc             	mov    -0x4(%ebp),%eax
5af9e1:	8b 08                	mov    (%eax),%ecx
5af9e3:	ff 11                	call   *(%ecx)
5af9e5:	89 45 88             	mov    %eax,-0x78(%ebp)
5af9e8:	8b 7d bc             	mov    -0x44(%ebp),%edi
5af9eb:	4f                   	dec    %edi
5af9ec:	85 ff                	test   %edi,%edi
5af9ee:	7c 2c                	jl     0x5afa1c
5af9f0:	47                   	inc    %edi
5af9f1:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
5af9f8:	8b 45 a8             	mov    -0x58(%ebp),%eax
5af9fb:	03 45 a4             	add    -0x5c(%ebp),%eax
5af9fe:	85 c0                	test   %eax,%eax
5afa00:	7c 11                	jl     0x5afa13
5afa02:	3b 45 ac             	cmp    -0x54(%ebp),%eax
5afa05:	7d 0c                	jge    0x5afa13
5afa07:	8b 55 88             	mov    -0x78(%ebp),%edx
5afa0a:	03 d0                	add    %eax,%edx
5afa0c:	8b 45 8c             	mov    -0x74(%ebp),%eax
5afa0f:	8a 00                	mov    (%eax),%al
5afa11:	88 02                	mov    %al,(%edx)
5afa13:	ff 45 8c             	incl   -0x74(%ebp)
5afa16:	ff 45 a4             	incl   -0x5c(%ebp)
5afa19:	4f                   	dec    %edi
5afa1a:	75 dc                	jne    0x5af9f8
5afa1c:	66 83 7d 0e 00       	cmpw   $0x0,0xe(%ebp)
5afa21:	74 2a                	je     0x5afa4d
5afa23:	8b 45 c0             	mov    -0x40(%ebp),%eax
5afa26:	03 45 bc             	add    -0x44(%ebp),%eax
5afa29:	03 c6                	add    %esi,%eax
5afa2b:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
5afa31:	db 85 00 ff ff ff    	fildl  -0x100(%ebp)
5afa37:	dc 8d 78 ff ff ff    	fmull  -0x88(%ebp)
5afa3d:	e8 8a 32 e5 ff       	call   0x402ccc
5afa42:	8b c8                	mov    %eax,%ecx
5afa44:	8b 55 08             	mov    0x8(%ebp),%edx
5afa47:	8b 45 10             	mov    0x10(%ebp),%eax
5afa4a:	ff 55 0c             	call   *0xc(%ebp)
5afa4d:	46                   	inc    %esi
5afa4e:	ff 8d 74 ff ff ff    	decl   -0x8c(%ebp)
5afa54:	0f 85 17 fe ff ff    	jne    0x5af871
5afa5a:	8b 45 90             	mov    -0x70(%ebp),%eax
5afa5d:	e8 6a 2d e5 ff       	call   0x4027cc
5afa62:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5afa65:	e8 0e 40 e5 ff       	call   0x403a78
5afa6a:	5f                   	pop    %edi
5afa6b:	5e                   	pop    %esi
5afa6c:	5b                   	pop    %ebx
5afa6d:	8b e5                	mov    %ebp,%esp
5afa6f:	5d                   	pop    %ebp
5afa70:	c2 14 00             	ret    $0x14
5afa73:	00 00                	add    %al,(%eax)
5afa75:	00 00                	add    %al,(%eax)
5afa77:	00 00                	add    %al,(%eax)
5afa79:	00 7a 44             	add    %bh,0x44(%edx)
5afa7c:	00 00                	add    %al,(%eax)
5afa7e:	34 c2                	xor    $0xc2,%al
5afa80:	00 00                	add    %al,(%eax)
5afa82:	34 42                	xor    $0x42,%al
5afa84:	00 00                	add    %al,(%eax)
5afa86:	b4 42                	mov    $0x42,%ah
5afa88:	35 c2 68 21 a2       	xor    $0xa22168c2,%eax
5afa8d:	da 0f                	fimull (%edi)
5afa8f:	c9                   	leave
5afa90:	00 40 00             	add    %al,0x0(%eax)
5afa93:	00 00                	add    %al,(%eax)
5afa95:	00 34 43             	add    %dh,(%ebx,%eax,2)
5afa98:	00 00                	add    %al,(%eax)
5afa9a:	00 40 00             	add    %al,0x0(%eax)
5afa9d:	00 80 3f 00 00 c8    	add    %al,-0x37ffffc1(%eax)
5afaa3:	42                   	inc    %edx
5afaa4:	00 00                	add    %al,(%eax)
5afaa6:	80 45 53 56          	addb   $0x56,0x53(%ebp)
5afaaa:	57                   	push   %edi
5afaab:	8b d8                	mov    %eax,%ebx
5afaad:	84 c9                	test   %cl,%cl
5afaaf:	74 07                	je     0x5afab8
5afab1:	33 c0                	xor    %eax,%eax
5afab3:	89 43 34             	mov    %eax,0x34(%ebx)
5afab6:	eb 43                	jmp    0x5afafb
5afab8:	8b 73 34             	mov    0x34(%ebx),%esi
5afabb:	85 f6                	test   %esi,%esi
5afabd:	74 3c                	je     0x5afafb
5afabf:	8b c6                	mov    %esi,%eax
5afac1:	8b 10                	mov    (%eax),%edx
5afac3:	ff 92 cc 00 00 00    	call   *0xcc(%edx)
5afac9:	8b f8                	mov    %eax,%edi
5afacb:	89 7b 78             	mov    %edi,0x78(%ebx)
5aface:	80 7b 5c 00          	cmpb   $0x0,0x5c(%ebx)
5afad2:	74 0e                	je     0x5afae2
5afad4:	b1 01                	mov    $0x1,%cl
5afad6:	8b d7                	mov    %edi,%edx
5afad8:	8b 43 58             	mov    0x58(%ebx),%eax
5afadb:	e8 60 8b 04 00       	call   0x5f8640
5afae0:	eb 19                	jmp    0x5afafb
5afae2:	8b 43 34             	mov    0x34(%ebx),%eax
5afae5:	8b 10                	mov    (%eax),%edx
5afae7:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
5afaed:	8b f0                	mov    %eax,%esi
5afaef:	89 73 58             	mov    %esi,0x58(%ebx)
5afaf2:	85 f6                	test   %esi,%esi
5afaf4:	74 05                	je     0x5afafb
5afaf6:	33 c0                	xor    %eax,%eax
5afaf8:	89 43 78             	mov    %eax,0x78(%ebx)
5afafb:	5f                   	pop    %edi
5afafc:	5e                   	pop    %esi
5afafd:	5b                   	pop    %ebx
5afafe:	c3                   	ret
5afaff:	90                   	nop
5afb00:	8b ca                	mov    %edx,%ecx
5afb02:	c1 e9 03             	shr    $0x3,%ecx
5afb05:	8a 04 08             	mov    (%eax,%ecx,1),%al
5afb08:	83 e2 07             	and    $0x7,%edx
5afb0b:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5afb11:	22 04 11             	and    (%ecx,%edx,1),%al
5afb14:	25 ff 00 00 00       	and    $0xff,%eax
5afb19:	c3                   	ret
5afb1a:	8b c0                	mov    %eax,%eax
5afb1c:	53                   	push   %ebx
5afb1d:	8b da                	mov    %edx,%ebx
5afb1f:	c1 eb 03             	shr    $0x3,%ebx
5afb22:	03 d8                	add    %eax,%ebx
5afb24:	8b c3                	mov    %ebx,%eax
5afb26:	85 c9                	test   %ecx,%ecx
5afb28:	74 10                	je     0x5afb3a
5afb2a:	83 e2 07             	and    $0x7,%edx
5afb2d:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5afb33:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5afb36:	08 10                	or     %dl,(%eax)
5afb38:	5b                   	pop    %ebx
5afb39:	c3                   	ret
5afb3a:	83 e2 07             	and    $0x7,%edx
5afb3d:	8b 0d 88 6d 6a 00    	mov    0x6a6d88,%ecx
5afb43:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5afb46:	f6 d2                	not    %dl
5afb48:	20 10                	and    %dl,(%eax)
5afb4a:	5b                   	pop    %ebx
5afb4b:	c3                   	ret
5afb4c:	55                   	push   %ebp
5afb4d:	8b ec                	mov    %esp,%ebp
5afb4f:	81 c4 60 ff ff ff    	add    $0xffffff60,%esp
5afb55:	53                   	push   %ebx
5afb56:	56                   	push   %esi
5afb57:	57                   	push   %edi
5afb58:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5afb5b:	89 55 f8             	mov    %edx,-0x8(%ebp)
5afb5e:	89 45 fc             	mov    %eax,-0x4(%ebp)
5afb61:	8b 45 fc             	mov    -0x4(%ebp),%eax
5afb64:	8b 10                	mov    (%eax),%edx
5afb66:	ff 52 08             	call   *0x8(%edx)
5afb69:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5afb6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5afb6f:	8b 10                	mov    (%eax),%edx
5afb71:	ff 52 0c             	call   *0xc(%edx)
5afb74:	89 45 e0             	mov    %eax,-0x20(%ebp)
5afb77:	b2 01                	mov    $0x1,%dl
5afb79:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5afb7e:	e8 21 7a 04 00       	call   0x5f75a4
5afb83:	89 45 f0             	mov    %eax,-0x10(%ebp)
5afb86:	33 d2                	xor    %edx,%edx
5afb88:	8b 45 f0             	mov    -0x10(%ebp),%eax
5afb8b:	e8 f8 c9 04 00       	call   0x5fc588
5afb90:	dd 45 08             	fldl   0x8(%ebp)
5afb93:	d8 1d ec 01 5b 00    	fcomps 0x5b01ec
5afb99:	df e0                	fnstsw %ax
5afb9b:	9e                   	sahf