5465d9:	3b f2                	cmp    %edx,%esi
5465db:	0f 8c 27 fe ff ff    	jl     0x546408
5465e1:	e9 4c 05 00 00       	jmp    0x546b32
5465e6:	8a 8b e7 00 00 00    	mov    0xe7(%ebx),%cl
5465ec:	b8 01 00 00 00       	mov    $0x1,%eax
5465f1:	d3 e0                	shl    %cl,%eax
5465f3:	48                   	dec    %eax
5465f4:	33 d2                	xor    %edx,%edx
5465f6:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
5465fd:	33 c0                	xor    %eax,%eax
5465ff:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
546606:	33 c9                	xor    %ecx,%ecx
546608:	df ac 24 80 00 00 00 	fildll 0x80(%esp)
54660f:	dd 5c 24 34          	fstpl  0x34(%esp)
546613:	89 54 24 3c          	mov    %edx,0x3c(%esp)
546617:	c7 44 24 40 00 00 f0 	movl   $0x3ff00000,0x40(%esp)
54661e:	3f
54661f:	89 4c 24 44          	mov    %ecx,0x44(%esp)
546623:	c7 44 24 48 00 00 f0 	movl   $0x3ff00000,0x48(%esp)
54662a:	3f
54662b:	8a 83 f0 00 00 00    	mov    0xf0(%ebx),%al
546631:	fe c8                	dec    %al
546633:	74 0a                	je     0x54663f
546635:	fe c8                	dec    %al
546637:	74 20                	je     0x546659
546639:	fe c8                	dec    %al
54663b:	74 44                	je     0x546681
54663d:	eb 68                	jmp    0x5466a7
54663f:	d9 83 20 01 00 00    	flds   0x120(%ebx)
546645:	dd 5c 24 3c          	fstpl  0x3c(%esp)
546649:	33 d2                	xor    %edx,%edx
54664b:	89 54 24 44          	mov    %edx,0x44(%esp)
54664f:	c7 44 24 48 00 00 f0 	movl   $0x3ff00000,0x48(%esp)
546656:	3f
546657:	eb 4e                	jmp    0x5466a7
546659:	d9 05 10 6c 54 00    	flds   0x546c10
54665f:	d8 b3 1c 01 00 00    	fdivs  0x11c(%ebx)
546665:	dd 5c 24 3c          	fstpl  0x3c(%esp)
546669:	d9 83 1c 01 00 00    	flds   0x11c(%ebx)
54666f:	d8 8b 20 01 00 00    	fmuls  0x120(%ebx)
546675:	d8 3d 10 6c 54 00    	fdivrs 0x546c10
54667b:	dd 5c 24 44          	fstpl  0x44(%esp)
54667f:	eb 26                	jmp    0x5466a7
546681:	d9 05 10 6c 54 00    	flds   0x546c10
546687:	d8 b3 f4 00 00 00    	fdivs  0xf4(%ebx)
54668d:	dd 5c 24 3c          	fstpl  0x3c(%esp)
546691:	d9 83 f4 00 00 00    	flds   0xf4(%ebx)
546697:	d8 8b 20 01 00 00    	fmuls  0x120(%ebx)
54669d:	d8 3d 10 6c 54 00    	fdivrs 0x546c10
5466a3:	dd 5c 24 44          	fstpl  0x44(%esp)
5466a7:	ff 74 24 40          	push   0x40(%esp)
5466ab:	ff 74 24 40          	push   0x40(%esp)
5466af:	0f b7 83 00 01 00 00 	movzwl 0x100(%ebx),%eax
5466b6:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
5466bd:	db 84 24 90 00 00 00 	fildl  0x90(%esp)
5466c4:	dc 74 24 3c          	fdivl  0x3c(%esp)
5466c8:	83 c4 f8             	add    $0xfffffff8,%esp
5466cb:	dd 1c 24             	fstpl  (%esp)
5466ce:	e8 85 fd fd ff       	call   0x526458
5466d3:	83 c4 10             	add    $0x10,%esp
5466d6:	dc 4c 24 34          	fmull  0x34(%esp)
5466da:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5466e0:	e8 33 fe fd ff       	call   0x526518
5466e5:	66 89 83 0a 01 00 00 	mov    %ax,0x10a(%ebx)
5466ec:	ff 74 24 48          	push   0x48(%esp)
5466f0:	ff 74 24 48          	push   0x48(%esp)
5466f4:	0f b7 8b 00 01 00 00 	movzwl 0x100(%ebx),%ecx
5466fb:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
546702:	db 84 24 94 00 00 00 	fildl  0x94(%esp)
546709:	dc 74 24 3c          	fdivl  0x3c(%esp)
54670d:	83 c4 f8             	add    $0xfffffff8,%esp
546710:	dd 1c 24             	fstpl  (%esp)
546713:	e8 40 fd fd ff       	call   0x526458
546718:	83 c4 10             	add    $0x10,%esp
54671b:	dc 4c 24 34          	fmull  0x34(%esp)
54671f:	d8 05 2c 6c 54 00    	fadds  0x546c2c
546725:	e8 ee fd fd ff       	call   0x526518
54672a:	66 89 83 00 01 00 00 	mov    %ax,0x100(%ebx)
546731:	66 8b b3 fa 00 00 00 	mov    0xfa(%ebx),%si
546738:	66 3b b3 fc 00 00 00 	cmp    0xfc(%ebx),%si
54673f:	75 16                	jne    0x546757
546741:	66 3b b3 fe 00 00 00 	cmp    0xfe(%ebx),%si
546748:	75 0d                	jne    0x546757
54674a:	66 3b b3 00 01 00 00 	cmp    0x100(%ebx),%si
546751:	0f 84 9f 01 00 00    	je     0x5468f6
546757:	ff 74 24 40          	push   0x40(%esp)
54675b:	ff 74 24 40          	push   0x40(%esp)
54675f:	0f b7 d6             	movzwl %si,%edx
546762:	89 94 24 98 00 00 00 	mov    %edx,0x98(%esp)
546769:	db 84 24 98 00 00 00 	fildl  0x98(%esp)
546770:	dc 74 24 3c          	fdivl  0x3c(%esp)
546774:	83 c4 f8             	add    $0xfffffff8,%esp
546777:	dd 1c 24             	fstpl  (%esp)
54677a:	e8 d9 fc fd ff       	call   0x526458
54677f:	83 c4 10             	add    $0x10,%esp
546782:	dc 4c 24 34          	fmull  0x34(%esp)
546786:	d8 05 2c 6c 54 00    	fadds  0x546c2c
54678c:	e8 87 fd fd ff       	call   0x526518
546791:	66 89 83 04 01 00 00 	mov    %ax,0x104(%ebx)
546798:	ff 74 24 40          	push   0x40(%esp)
54679c:	ff 74 24 40          	push   0x40(%esp)
5467a0:	0f b7 8b fc 00 00 00 	movzwl 0xfc(%ebx),%ecx
5467a7:	89 8c 24 9c 00 00 00 	mov    %ecx,0x9c(%esp)
5467ae:	db 84 24 9c 00 00 00 	fildl  0x9c(%esp)
5467b5:	dc 74 24 3c          	fdivl  0x3c(%esp)
5467b9:	83 c4 f8             	add    $0xfffffff8,%esp
5467bc:	dd 1c 24             	fstpl  (%esp)
5467bf:	e8 94 fc fd ff       	call   0x526458
5467c4:	83 c4 10             	add    $0x10,%esp
5467c7:	dc 4c 24 34          	fmull  0x34(%esp)
5467cb:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5467d1:	e8 42 fd fd ff       	call   0x526518
5467d6:	66 89 83 06 01 00 00 	mov    %ax,0x106(%ebx)
5467dd:	ff 74 24 40          	push   0x40(%esp)
5467e1:	ff 74 24 40          	push   0x40(%esp)
5467e5:	0f b7 8b fe 00 00 00 	movzwl 0xfe(%ebx),%ecx
5467ec:	89 8c 24 a0 00 00 00 	mov    %ecx,0xa0(%esp)
5467f3:	db 84 24 a0 00 00 00 	fildl  0xa0(%esp)
5467fa:	dc 74 24 3c          	fdivl  0x3c(%esp)
5467fe:	83 c4 f8             	add    $0xfffffff8,%esp
546801:	dd 1c 24             	fstpl  (%esp)
546804:	e8 4f fc fd ff       	call   0x526458
546809:	83 c4 10             	add    $0x10,%esp
54680c:	dc 4c 24 34          	fmull  0x34(%esp)
546810:	d8 05 2c 6c 54 00    	fadds  0x546c2c
546816:	e8 fd fc fd ff       	call   0x526518
54681b:	66 89 83 08 01 00 00 	mov    %ax,0x108(%ebx)
546822:	ff 74 24 48          	push   0x48(%esp)
546826:	ff 74 24 48          	push   0x48(%esp)
54682a:	0f b7 8b fa 00 00 00 	movzwl 0xfa(%ebx),%ecx
546831:	89 8c 24 a4 00 00 00 	mov    %ecx,0xa4(%esp)
546838:	db 84 24 a4 00 00 00 	fildl  0xa4(%esp)
54683f:	dc 74 24 3c          	fdivl  0x3c(%esp)
546843:	83 c4 f8             	add    $0xfffffff8,%esp
546846:	dd 1c 24             	fstpl  (%esp)
546849:	e8 0a fc fd ff       	call   0x526458
54684e:	83 c4 10             	add    $0x10,%esp
546851:	dc 4c 24 34          	fmull  0x34(%esp)
546855:	d8 05 2c 6c 54 00    	fadds  0x546c2c
54685b:	e8 b8 fc fd ff       	call   0x526518
546860:	66 89 83 fa 00 00 00 	mov    %ax,0xfa(%ebx)
546867:	ff 74 24 48          	push   0x48(%esp)
54686b:	ff 74 24 48          	push   0x48(%esp)
54686f:	0f b7 8b fc 00 00 00 	movzwl 0xfc(%ebx),%ecx
546876:	89 8c 24 a8 00 00 00 	mov    %ecx,0xa8(%esp)
54687d:	db 84 24 a8 00 00 00 	fildl  0xa8(%esp)
546884:	dc 74 24 3c          	fdivl  0x3c(%esp)
546888:	83 c4 f8             	add    $0xfffffff8,%esp
54688b:	dd 1c 24             	fstpl  (%esp)
54688e:	e8 c5 fb fd ff       	call   0x526458
546893:	83 c4 10             	add    $0x10,%esp
546896:	dc 4c 24 34          	fmull  0x34(%esp)
54689a:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5468a0:	e8 73 fc fd ff       	call   0x526518
5468a5:	66 89 83 fc 00 00 00 	mov    %ax,0xfc(%ebx)
5468ac:	ff 74 24 48          	push   0x48(%esp)
5468b0:	ff 74 24 48          	push   0x48(%esp)
5468b4:	0f b7 8b fe 00 00 00 	movzwl 0xfe(%ebx),%ecx
5468bb:	89 8c 24 ac 00 00 00 	mov    %ecx,0xac(%esp)
5468c2:	db 84 24 ac 00 00 00 	fildl  0xac(%esp)
5468c9:	dc 74 24 3c          	fdivl  0x3c(%esp)
5468cd:	83 c4 f8             	add    $0xfffffff8,%esp
5468d0:	dd 1c 24             	fstpl  (%esp)
5468d3:	e8 80 fb fd ff       	call   0x526458
5468d8:	83 c4 10             	add    $0x10,%esp
5468db:	dc 4c 24 34          	fmull  0x34(%esp)
5468df:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5468e5:	e8 2e fc fd ff       	call   0x526518
5468ea:	66 89 83 fe 00 00 00 	mov    %ax,0xfe(%ebx)
5468f1:	e9 3c 02 00 00       	jmp    0x546b32
5468f6:	66 8b 93 0a 01 00 00 	mov    0x10a(%ebx),%dx
5468fd:	66 89 93 08 01 00 00 	mov    %dx,0x108(%ebx)
546904:	66 89 93 06 01 00 00 	mov    %dx,0x106(%ebx)
54690b:	66 89 93 04 01 00 00 	mov    %dx,0x104(%ebx)
546912:	66 8b 83 00 01 00 00 	mov    0x100(%ebx),%ax
546919:	66 89 83 fe 00 00 00 	mov    %ax,0xfe(%ebx)
546920:	66 89 83 fc 00 00 00 	mov    %ax,0xfc(%ebx)
546927:	66 89 83 fa 00 00 00 	mov    %ax,0xfa(%ebx)
54692e:	e9 ff 01 00 00       	jmp    0x546b32
546933:	8b 14 24             	mov    (%esp),%edx
546936:	83 fa 03             	cmp    $0x3,%edx
546939:	0f 85 f3 01 00 00    	jne    0x546b32
54693f:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
546945:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
546949:	0f b7 b3 d8 00 00 00 	movzwl 0xd8(%ebx),%esi
546950:	33 d2                	xor    %edx,%edx
546952:	8b 44 24 4c          	mov    0x4c(%esp),%eax
546956:	3b f2                	cmp    %edx,%esi
546958:	0f 8e d4 01 00 00    	jle    0x546b32
54695e:	33 c9                	xor    %ecx,%ecx
546960:	8b bb 24 01 00 00    	mov    0x124(%ebx),%edi
546966:	8a 08                	mov    (%eax),%cl
546968:	42                   	inc    %edx
546969:	8a 0c 0f             	mov    (%edi,%ecx,1),%cl
54696c:	88 08                	mov    %cl,(%eax)
54696e:	33 c9                	xor    %ecx,%ecx
546970:	8a 48 01             	mov    0x1(%eax),%cl
546973:	8b bb 24 01 00 00    	mov    0x124(%ebx),%edi
546979:	8a 0c 0f             	mov    (%edi,%ecx,1),%cl
54697c:	88 48 01             	mov    %cl,0x1(%eax)
54697f:	33 c9                	xor    %ecx,%ecx
546981:	8a 48 02             	mov    0x2(%eax),%cl
546984:	8b bb 24 01 00 00    	mov    0x124(%ebx),%edi
54698a:	8a 0c 0f             	mov    (%edi,%ecx,1),%cl
54698d:	88 48 02             	mov    %cl,0x2(%eax)
546990:	83 c0 03             	add    $0x3,%eax
546993:	3b f2                	cmp    %edx,%esi
546995:	7f c7                	jg     0x54695e
546997:	e9 96 01 00 00       	jmp    0x546b32
54699c:	f6 43 30 80          	testb  $0x80,0x30(%ebx)
5469a0:	0f 84 8c 01 00 00    	je     0x546b32
5469a6:	8b 04 24             	mov    (%esp),%eax
5469a9:	83 f8 03             	cmp    $0x3,%eax
5469ac:	0f 85 80 01 00 00    	jne    0x546b32
5469b2:	0f b7 93 da 00 00 00 	movzwl 0xda(%ebx),%edx
5469b9:	89 54 24 50          	mov    %edx,0x50(%esp)
5469bd:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
5469c3:	89 44 24 58          	mov    %eax,0x58(%esp)
5469c7:	8a 93 fa 00 00 00    	mov    0xfa(%ebx),%dl
5469cd:	88 54 24 54          	mov    %dl,0x54(%esp)
5469d1:	8a 8b fc 00 00 00    	mov    0xfc(%ebx),%cl
5469d7:	88 4c 24 55          	mov    %cl,0x55(%esp)
5469db:	8a 83 fe 00 00 00    	mov    0xfe(%ebx),%al
5469e1:	88 44 24 56          	mov    %al,0x56(%esp)
5469e5:	33 d2                	xor    %edx,%edx
5469e7:	8b 4c 24 58          	mov    0x58(%esp),%ecx
5469eb:	8b c1                	mov    %ecx,%eax
5469ed:	8b 4c 24 50          	mov    0x50(%esp),%ecx
5469f1:	3b d1                	cmp    %ecx,%edx
5469f3:	0f 8d 39 01 00 00    	jge    0x546b32
5469f9:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
5469ff:	8a 0c 11             	mov    (%ecx,%edx,1),%cl
546a02:	84 c9                	test   %cl,%cl
546a04:	75 14                	jne    0x546a1a
546a06:	66 8b 4c 24 54       	mov    0x54(%esp),%cx
546a0b:	66 89 08             	mov    %cx,(%eax)
546a0e:	8a 4c 24 56          	mov    0x56(%esp),%cl
546a12:	88 48 02             	mov    %cl,0x2(%eax)
546a15:	e9 08 01 00 00       	jmp    0x546b22
546a1a:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546a20:	8a 0c 11             	mov    (%ecx,%edx,1),%cl
546a23:	80 f9 ff             	cmp    $0xff,%cl
546a26:	0f 84 f6 00 00 00    	je     0x546b22
546a2c:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546a32:	66 bf ff 00          	mov    $0xff,%di
546a36:	0f b6 34 11          	movzbl (%ecx,%edx,1),%esi
546a3a:	33 c9                	xor    %ecx,%ecx
546a3c:	0f b7 f6             	movzwl %si,%esi
546a3f:	8a 08                	mov    (%eax),%cl
546a41:	0f b7 c9             	movzwl %cx,%ecx
546a44:	0f af f1             	imul   %ecx,%esi
546a47:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546a4d:	0f b6 0c 11          	movzbl (%ecx,%edx,1),%ecx
546a51:	66 2b f9             	sub    %cx,%di
546a54:	0f b7 cf             	movzwl %di,%ecx
546a57:	0f b6 7c 24 54       	movzbl 0x54(%esp),%edi
546a5c:	0f b7 ff             	movzwl %di,%edi
546a5f:	0f af cf             	imul   %edi,%ecx
546a62:	66 03 f1             	add    %cx,%si
546a65:	66 81 c6 80 00       	add    $0x80,%si
546a6a:	0f b7 ce             	movzwl %si,%ecx
546a6d:	0f b7 f6             	movzwl %si,%esi
546a70:	c1 fe 08             	sar    $0x8,%esi
546a73:	03 ce                	add    %esi,%ecx
546a75:	c1 f9 08             	sar    $0x8,%ecx
546a78:	88 08                	mov    %cl,(%eax)
546a7a:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546a80:	66 bf ff 00          	mov    $0xff,%di
546a84:	0f b6 34 11          	movzbl (%ecx,%edx,1),%esi
546a88:	33 c9                	xor    %ecx,%ecx
546a8a:	0f b7 f6             	movzwl %si,%esi
546a8d:	8a 48 01             	mov    0x1(%eax),%cl
546a90:	0f b7 c9             	movzwl %cx,%ecx
546a93:	0f af f1             	imul   %ecx,%esi
546a96:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546a9c:	0f b6 0c 11          	movzbl (%ecx,%edx,1),%ecx
546aa0:	66 2b f9             	sub    %cx,%di
546aa3:	0f b7 cf             	movzwl %di,%ecx
546aa6:	0f b6 7c 24 55       	movzbl 0x55(%esp),%edi
546aab:	0f b7 ff             	movzwl %di,%edi
546aae:	0f af cf             	imul   %edi,%ecx
546ab1:	66 03 f1             	add    %cx,%si
546ab4:	66 81 c6 80 00       	add    $0x80,%si
546ab9:	0f b7 ce             	movzwl %si,%ecx
546abc:	0f b7 f6             	movzwl %si,%esi
546abf:	c1 fe 08             	sar    $0x8,%esi
546ac2:	03 ce                	add    %esi,%ecx
546ac4:	c1 f9 08             	sar    $0x8,%ecx
546ac7:	88 48 01             	mov    %cl,0x1(%eax)
546aca:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546ad0:	0f b6 70 02          	movzbl 0x2(%eax),%esi
546ad4:	0f b6 0c 11          	movzbl (%ecx,%edx,1),%ecx
546ad8:	0f b7 c9             	movzwl %cx,%ecx
546adb:	0f b7 f6             	movzwl %si,%esi
546ade:	0f af ce             	imul   %esi,%ecx
546ae1:	8b b3 48 01 00 00    	mov    0x148(%ebx),%esi
546ae7:	66 bf ff 00          	mov    $0xff,%di
546aeb:	0f b6 34 16          	movzbl (%esi,%edx,1),%esi
546aef:	66 2b fe             	sub    %si,%di
546af2:	0f b7 f7             	movzwl %di,%esi
546af5:	0f b6 7c 24 56       	movzbl 0x56(%esp),%edi
546afa:	0f b7 ff             	movzwl %di,%edi
546afd:	0f af f7             	imul   %edi,%esi
546b00:	66 03 ce             	add    %si,%cx
546b03:	66 81 c1 80 00       	add    $0x80,%cx
546b08:	66 89 4c 24 5c       	mov    %cx,0x5c(%esp)
546b0d:	0f b7 74 24 5c       	movzwl 0x5c(%esp),%esi
546b12:	0f b7 4c 24 5c       	movzwl 0x5c(%esp),%ecx
546b17:	c1 fe 08             	sar    $0x8,%esi
546b1a:	03 ce                	add    %esi,%ecx
546b1c:	c1 f9 08             	sar    $0x8,%ecx
546b1f:	88 48 02             	mov    %cl,0x2(%eax)
546b22:	42                   	inc    %edx
546b23:	83 c0 03             	add    $0x3,%eax
546b26:	8b 4c 24 50          	mov    0x50(%esp),%ecx
546b2a:	3b d1                	cmp    %ecx,%edx
546b2c:	0f 8c c7 fe ff ff    	jl     0x5469f9
546b32:	f6 43 30 08          	testb  $0x8,0x30(%ebx)
546b36:	0f 84 ca 00 00 00    	je     0x546c06
546b3c:	8b 04 24             	mov    (%esp),%eax
546b3f:	83 f8 03             	cmp    $0x3,%eax
546b42:	0f 85 be 00 00 00    	jne    0x546c06
546b48:	66 8b 93 d8 00 00 00 	mov    0xd8(%ebx),%dx
546b4f:	33 c0                	xor    %eax,%eax
546b51:	66 89 54 24 5e       	mov    %dx,0x5e(%esp)
546b56:	be 08 00 00 00       	mov    $0x8,%esi
546b5b:	8a 83 3c 01 00 00    	mov    0x13c(%ebx),%al
546b61:	ba 08 00 00 00       	mov    $0x8,%edx
546b66:	2b f0                	sub    %eax,%esi
546b68:	33 c0                	xor    %eax,%eax
546b6a:	8a 83 3d 01 00 00    	mov    0x13d(%ebx),%al
546b70:	33 c9                	xor    %ecx,%ecx
546b72:	2b d0                	sub    %eax,%edx
546b74:	b8 08 00 00 00       	mov    $0x8,%eax
546b79:	89 54 24 60          	mov    %edx,0x60(%esp)
546b7d:	8a 8b 3e 01 00 00    	mov    0x13e(%ebx),%cl
546b83:	2b c1                	sub    %ecx,%eax
546b85:	85 f6                	test   %esi,%esi
546b87:	89 44 24 64          	mov    %eax,0x64(%esp)
546b8b:	7c 05                	jl     0x546b92
546b8d:	83 fe 08             	cmp    $0x8,%esi
546b90:	7e 02                	jle    0x546b94
546b92:	33 f6                	xor    %esi,%esi
546b94:	8b 44 24 60          	mov    0x60(%esp),%eax
546b98:	85 c0                	test   %eax,%eax
546b9a:	7c 09                	jl     0x546ba5
546b9c:	8b 54 24 60          	mov    0x60(%esp),%edx
546ba0:	83 fa 08             	cmp    $0x8,%edx
546ba3:	7e 06                	jle    0x546bab
546ba5:	33 c9                	xor    %ecx,%ecx