4857dc:	8b 45 10             	mov    0x10(%ebp),%eax
4857df:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
4857e5:	83 a5 78 f8 ff ff 00 	andl   $0x0,-0x788(%ebp)
4857ec:	40                   	inc    %eax
4857ed:	89 7d 08             	mov    %edi,0x8(%ebp)
4857f0:	89 75 0c             	mov    %esi,0xc(%ebp)
4857f3:	dd 45 08             	fldl   0x8(%ebp)
4857f6:	dd 95 98 f8 ff ff    	fstl   -0x768(%ebp)
4857fc:	8b bd 9c f8 ff ff    	mov    -0x764(%ebp),%edi
485802:	8b cf                	mov    %edi,%ecx
485804:	89 85 84 f8 ff ff    	mov    %eax,-0x77c(%ebp)
48580a:	c1 e9 14             	shr    $0x14,%ecx
48580d:	8b c1                	mov    %ecx,%eax
48580f:	25 ff 07 00 00       	and    $0x7ff,%eax
485814:	83 c8 00             	or     $0x0,%eax
485817:	75 06                	jne    0x48581f
485819:	b2 01                	mov    $0x1,%dl
48581b:	33 f6                	xor    %esi,%esi
48581d:	eb 09                	jmp    0x485828
48581f:	32 d2                	xor    %dl,%dl
485821:	be 00 00 10 00       	mov    $0x100000,%esi
485826:	33 c0                	xor    %eax,%eax
485828:	8b 9d 98 f8 ff ff    	mov    -0x768(%ebp),%ebx
48582e:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
485834:	03 d8                	add    %eax,%ebx
485836:	13 fe                	adc    %esi,%edi
485838:	33 c0                	xor    %eax,%eax
48583a:	84 d2                	test   %dl,%dl
48583c:	0f 95 c0             	setne  %al
48583f:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
485845:	40                   	inc    %eax
485846:	8d b1 cc fb ff ff    	lea    -0x434(%ecx),%esi
48584c:	03 f0                	add    %eax,%esi
48584e:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
485854:	e8 b7 34 00 00       	call   0x488d10
485859:	51                   	push   %ecx
48585a:	51                   	push   %ecx
48585b:	dd 1c 24             	fstpl  (%esp)
48585e:	e8 bd 35 00 00       	call   0x488e20
485863:	59                   	pop    %ecx
485864:	59                   	pop    %ecx
485865:	e8 26 41 00 00       	call   0x489990
48586a:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
485870:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
485875:	74 07                	je     0x48587e
485877:	3d 00 00 00 80       	cmp    $0x80000000,%eax
48587c:	75 08                	jne    0x485886
48587e:	33 c0                	xor    %eax,%eax
485880:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
485886:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
48588c:	33 db                	xor    %ebx,%ebx
48588e:	85 ff                	test   %edi,%edi
485890:	89 bd 34 fe ff ff    	mov    %edi,-0x1cc(%ebp)
485896:	0f 95 c3             	setne  %bl
485899:	43                   	inc    %ebx
48589a:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
4858a0:	85 f6                	test   %esi,%esi
4858a2:	0f 88 ed 03 00 00    	js     0x485c95
4858a8:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
4858af:	6a 02                	push   $0x2
4858b1:	5e                   	pop    %esi
4858b2:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
4858b9:	00 10 00
4858bc:	89 b5 8c fa ff ff    	mov    %esi,-0x574(%ebp)
4858c2:	3b de                	cmp    %esi,%ebx
4858c4:	0f 85 00 02 00 00    	jne    0x485aca
4858ca:	33 c9                	xor    %ecx,%ecx
4858cc:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
4858d3:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
4858da:	0f 85 ea 01 00 00    	jne    0x485aca
4858e0:	83 c1 04             	add    $0x4,%ecx
4858e3:	83 f9 08             	cmp    $0x8,%ecx
4858e6:	75 e4                	jne    0x4858cc
4858e8:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4858ee:	33 d2                	xor    %edx,%edx
4858f0:	83 c0 02             	add    $0x2,%eax
4858f3:	8b f0                	mov    %eax,%esi
4858f5:	83 e0 1f             	and    $0x1f,%eax
4858f8:	6a 20                	push   $0x20
4858fa:	59                   	pop    %ecx
4858fb:	2b c8                	sub    %eax,%ecx
4858fd:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
485903:	33 c0                	xor    %eax,%eax
485905:	c1 ee 05             	shr    $0x5,%esi
485908:	40                   	inc    %eax
485909:	89 b5 ac f8 ff ff    	mov    %esi,-0x754(%ebp)
48590f:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
485915:	e8 e6 a3 fb ff       	call   0x43fd00
48591a:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
485921:	48                   	dec    %eax
485922:	0f bd cf             	bsr    %edi,%ecx
485925:	89 85 a0 f8 ff ff    	mov    %eax,-0x760(%ebp)
48592b:	f7 d0                	not    %eax
48592d:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
485933:	74 03                	je     0x485938
485935:	41                   	inc    %ecx
485936:	eb 02                	jmp    0x48593a
485938:	33 c9                	xor    %ecx,%ecx
48593a:	6a 20                	push   $0x20
48593c:	58                   	pop    %eax
48593d:	2b c1                	sub    %ecx,%eax
48593f:	8d 56 02             	lea    0x2(%esi),%edx
485942:	39 85 b0 f8 ff ff    	cmp    %eax,-0x750(%ebp)
485948:	89 95 a8 f8 ff ff    	mov    %edx,-0x758(%ebp)
48594e:	0f 97 c0             	seta   %al
485951:	83 fa 73             	cmp    $0x73,%edx
485954:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
48595a:	0f 97 c1             	seta   %cl
48595d:	83 fa 73             	cmp    $0x73,%edx
485960:	75 08                	jne    0x48596a
485962:	84 c0                	test   %al,%al
485964:	74 04                	je     0x48596a
485966:	b0 01                	mov    $0x1,%al
485968:	eb 02                	jmp    0x48596c
48596a:	32 c0                	xor    %al,%al
48596c:	84 c9                	test   %cl,%cl
48596e:	0f 85 ef 00 00 00    	jne    0x485a63
485974:	84 c0                	test   %al,%al
485976:	0f 85 e7 00 00 00    	jne    0x485a63
48597c:	6a 72                	push   $0x72
48597e:	59                   	pop    %ecx
48597f:	3b d1                	cmp    %ecx,%edx
485981:	72 08                	jb     0x48598b
485983:	8b d1                	mov    %ecx,%edx
485985:	89 8d a8 f8 ff ff    	mov    %ecx,-0x758(%ebp)
48598b:	8b ca                	mov    %edx,%ecx
48598d:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
485993:	83 fa ff             	cmp    $0xffffffff,%edx
485996:	0f 84 96 00 00 00    	je     0x485a32
48599c:	8b f2                	mov    %edx,%esi
48599e:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4859a4:	8b 95 ac f8 ff ff    	mov    -0x754(%ebp),%edx
4859aa:	2b f2                	sub    %edx,%esi
4859ac:	8d 04 b0             	lea    (%eax,%esi,4),%eax
4859af:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
4859b5:	3b ca                	cmp    %edx,%ecx
4859b7:	72 6d                	jb     0x485a26
4859b9:	3b f3                	cmp    %ebx,%esi
4859bb:	73 04                	jae    0x4859c1
4859bd:	8b 38                	mov    (%eax),%edi
4859bf:	eb 02                	jmp    0x4859c3
4859c1:	33 ff                	xor    %edi,%edi
4859c3:	8d 46 ff             	lea    -0x1(%esi),%eax
4859c6:	3b c3                	cmp    %ebx,%eax
4859c8:	73 0b                	jae    0x4859d5
4859ca:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
4859d0:	8b 40 fc             	mov    -0x4(%eax),%eax
4859d3:	eb 02                	jmp    0x4859d7
4859d5:	33 c0                	xor    %eax,%eax
4859d7:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
4859dd:	23 bd a0 f8 ff ff    	and    -0x760(%ebp),%edi
4859e3:	8b 8d 90 f8 ff ff    	mov    -0x770(%ebp),%ecx
4859e9:	d3 e8                	shr    %cl,%eax
4859eb:	8b 8d b0 f8 ff ff    	mov    -0x750(%ebp),%ecx
4859f1:	d3 e7                	shl    %cl,%edi
4859f3:	8b 8d a4 f8 ff ff    	mov    -0x75c(%ebp),%ecx
4859f9:	0b c7                	or     %edi,%eax
4859fb:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
485a02:	49                   	dec    %ecx
485a03:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
485a09:	4e                   	dec    %esi
485a0a:	83 e8 04             	sub    $0x4,%eax
485a0d:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
485a13:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
485a19:	83 f9 ff             	cmp    $0xffffffff,%ecx
485a1c:	74 08                	je     0x485a26
485a1e:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
485a24:	eb 8f                	jmp    0x4859b5
485a26:	8b 95 a8 f8 ff ff    	mov    -0x758(%ebp),%edx
485a2c:	8b b5 ac f8 ff ff    	mov    -0x754(%ebp),%esi
485a32:	85 f6                	test   %esi,%esi
485a34:	74 0c                	je     0x485a42
485a36:	8b ce                	mov    %esi,%ecx
485a38:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
485a3e:	33 c0                	xor    %eax,%eax
485a40:	f3 ab                	rep stos %eax,%es:(%edi)
485a42:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
485a49:	bb cc 01 00 00       	mov    $0x1cc,%ebx
485a4e:	74 0b                	je     0x485a5b
485a50:	8d 42 01             	lea    0x1(%edx),%eax
485a53:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
485a59:	eb 33                	jmp    0x485a8e
485a5b:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
485a61:	eb 2b                	jmp    0x485a8e
485a63:	33 c0                	xor    %eax,%eax
485a65:	bb cc 01 00 00       	mov    $0x1cc,%ebx
485a6a:	50                   	push   %eax
485a6b:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
485a71:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
485a77:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
485a7d:	50                   	push   %eax
485a7e:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
485a84:	53                   	push   %ebx
485a85:	50                   	push   %eax
485a86:	e8 55 10 00 00       	call   0x486ae0
485a8b:	83 c4 10             	add    $0x10,%esp
485a8e:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
485a95:	33 c9                	xor    %ecx,%ecx
485a97:	6a 04                	push   $0x4
485a99:	58                   	pop    %eax
485a9a:	41                   	inc    %ecx
485a9b:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
485aa1:	89 8d 8c fa ff ff    	mov    %ecx,-0x574(%ebp)
485aa7:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
485aad:	50                   	push   %eax
485aae:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
485ab4:	50                   	push   %eax
485ab5:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
485abb:	53                   	push   %ebx
485abc:	50                   	push   %eax
485abd:	e8 1e 10 00 00       	call   0x486ae0
485ac2:	83 c4 10             	add    $0x10,%esp
485ac5:	e9 5c 04 00 00       	jmp    0x485f26
485aca:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
485ad0:	33 d2                	xor    %edx,%edx
485ad2:	40                   	inc    %eax
485ad3:	8b f8                	mov    %eax,%edi
485ad5:	83 e0 1f             	and    $0x1f,%eax
485ad8:	6a 20                	push   $0x20
485ada:	59                   	pop    %ecx
485adb:	2b c8                	sub    %eax,%ecx
485add:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
485ae3:	33 c0                	xor    %eax,%eax
485ae5:	c1 ef 05             	shr    $0x5,%edi
485ae8:	40                   	inc    %eax
485ae9:	89 bd b4 f8 ff ff    	mov    %edi,-0x74c(%ebp)
485aef:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
485af5:	e8 06 a2 fb ff       	call   0x43fd00
485afa:	8b 8c 9d 2c fe ff ff 	mov    -0x1d4(%ebp,%ebx,4),%ecx
485b01:	48                   	dec    %eax
485b02:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
485b09:	0f bd c9             	bsr    %ecx,%ecx
485b0c:	89 85 8c f8 ff ff    	mov    %eax,-0x774(%ebp)
485b12:	f7 d0                	not    %eax
485b14:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
485b1a:	74 03                	je     0x485b1f
485b1c:	41                   	inc    %ecx
485b1d:	eb 02                	jmp    0x485b21
485b1f:	33 c9                	xor    %ecx,%ecx
485b21:	6a 20                	push   $0x20
485b23:	58                   	pop    %eax
485b24:	2b c1                	sub    %ecx,%eax
485b26:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
485b29:	39 85 ac f8 ff ff    	cmp    %eax,-0x754(%ebp)
485b2f:	89 95 a8 f8 ff ff    	mov    %edx,-0x758(%ebp)
485b35:	0f 97 c0             	seta   %al
485b38:	83 fa 73             	cmp    $0x73,%edx
485b3b:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
485b41:	0f 97 c1             	seta   %cl
485b44:	83 fa 73             	cmp    $0x73,%edx
485b47:	75 08                	jne    0x485b51
485b49:	84 c0                	test   %al,%al
485b4b:	74 04                	je     0x485b51
485b4d:	b0 01                	mov    $0x1,%al
485b4f:	eb 02                	jmp    0x485b53
485b51:	32 c0                	xor    %al,%al
485b53:	84 c9                	test   %cl,%cl
485b55:	0f 85 ec 00 00 00    	jne    0x485c47
485b5b:	84 c0                	test   %al,%al
485b5d:	0f 85 e4 00 00 00    	jne    0x485c47
485b63:	6a 72                	push   $0x72
485b65:	59                   	pop    %ecx
485b66:	3b d1                	cmp    %ecx,%edx
485b68:	72 08                	jb     0x485b72
485b6a:	8b d1                	mov    %ecx,%edx
485b6c:	89 8d a8 f8 ff ff    	mov    %ecx,-0x758(%ebp)
485b72:	8b c2                	mov    %edx,%eax
485b74:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
485b7a:	83 fa ff             	cmp    $0xffffffff,%edx
485b7d:	0f 84 93 00 00 00    	je     0x485c16
485b83:	8b f2                	mov    %edx,%esi
485b85:	8d 8d 30 fe ff ff    	lea    -0x1d0(%ebp),%ecx
485b8b:	8b 95 b4 f8 ff ff    	mov    -0x74c(%ebp),%edx
485b91:	2b f2                	sub    %edx,%esi
485b93:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
485b96:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
485b9c:	3b c2                	cmp    %edx,%eax
485b9e:	72 67                	jb     0x485c07
485ba0:	3b f3                	cmp    %ebx,%esi
485ba2:	73 04                	jae    0x485ba8
485ba4:	8b 39                	mov    (%ecx),%edi
485ba6:	eb 02                	jmp    0x485baa
485ba8:	33 ff                	xor    %edi,%edi
485baa:	8d 46 ff             	lea    -0x1(%esi),%eax
485bad:	3b c3                	cmp    %ebx,%eax
485baf:	73 05                	jae    0x485bb6
485bb1:	8b 41 fc             	mov    -0x4(%ecx),%eax
485bb4:	eb 02                	jmp    0x485bb8
485bb6:	33 c0                	xor    %eax,%eax
485bb8:	23 bd 8c f8 ff ff    	and    -0x774(%ebp),%edi
485bbe:	23 85 90 f8 ff ff    	and    -0x770(%ebp),%eax
485bc4:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
485bca:	d3 e7                	shl    %cl,%edi
485bcc:	8b 8d a0 f8 ff ff    	mov    -0x760(%ebp),%ecx
485bd2:	d3 e8                	shr    %cl,%eax
485bd4:	8b 8d a4 f8 ff ff    	mov    -0x75c(%ebp),%ecx
485bda:	0b f8                	or     %eax,%edi
485bdc:	8b 85 b0 f8 ff ff    	mov    -0x750(%ebp),%eax
485be2:	83 e9 04             	sub    $0x4,%ecx
485be5:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
485beb:	89 bc 85 30 fe ff ff 	mov    %edi,-0x1d0(%ebp,%eax,4)
485bf2:	48                   	dec    %eax
485bf3:	4e                   	dec    %esi
485bf4:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
485bfa:	83 f8 ff             	cmp    $0xffffffff,%eax
485bfd:	74 08                	je     0x485c07
485bff:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
485c05:	eb 95                	jmp    0x485b9c
485c07:	8b 95 a8 f8 ff ff    	mov    -0x758(%ebp),%edx
485c0d:	8b bd b4 f8 ff ff    	mov    -0x74c(%ebp),%edi
485c13:	6a 02                	push   $0x2
485c15:	5e                   	pop    %esi
485c16:	85 ff                	test   %edi,%edi
485c18:	74 0c                	je     0x485c26
485c1a:	8b cf                	mov    %edi,%ecx
485c1c:	33 c0                	xor    %eax,%eax
485c1e:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
485c24:	f3 ab                	rep stos %eax,%es:(%edi)
485c26:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
485c2d:	bb cc 01 00 00       	mov    $0x1cc,%ebx
485c32:	74 0b                	je     0x485c3f
485c34:	8d 42 01             	lea    0x1(%edx),%eax
485c37:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
485c3d:	eb 33                	jmp    0x485c72
485c3f:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
485c45:	eb 2b                	jmp    0x485c72
485c47:	33 c0                	xor    %eax,%eax
485c49:	bb cc 01 00 00       	mov    $0x1cc,%ebx
485c4e:	50                   	push   %eax
485c4f:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
485c55:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
485c5b:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
485c61:	50                   	push   %eax
485c62:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
485c68:	53                   	push   %ebx
485c69:	50                   	push   %eax
485c6a:	e8 71 0e 00 00       	call   0x486ae0
485c6f:	83 c4 10             	add    $0x10,%esp
485c72:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
485c79:	33 c0                	xor    %eax,%eax
485c7b:	40                   	inc    %eax
485c7c:	89 b5 90 fa ff ff    	mov    %esi,-0x570(%ebp)
485c82:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
485c88:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
485c8e:	6a 04                	push   $0x4
485c90:	e9 19 fe ff ff       	jmp    0x485aae
485c95:	81 fe 02 fc ff ff    	cmp    $0xfffffc02,%esi
485c9b:	0f 84 19 01 00 00    	je     0x485dba
485ca1:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
485ca8:	6a 02                	push   $0x2