4717f6:	15 47 00 18 16       	adc    $0x16180047,%eax
4717fb:	47                   	inc    %edi
4717fc:	00 18                	add    %bl,(%eax)
4717fe:	16                   	push   %ss
4717ff:	47                   	inc    %edi
471800:	00 c1                	add    %al,%cl
471802:	16                   	push   %ss
471803:	47                   	inc    %edi
471804:	00 dc                	add    %bl,%ah
471806:	17                   	pop    %ss
471807:	47                   	inc    %edi
471808:	00 ec                	add    %ch,%ah
47180a:	16                   	push   %ss
47180b:	47                   	inc    %edi
47180c:	00 19                	add    %bl,(%ecx)
47180e:	17                   	pop    %ss
47180f:	47                   	inc    %edi
471810:	00 8c 17 47 00 b7 17 	add    %cl,0x17b70047(%edi,%edx,1)
471817:	47                   	inc    %edi
471818:	00 81 f9 ff ff 00    	add    %al,0xfffff9(%ecx)
47181e:	00 77 07             	add    %dh,0x7(%edi)
471821:	33 c0                	xor    %eax,%eax
471823:	66 89 0a             	mov    %cx,(%edx)
471826:	40                   	inc    %eax
471827:	c3                   	ret
471828:	81 e9 00 00 01 00    	sub    $0x10000,%ecx
47182e:	8b c1                	mov    %ecx,%eax
471830:	c1 e8 0a             	shr    $0xa,%eax
471833:	0d 00 d8 00 00       	or     $0xd800,%eax
471838:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
47183e:	66 89 02             	mov    %ax,(%edx)
471841:	81 c9 00 dc 00 00    	or     $0xdc00,%ecx
471847:	6a 02                	push   $0x2
471849:	66 89 4a 02          	mov    %cx,0x2(%edx)
47184d:	58                   	pop    %eax
47184e:	c3                   	ret
47184f:	55                   	push   %ebp
471850:	8b ec                	mov    %esp,%ebp
471852:	53                   	push   %ebx
471853:	56                   	push   %esi
471854:	57                   	push   %edi
471855:	6a 02                	push   $0x2
471857:	5f                   	pop    %edi
471858:	85 d2                	test   %edx,%edx
47185a:	79 14                	jns    0x471870
47185c:	33 c0                	xor    %eax,%eax
47185e:	8b d1                	mov    %ecx,%edx
471860:	66 39 01             	cmp    %ax,(%ecx)
471863:	74 07                	je     0x47186c
471865:	03 d7                	add    %edi,%edx
471867:	66 39 02             	cmp    %ax,(%edx)
47186a:	75 f9                	jne    0x471865
47186c:	2b d1                	sub    %ecx,%edx
47186e:	d1 fa                	sar    $1,%edx
471870:	8b f1                	mov    %ecx,%esi
471872:	eb 38                	jmp    0x4718ac
471874:	0f b7 1e             	movzwl (%esi),%ebx
471877:	8b c3                	mov    %ebx,%eax
471879:	25 00 f8 00 00       	and    $0xf800,%eax
47187e:	4a                   	dec    %edx
47187f:	3d 00 d8 00 00       	cmp    $0xd800,%eax
471884:	75 24                	jne    0x4718aa
471886:	f7 c3 00 04 00 00    	test   $0x400,%ebx
47188c:	75 2e                	jne    0x4718bc
47188e:	85 d2                	test   %edx,%edx
471890:	74 25                	je     0x4718b7
471892:	03 f7                	add    %edi,%esi
471894:	bb 00 fc 00 00       	mov    $0xfc00,%ebx
471899:	66 8b 06             	mov    (%esi),%ax
47189c:	66 23 c3             	and    %bx,%ax
47189f:	bb 00 dc 00 00       	mov    $0xdc00,%ebx
4718a4:	4a                   	dec    %edx
4718a5:	66 3b c3             	cmp    %bx,%ax
4718a8:	75 15                	jne    0x4718bf
4718aa:	03 f7                	add    %edi,%esi
4718ac:	85 d2                	test   %edx,%edx
4718ae:	7f c4                	jg     0x471874
4718b0:	33 c0                	xor    %eax,%eax
4718b2:	5f                   	pop    %edi
4718b3:	5e                   	pop    %esi
4718b4:	5b                   	pop    %ebx
4718b5:	5d                   	pop    %ebp
4718b6:	c3                   	ret
4718b7:	33 ff                	xor    %edi,%edi
4718b9:	47                   	inc    %edi
4718ba:	eb 03                	jmp    0x4718bf
4718bc:	6a 03                	push   $0x3
4718be:	5f                   	pop    %edi
4718bf:	2b f1                	sub    %ecx,%esi
4718c1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4718c4:	d1 fe                	sar    $1,%esi
4718c6:	89 31                	mov    %esi,(%ecx)
4718c8:	8b c7                	mov    %edi,%eax
4718ca:	eb e6                	jmp    0x4718b2
4718cc:	cc                   	int3
4718cd:	cc                   	int3
4718ce:	cc                   	int3
4718cf:	cc                   	int3
4718d0:	83 3d 54 01 4c 00 00 	cmpl   $0x0,0x4c0154
4718d7:	74 2d                	je     0x471906
4718d9:	55                   	push   %ebp
4718da:	8b ec                	mov    %esp,%ebp
4718dc:	83 ec 08             	sub    $0x8,%esp
4718df:	83 e4 f8             	and    $0xfffffff8,%esp
4718e2:	dd 1c 24             	fstpl  (%esp)
4718e5:	f2 0f 2c 04 24       	cvttsd2si (%esp),%eax
4718ea:	c9                   	leave
4718eb:	c3                   	ret
4718ec:	83 3d 54 01 4c 00 00 	cmpl   $0x0,0x4c0154
4718f3:	74 11                	je     0x471906
4718f5:	83 ec 04             	sub    $0x4,%esp
4718f8:	d9 3c 24             	fnstcw (%esp)
4718fb:	58                   	pop    %eax
4718fc:	66 83 e0 7f          	and    $0x7f,%ax
471900:	66 83 f8 7f          	cmp    $0x7f,%ax
471904:	74 d3                	je     0x4718d9
471906:	55                   	push   %ebp
471907:	8b ec                	mov    %esp,%ebp
471909:	83 ec 20             	sub    $0x20,%esp
47190c:	83 e4 f0             	and    $0xfffffff0,%esp
47190f:	d9 c0                	fld    %st(0)
471911:	d9 54 24 18          	fsts   0x18(%esp)
471915:	df 7c 24 10          	fistpll 0x10(%esp)
471919:	df 6c 24 10          	fildll 0x10(%esp)
47191d:	8b 54 24 18          	mov    0x18(%esp),%edx
471921:	8b 44 24 10          	mov    0x10(%esp),%eax
471925:	85 c0                	test   %eax,%eax
471927:	74 3c                	je     0x471965
471929:	de e9                	fsubrp %st,%st(1)
47192b:	85 d2                	test   %edx,%edx
47192d:	79 1e                	jns    0x47194d
47192f:	d9 1c 24             	fstps  (%esp)
471932:	8b 0c 24             	mov    (%esp),%ecx
471935:	81 f1 00 00 00 80    	xor    $0x80000000,%ecx
47193b:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
471941:	83 d0 00             	adc    $0x0,%eax
471944:	8b 54 24 14          	mov    0x14(%esp),%edx
471948:	83 d2 00             	adc    $0x0,%edx
47194b:	eb 2c                	jmp    0x471979
47194d:	d9 1c 24             	fstps  (%esp)
471950:	8b 0c 24             	mov    (%esp),%ecx
471953:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
471959:	83 d8 00             	sbb    $0x0,%eax
47195c:	8b 54 24 14          	mov    0x14(%esp),%edx
471960:	83 da 00             	sbb    $0x0,%edx
471963:	eb 14                	jmp    0x471979
471965:	8b 54 24 14          	mov    0x14(%esp),%edx
471969:	f7 c2 ff ff ff 7f    	test   $0x7fffffff,%edx
47196f:	75 b8                	jne    0x471929
471971:	d9 5c 24 18          	fstps  0x18(%esp)
471975:	d9 5c 24 18          	fstps  0x18(%esp)
471979:	c9                   	leave
47197a:	c3                   	ret
47197b:	e8 14 c4 fa ff       	call   0x41dd94
471980:	68 35 1a 47 00       	push   $0x471a35
471985:	e8 80 f5 fa ff       	call   0x420f0a
47198a:	59                   	pop    %ecx
47198b:	c3                   	ret
47198c:	e8 de c3 fa ff       	call   0x41dd6f
471991:	68 3b 1a 47 00       	push   $0x471a3b
471996:	e8 6f f5 fa ff       	call   0x420f0a
47199b:	59                   	pop    %ecx
47199c:	c3                   	ret
47199d:	68 40 1a 47 00       	push   $0x471a40
4719a2:	e8 63 f5 fa ff       	call   0x420f0a
4719a7:	59                   	pop    %ecx
4719a8:	c3                   	ret
4719a9:	e8 15 ce fa ff       	call   0x41e7c3
4719ae:	68 45 1a 47 00       	push   $0x471a45
4719b3:	e8 52 f5 fa ff       	call   0x420f0a
4719b8:	59                   	pop    %ecx
4719b9:	c3                   	ret
4719ba:	e8 9b ad fa ff       	call   0x41c75a
4719bf:	68 4a 1a 47 00       	push   $0x471a4a
4719c4:	e8 41 f5 fa ff       	call   0x420f0a
4719c9:	59                   	pop    %ecx
4719ca:	c3                   	ret
4719cb:	51                   	push   %ecx
4719cc:	e8 51 09 f9 ff       	call   0x402322
4719d1:	68 4f 1a 47 00       	push   $0x471a4f
4719d6:	e8 2f f5 fa ff       	call   0x420f0a
4719db:	59                   	pop    %ecx
4719dc:	c3                   	ret
4719dd:	a1 60 11 4c 00       	mov    0x4c1160,%eax
4719e2:	51                   	push   %ecx
4719e3:	8b 40 04             	mov    0x4(%eax),%eax
4719e6:	05 60 11 4c 00       	add    $0x4c1160,%eax
4719eb:	50                   	push   %eax
4719ec:	e8 3f 30 f9 ff       	call   0x404a30
4719f1:	68 64 1a 47 00       	push   $0x471a64
4719f6:	e8 0f f5 fa ff       	call   0x420f0a
4719fb:	59                   	pop    %ecx
4719fc:	c3                   	ret
4719fd:	e8 d7 21 f9 ff       	call   0x403bd9
471a02:	68 69 1a 47 00       	push   $0x471a69
471a07:	e8 fe f4 fa ff       	call   0x420f0a
471a0c:	59                   	pop    %ecx
471a0d:	c3                   	ret
471a0e:	e8 b0 cf fa ff       	call   0x41e9c3
471a13:	68 6e 1a 47 00       	push   $0x471a6e
471a18:	e8 ed f4 fa ff       	call   0x420f0a
471a1d:	59                   	pop    %ecx
471a1e:	c3                   	ret
471a1f:	b9 64 21 4c 00       	mov    $0x4c2164,%ecx
471a24:	e8 ce bd f9 ff       	call   0x40d7f7
471a29:	68 9b 1a 47 00       	push   $0x471a9b
471a2e:	e8 d7 f4 fa ff       	call   0x420f0a
471a33:	59                   	pop    %ecx
471a34:	c3                   	ret
471a35:	e9 bb ce fa ff       	jmp    0x41e8f5
471a3a:	c3                   	ret
471a3b:	e9 17 cf fa ff       	jmp    0x41e957
471a40:	e9 5b d2 fa ff       	jmp    0x41eca0
471a45:	e9 aa cf fa ff       	jmp    0x41e9f4
471a4a:	e9 5c 1e f9 ff       	jmp    0x4038ab
471a4f:	56                   	push   %esi
471a50:	be 14 16 4c 00       	mov    $0x4c1614,%esi
471a55:	8b ce                	mov    %esi,%ecx
471a57:	e8 37 16 f9 ff       	call   0x403093
471a5c:	8b ce                	mov    %esi,%ecx
471a5e:	5e                   	pop    %esi
471a5f:	e9 28 c2 fc ff       	jmp    0x43dc8c
471a64:	e9 ce 38 f9 ff       	jmp    0x405337
471a69:	e9 13 31 f9 ff       	jmp    0x404b81
471a6e:	e9 ab ce fa ff       	jmp    0x41e91e
471a73:	b9 94 21 4c 00       	mov    $0x4c2194,%ecx
471a78:	e9 ba b0 f9 ff       	jmp    0x40cb37
471a7d:	b9 b0 21 4c 00       	mov    $0x4c21b0,%ecx
471a82:	e9 e9 c5 f9 ff       	jmp    0x40e070
471a87:	b9 c0 21 4c 00       	mov    $0x4c21c0,%ecx
471a8c:	e9 df c5 f9 ff       	jmp    0x40e070
471a91:	b9 d0 21 4c 00       	mov    $0x4c21d0,%ecx
471a96:	e9 d5 c5 f9 ff       	jmp    0x40e070
471a9b:	b9 64 21 4c 00       	mov    $0x4c2164,%ecx
471aa0:	e9 92 b0 f9 ff       	jmp    0x40cb37
471aa5:	b9 f4 21 4c 00       	mov    $0x4c21f4,%ecx
471aaa:	e9 88 b0 f9 ff       	jmp    0x40cb37
471aaf:	b9 20 22 4c 00       	mov    $0x4c2220,%ecx
471ab4:	e9 b7 c5 f9 ff       	jmp    0x40e070
471ab9:	8b 06                	mov    (%esi),%eax
471abb:	8b 00                	mov    (%eax),%eax
471abd:	3b 45 08             	cmp    0x8(%ebp),%eax
471ac0:	0f 85 3b 01 f9 ff    	jne    0x401c01
471ac6:	33 c0                	xor    %eax,%eax
471ac8:	40                   	inc    %eax
471ac9:	e9 35 01 f9 ff       	jmp    0x401c03
471ace:	8b 47 0c             	mov    0xc(%edi),%eax
471ad1:	56                   	push   %esi
471ad2:	ff 08                	decl   (%eax)
471ad4:	8b cf                	mov    %edi,%ecx
471ad6:	e8 6f 50 f9 ff       	call   0x406b4a
471adb:	ff 75 08             	push   0x8(%ebp)
471ade:	e8 f8 f1 fa ff       	call   0x420cdb
471ae3:	59                   	pop    %ecx
471ae4:	8b 4f 04             	mov    0x4(%edi),%ecx
471ae7:	41                   	inc    %ecx
471ae8:	03 c1                	add    %ecx,%eax
471aea:	50                   	push   %eax
471aeb:	e8 06 50 f9 ff       	call   0x406af6
471af0:	33 c9                	xor    %ecx,%ecx
471af2:	6a 02                	push   $0x2
471af4:	5a                   	pop    %edx
471af5:	89 47 08             	mov    %eax,0x8(%edi)
471af8:	f7 e2                	mul    %edx
471afa:	0f 90 c1             	seto   %cl
471afd:	f7 d9                	neg    %ecx
471aff:	0b c8                	or     %eax,%ecx
471b01:	51                   	push   %ecx
471b02:	e8 6e d3 fa ff       	call   0x41ee75
471b07:	8b 4f 04             	mov    0x4(%edi),%ecx
471b0a:	8b f0                	mov    %eax,%esi
471b0c:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
471b13:	51                   	push   %ecx
471b14:	ff 37                	push   (%edi)
471b16:	56                   	push   %esi
471b17:	e8 64 d3 fa ff       	call   0x41ee80
471b1c:	83 c4 10             	add    $0x10,%esp
471b1f:	89 37                	mov    %esi,(%edi)
471b21:	5e                   	pop    %esi
471b22:	e9 78 36 f9 ff       	jmp    0x40519f
471b27:	8b 4f 0c             	mov    0xc(%edi),%ecx
471b2a:	56                   	push   %esi
471b2b:	ff 09                	decl   (%ecx)
471b2d:	8b cf                	mov    %edi,%ecx
471b2f:	e8 16 50 f9 ff       	call   0x406b4a
471b34:	8b 47 04             	mov    0x4(%edi),%eax
471b37:	40                   	inc    %eax
471b38:	03 c3                	add    %ebx,%eax
471b3a:	50                   	push   %eax
471b3b:	e8 b6 4f f9 ff       	call   0x406af6
471b40:	33 c9                	xor    %ecx,%ecx
471b42:	6a 02                	push   $0x2
471b44:	5a                   	pop    %edx
471b45:	89 47 08             	mov    %eax,0x8(%edi)
471b48:	f7 e2                	mul    %edx
471b4a:	0f 90 c1             	seto   %cl
471b4d:	f7 d9                	neg    %ecx
471b4f:	0b c8                	or     %eax,%ecx
471b51:	51                   	push   %ecx
471b52:	e8 1e d3 fa ff       	call   0x41ee75
471b57:	8b 4f 04             	mov    0x4(%edi),%ecx
471b5a:	8b f0                	mov    %eax,%esi
471b5c:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
471b63:	51                   	push   %ecx
471b64:	ff 37                	push   (%edi)
471b66:	56                   	push   %esi
471b67:	e8 14 d3 fa ff       	call   0x41ee80
471b6c:	83 c4 10             	add    $0x10,%esp
471b6f:	89 37                	mov    %esi,(%edi)
471b71:	5e                   	pop    %esi
471b72:	e9 e7 35 f9 ff       	jmp    0x40515e
471b77:	3d 00 00 00 02       	cmp    $0x2000000,%eax
471b7c:	73 1e                	jae    0x471b9c
471b7e:	89 45 08             	mov    %eax,0x8(%ebp)
471b81:	db 45 08             	fildl  0x8(%ebp)
471b84:	85 c0                	test   %eax,%eax
471b86:	79 06                	jns    0x471b8e
471b88:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
471b8e:	dd 5d f8             	fstpl  -0x8(%ebp)
471b91:	dd 45 f8             	fldl   -0x8(%ebp)
471b94:	dc 0d 10 27 4b 00    	fmull  0x4b2710
471b9a:	eb 41                	jmp    0x471bdd
471b9c:	3d 00 00 00 08       	cmp    $0x8000000,%eax
471ba1:	73 1e                	jae    0x471bc1
471ba3:	89 45 08             	mov    %eax,0x8(%ebp)
471ba6:	db 45 08             	fildl  0x8(%ebp)
471ba9:	85 c0                	test   %eax,%eax
471bab:	79 06                	jns    0x471bb3
471bad:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
471bb3:	dd 5d f8             	fstpl  -0x8(%ebp)
471bb6:	dd 45 f8             	fldl   -0x8(%ebp)
471bb9:	dc 0d 08 27 4b 00    	fmull  0x4b2708
471bbf:	eb 1c                	jmp    0x471bdd
471bc1:	89 45 08             	mov    %eax,0x8(%ebp)
471bc4:	db 45 08             	fildl  0x8(%ebp)
471bc7:	85 c0                	test   %eax,%eax
471bc9:	79 06                	jns    0x471bd1
471bcb:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
471bd1:	dd 5d f8             	fstpl  -0x8(%ebp)
471bd4:	dd 45 f8             	fldl   -0x8(%ebp)
471bd7:	dc 0d 00 27 4b 00    	fmull  0x4b2700
471bdd:	e8 24 fd ff ff       	call   0x471906
471be2:	e9 c1 9f f9 ff       	jmp    0x40bba8
471be7:	56                   	push   %esi
471be8:	8d 45 ec             	lea    -0x14(%ebp),%eax
471beb:	50                   	push   %eax
471bec:	e8 9e 89 fc ff       	call   0x43a58f
471bf1:	50                   	push   %eax
471bf2:	8b ce                	mov    %esi,%ecx
471bf4:	e8 f4 52 f9 ff       	call   0x406eed