450968:	5f                   	pop    %edi
450969:	5e                   	pop    %esi
45096a:	5b                   	pop    %ebx
45096b:	e8 6a 0b 19 00       	call   0x5e14da
450970:	8b e5                	mov    %ebp,%esp
450972:	5d                   	pop    %ebp
450973:	c2 18 00             	ret    $0x18
450976:	cc                   	int3
450977:	cc                   	int3
450978:	cc                   	int3
450979:	cc                   	int3
45097a:	cc                   	int3
45097b:	cc                   	int3
45097c:	cc                   	int3
45097d:	cc                   	int3
45097e:	cc                   	int3
45097f:	cc                   	int3
450980:	55                   	push   %ebp
450981:	8b ec                	mov    %esp,%ebp
450983:	83 ec 54             	sub    $0x54,%esp
450986:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45098b:	33 c5                	xor    %ebp,%eax
45098d:	89 45 fc             	mov    %eax,-0x4(%ebp)
450990:	0f b6 45 f5          	movzbl -0xb(%ebp),%eax
450994:	53                   	push   %ebx
450995:	56                   	push   %esi
450996:	8b 75 14             	mov    0x14(%ebp),%esi
450999:	89 4d ac             	mov    %ecx,-0x54(%ebp)
45099c:	8b 5d ac             	mov    -0x54(%ebp),%ebx
45099f:	c7 45 b0 2b 00 00 00 	movl   $0x2b,-0x50(%ebp)
4509a6:	8b 4e 14             	mov    0x14(%esi),%ecx
4509a9:	8b d1                	mov    %ecx,%edx
4509ab:	83 e2 20             	and    $0x20,%edx
4509ae:	c6 45 f4 25          	movb   $0x25,-0xc(%ebp)
4509b2:	57                   	push   %edi
4509b3:	0f 45 45 b0          	cmovne -0x50(%ebp),%eax
4509b7:	85 d2                	test   %edx,%edx
4509b9:	8b 7d 08             	mov    0x8(%ebp),%edi
4509bc:	8d 55 f6             	lea    -0xa(%ebp),%edx
4509bf:	88 45 f5             	mov    %al,-0xb(%ebp)
4509c2:	8d 45 f5             	lea    -0xb(%ebp),%eax
4509c5:	0f 45 c2             	cmovne %edx,%eax
4509c8:	f6 c1 08             	test   $0x8,%cl
4509cb:	74 04                	je     0x4509d1
4509cd:	c6 00 23             	movb   $0x23,(%eax)
4509d0:	40                   	inc    %eax
4509d1:	8b d1                	mov    %ecx,%edx
4509d3:	c6 00 6c             	movb   $0x6c,(%eax)
4509d6:	81 e2 00 0e 00 00    	and    $0xe00,%edx
4509dc:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4509e2:	75 04                	jne    0x4509e8
4509e4:	b1 6f                	mov    $0x6f,%cl
4509e6:	eb 17                	jmp    0x4509ff
4509e8:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4509ee:	74 04                	je     0x4509f4
4509f0:	b1 75                	mov    $0x75,%cl
4509f2:	eb 0b                	jmp    0x4509ff
4509f4:	c0 e1 03             	shl    $0x3,%cl
4509f7:	f6 d1                	not    %cl
4509f9:	80 e1 20             	and    $0x20,%cl
4509fc:	80 c9 58             	or     $0x58,%cl
4509ff:	ff 75 1c             	push   0x1c(%ebp)
450a02:	88 48 01             	mov    %cl,0x1(%eax)
450a05:	c6 40 02 00          	movb   $0x0,0x2(%eax)
450a09:	8d 45 f4             	lea    -0xc(%ebp),%eax
450a0c:	50                   	push   %eax
450a0d:	8d 45 b4             	lea    -0x4c(%ebp),%eax
450a10:	6a 40                	push   $0x40
450a12:	50                   	push   %eax
450a13:	e8 38 8b fe ff       	call   0x439550
450a18:	50                   	push   %eax
450a19:	8d 45 b4             	lea    -0x4c(%ebp),%eax
450a1c:	50                   	push   %eax
450a1d:	ff 75 18             	push   0x18(%ebp)
450a20:	56                   	push   %esi
450a21:	ff 75 10             	push   0x10(%ebp)
450a24:	ff 75 0c             	push   0xc(%ebp)
450a27:	57                   	push   %edi
450a28:	53                   	push   %ebx
450a29:	e8 52 f5 ff ff       	call   0x44ff80
450a2e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
450a31:	83 c4 30             	add    $0x30,%esp
450a34:	8b c7                	mov    %edi,%eax
450a36:	33 cd                	xor    %ebp,%ecx
450a38:	5f                   	pop    %edi
450a39:	5e                   	pop    %esi
450a3a:	5b                   	pop    %ebx
450a3b:	e8 9a 0a 19 00       	call   0x5e14da
450a40:	8b e5                	mov    %ebp,%esp
450a42:	5d                   	pop    %ebp
450a43:	c2 18 00             	ret    $0x18
450a46:	cc                   	int3
450a47:	cc                   	int3
450a48:	cc                   	int3
450a49:	cc                   	int3
450a4a:	cc                   	int3
450a4b:	cc                   	int3
450a4c:	cc                   	int3
450a4d:	cc                   	int3
450a4e:	cc                   	int3
450a4f:	cc                   	int3
450a50:	55                   	push   %ebp
450a51:	8b ec                	mov    %esp,%ebp
450a53:	6a ff                	push   $0xffffffff
450a55:	68 88 e0 64 00       	push   $0x64e088
450a5a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
450a60:	50                   	push   %eax
450a61:	83 ec 38             	sub    $0x38,%esp
450a64:	a1 d4 89 72 00       	mov    0x7289d4,%eax
450a69:	33 c5                	xor    %ebp,%eax
450a6b:	89 45 f0             	mov    %eax,-0x10(%ebp)
450a6e:	56                   	push   %esi
450a6f:	57                   	push   %edi
450a70:	50                   	push   %eax
450a71:	8d 45 f4             	lea    -0xc(%ebp),%eax
450a74:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
450a7a:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
450a7d:	8b 45 08             	mov    0x8(%ebp),%eax
450a80:	33 d2                	xor    %edx,%edx
450a82:	8b 4d 14             	mov    0x14(%ebp),%ecx
450a85:	89 45 bc             	mov    %eax,-0x44(%ebp)
450a88:	89 4d c0             	mov    %ecx,-0x40(%ebp)
450a8b:	89 55 e0             	mov    %edx,-0x20(%ebp)
450a8e:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
450a95:	88 55 d0             	mov    %dl,-0x30(%ebp)
450a98:	8b 41 14             	mov    0x14(%ecx),%eax
450a9b:	8b 79 18             	mov    0x18(%ecx),%edi
450a9e:	25 00 30 00 00       	and    $0x3000,%eax
450aa3:	8b 49 1c             	mov    0x1c(%ecx),%ecx
450aa6:	89 55 fc             	mov    %edx,-0x4(%ebp)
450aa9:	85 c9                	test   %ecx,%ecx
450aab:	7f 1b                	jg     0x450ac8
450aad:	7c 04                	jl     0x450ab3
450aaf:	85 ff                	test   %edi,%edi
450ab1:	75 15                	jne    0x450ac8
450ab3:	3d 00 20 00 00       	cmp    $0x2000,%eax
450ab8:	74 0e                	je     0x450ac8
450aba:	bf 06 00 00 00       	mov    $0x6,%edi
450abf:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
450ac6:	eb 03                	jmp    0x450acb
450ac8:	89 4d cc             	mov    %ecx,-0x34(%ebp)
450acb:	8b f7                	mov    %edi,%esi
450acd:	3d 00 20 00 00       	cmp    $0x2000,%eax
450ad2:	75 53                	jne    0x450b27
450ad4:	f2 0f 10 4d 1c       	movsd  0x1c(%ebp),%xmm1
450ad9:	0f 28 c1             	movaps %xmm1,%xmm0
450adc:	0f 54 05 d0 59 6e 00 	andps  0x6e59d0,%xmm0
450ae3:	66 0f 2f 05 c0 59 6e 	comisd 0x6e59c0,%xmm0
450aea:	00
450aeb:	76 3a                	jbe    0x450b27
450aed:	8d 45 cc             	lea    -0x34(%ebp),%eax
450af0:	50                   	push   %eax
450af1:	83 ec 08             	sub    $0x8,%esp
450af4:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
450af9:	e8 b8 5a 1a 00       	call   0x5f65b6
450afe:	8b 45 cc             	mov    -0x34(%ebp),%eax
450b01:	83 c4 0c             	add    $0xc,%esp
450b04:	99                   	cltd
450b05:	dd d8                	fstp   %st(0)
450b07:	33 c2                	xor    %edx,%eax
450b09:	2b c2                	sub    %edx,%eax
450b0b:	69 c8 97 75 00 00    	imul   $0x7597,%eax,%ecx
450b11:	b8 89 b5 f8 14       	mov    $0x14f8b589,%eax
450b16:	f7 e9                	imul   %ecx
450b18:	c1 fa 0d             	sar    $0xd,%edx
450b1b:	8b c2                	mov    %edx,%eax
450b1d:	c1 e8 1f             	shr    $0x1f,%eax
450b20:	03 c2                	add    %edx,%eax
450b22:	8b 55 e0             	mov    -0x20(%ebp),%edx
450b25:	03 f0                	add    %eax,%esi
450b27:	33 c9                	xor    %ecx,%ecx
450b29:	83 c6 32             	add    $0x32,%esi
450b2c:	0f 92 c1             	setb   %cl
450b2f:	f7 d9                	neg    %ecx
450b31:	0b ce                	or     %esi,%ecx
450b33:	3b ca                	cmp    %edx,%ecx
450b35:	77 14                	ja     0x450b4b
450b37:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
450b3b:	8d 45 d0             	lea    -0x30(%ebp),%eax
450b3e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
450b41:	0f 43 45 d0          	cmovae -0x30(%ebp),%eax
450b45:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
450b49:	eb 0d                	jmp    0x450b58
450b4b:	2b ca                	sub    %edx,%ecx
450b4d:	6a 00                	push   $0x0
450b4f:	51                   	push   %ecx
450b50:	8d 4d d0             	lea    -0x30(%ebp),%ecx
450b53:	e8 b8 fa fe ff       	call   0x440610
450b58:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
450b5c:	8d 75 d0             	lea    -0x30(%ebp),%esi
450b5f:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
450b64:	8d 45 e8             	lea    -0x18(%ebp),%eax
450b67:	0f 43 75 d0          	cmovae -0x30(%ebp),%esi
450b6b:	83 ec 08             	sub    $0x8,%esp
450b6e:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
450b73:	57                   	push   %edi
450b74:	8b 7d c0             	mov    -0x40(%ebp),%edi
450b77:	ff 77 14             	push   0x14(%edi)
450b7a:	6a 00                	push   $0x0
450b7c:	50                   	push   %eax
450b7d:	ff 75 c4             	push   -0x3c(%ebp)
450b80:	e8 4b f6 fe ff       	call   0x4401d0
450b85:	83 c4 10             	add    $0x10,%esp
450b88:	50                   	push   %eax
450b89:	ff 75 e0             	push   -0x20(%ebp)
450b8c:	56                   	push   %esi
450b8d:	e8 be 89 fe ff       	call   0x439550
450b92:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
450b96:	8d 4d d0             	lea    -0x30(%ebp),%ecx
450b99:	8b 75 bc             	mov    -0x44(%ebp),%esi
450b9c:	0f 43 4d d0          	cmovae -0x30(%ebp),%ecx
450ba0:	50                   	push   %eax
450ba1:	51                   	push   %ecx
450ba2:	ff 75 18             	push   0x18(%ebp)
450ba5:	57                   	push   %edi
450ba6:	ff 75 10             	push   0x10(%ebp)
450ba9:	ff 75 0c             	push   0xc(%ebp)
450bac:	56                   	push   %esi
450bad:	ff 75 c4             	push   -0x3c(%ebp)
450bb0:	e8 cb ed ff ff       	call   0x44f980
450bb5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
450bb8:	83 c4 38             	add    $0x38,%esp
450bbb:	83 fa 10             	cmp    $0x10,%edx
450bbe:	72 28                	jb     0x450be8
450bc0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
450bc3:	42                   	inc    %edx
450bc4:	8b c1                	mov    %ecx,%eax
450bc6:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
450bcc:	72 10                	jb     0x450bde
450bce:	8b 49 fc             	mov    -0x4(%ecx),%ecx
450bd1:	83 c2 23             	add    $0x23,%edx
450bd4:	2b c1                	sub    %ecx,%eax
450bd6:	83 c0 fc             	add    $0xfffffffc,%eax
450bd9:	83 f8 1f             	cmp    $0x1f,%eax
450bdc:	77 29                	ja     0x450c07
450bde:	52                   	push   %edx
450bdf:	51                   	push   %ecx
450be0:	e8 8d 04 19 00       	call   0x5e1072
450be5:	83 c4 08             	add    $0x8,%esp
450be8:	8b c6                	mov    %esi,%eax
450bea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
450bed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450bf4:	59                   	pop    %ecx
450bf5:	5f                   	pop    %edi
450bf6:	5e                   	pop    %esi
450bf7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
450bfa:	33 cd                	xor    %ebp,%ecx
450bfc:	e8 d9 08 19 00       	call   0x5e14da
450c01:	8b e5                	mov    %ebp,%esp
450c03:	5d                   	pop    %ebp
450c04:	c2 1c 00             	ret    $0x1c
450c07:	e8 23 c3 19 00       	call   0x5ecf2f
450c0c:	cc                   	int3
450c0d:	cc                   	int3
450c0e:	cc                   	int3
450c0f:	cc                   	int3
450c10:	55                   	push   %ebp
450c11:	8b ec                	mov    %esp,%ebp
450c13:	6a ff                	push   $0xffffffff
450c15:	68 88 e0 64 00       	push   $0x64e088
450c1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
450c20:	50                   	push   %eax
450c21:	83 ec 38             	sub    $0x38,%esp
450c24:	a1 d4 89 72 00       	mov    0x7289d4,%eax
450c29:	33 c5                	xor    %ebp,%eax
450c2b:	89 45 f0             	mov    %eax,-0x10(%ebp)
450c2e:	56                   	push   %esi
450c2f:	57                   	push   %edi
450c30:	50                   	push   %eax
450c31:	8d 45 f4             	lea    -0xc(%ebp),%eax
450c34:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
450c3a:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
450c3d:	8b 45 08             	mov    0x8(%ebp),%eax
450c40:	33 d2                	xor    %edx,%edx
450c42:	8b 4d 14             	mov    0x14(%ebp),%ecx
450c45:	89 45 bc             	mov    %eax,-0x44(%ebp)
450c48:	89 4d c0             	mov    %ecx,-0x40(%ebp)
450c4b:	89 55 e0             	mov    %edx,-0x20(%ebp)
450c4e:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
450c55:	88 55 d0             	mov    %dl,-0x30(%ebp)
450c58:	8b 41 14             	mov    0x14(%ecx),%eax
450c5b:	8b 79 18             	mov    0x18(%ecx),%edi
450c5e:	25 00 30 00 00       	and    $0x3000,%eax
450c63:	8b 49 1c             	mov    0x1c(%ecx),%ecx
450c66:	89 55 fc             	mov    %edx,-0x4(%ebp)
450c69:	85 c9                	test   %ecx,%ecx
450c6b:	7f 1b                	jg     0x450c88
450c6d:	7c 04                	jl     0x450c73
450c6f:	85 ff                	test   %edi,%edi
450c71:	75 15                	jne    0x450c88
450c73:	3d 00 20 00 00       	cmp    $0x2000,%eax
450c78:	74 0e                	je     0x450c88
450c7a:	bf 06 00 00 00       	mov    $0x6,%edi
450c7f:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
450c86:	eb 03                	jmp    0x450c8b
450c88:	89 4d cc             	mov    %ecx,-0x34(%ebp)
450c8b:	8b f7                	mov    %edi,%esi
450c8d:	3d 00 20 00 00       	cmp    $0x2000,%eax
450c92:	75 53                	jne    0x450ce7
450c94:	f2 0f 10 4d 1c       	movsd  0x1c(%ebp),%xmm1
450c99:	0f 28 c1             	movaps %xmm1,%xmm0
450c9c:	0f 54 05 d0 59 6e 00 	andps  0x6e59d0,%xmm0
450ca3:	66 0f 2f 05 c0 59 6e 	comisd 0x6e59c0,%xmm0
450caa:	00
450cab:	76 3a                	jbe    0x450ce7
450cad:	8d 45 cc             	lea    -0x34(%ebp),%eax
450cb0:	50                   	push   %eax
450cb1:	83 ec 08             	sub    $0x8,%esp
450cb4:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
450cb9:	e8 f8 58 1a 00       	call   0x5f65b6
450cbe:	8b 45 cc             	mov    -0x34(%ebp),%eax
450cc1:	83 c4 0c             	add    $0xc,%esp
450cc4:	99                   	cltd
450cc5:	dd d8                	fstp   %st(0)
450cc7:	33 c2                	xor    %edx,%eax
450cc9:	2b c2                	sub    %edx,%eax
450ccb:	69 c8 97 75 00 00    	imul   $0x7597,%eax,%ecx
450cd1:	b8 89 b5 f8 14       	mov    $0x14f8b589,%eax
450cd6:	f7 e9                	imul   %ecx
450cd8:	c1 fa 0d             	sar    $0xd,%edx
450cdb:	8b c2                	mov    %edx,%eax
450cdd:	c1 e8 1f             	shr    $0x1f,%eax
450ce0:	03 c2                	add    %edx,%eax
450ce2:	8b 55 e0             	mov    -0x20(%ebp),%edx
450ce5:	03 f0                	add    %eax,%esi
450ce7:	33 c9                	xor    %ecx,%ecx
450ce9:	83 c6 32             	add    $0x32,%esi
450cec:	0f 92 c1             	setb   %cl
450cef:	f7 d9                	neg    %ecx
450cf1:	0b ce                	or     %esi,%ecx
450cf3:	3b ca                	cmp    %edx,%ecx
450cf5:	77 14                	ja     0x450d0b
450cf7:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
450cfb:	8d 45 d0             	lea    -0x30(%ebp),%eax
450cfe:	89 4d e0             	mov    %ecx,-0x20(%ebp)
450d01:	0f 43 45 d0          	cmovae -0x30(%ebp),%eax
450d05:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
450d09:	eb 0d                	jmp    0x450d18
450d0b:	2b ca                	sub    %edx,%ecx
450d0d:	6a 00                	push   $0x0
450d0f:	51                   	push   %ecx
450d10:	8d 4d d0             	lea    -0x30(%ebp),%ecx
450d13:	e8 f8 f8 fe ff       	call   0x440610
450d18:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
450d1c:	8d 75 d0             	lea    -0x30(%ebp),%esi
450d1f:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
450d24:	8d 45 e8             	lea    -0x18(%ebp),%eax
450d27:	0f 43 75 d0          	cmovae -0x30(%ebp),%esi
450d2b:	83 ec 08             	sub    $0x8,%esp
450d2e:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)