409851:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409854:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40985b:	59                   	pop    %ecx
40985c:	5e                   	pop    %esi
40985d:	8b e5                	mov    %ebp,%esp
40985f:	5d                   	pop    %ebp
409860:	c2 04 00             	ret    $0x4
409863:	cc                   	int3
409864:	cc                   	int3
409865:	cc                   	int3
409866:	cc                   	int3
409867:	cc                   	int3
409868:	cc                   	int3
409869:	cc                   	int3
40986a:	cc                   	int3
40986b:	cc                   	int3
40986c:	cc                   	int3
40986d:	cc                   	int3
40986e:	cc                   	int3
40986f:	cc                   	int3
409870:	55                   	push   %ebp
409871:	8b ec                	mov    %esp,%ebp
409873:	6a ff                	push   $0xffffffff
409875:	68 50 d5 43 00       	push   $0x43d550
40987a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409880:	50                   	push   %eax
409881:	56                   	push   %esi
409882:	a1 14 40 45 00       	mov    0x454014,%eax
409887:	33 c5                	xor    %ebp,%eax
409889:	50                   	push   %eax
40988a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40988d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409893:	8b d1                	mov    %ecx,%edx
409895:	8b 42 f8             	mov    -0x8(%edx),%eax
409898:	8d 72 f8             	lea    -0x8(%edx),%esi
40989b:	8b 40 04             	mov    0x4(%eax),%eax
40989e:	c7 44 10 f8 00 dd 44 	movl   $0x44dd00,-0x8(%eax,%edx,1)
4098a5:	00
4098a6:	8b 06                	mov    (%esi),%eax
4098a8:	8b 48 04             	mov    0x4(%eax),%ecx
4098ab:	8d 41 f8             	lea    -0x8(%ecx),%eax
4098ae:	89 44 11 f4          	mov    %eax,-0xc(%ecx,%edx,1)
4098b2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4098b9:	52                   	push   %edx
4098ba:	c7 02 f0 dc 44 00    	movl   $0x44dcf0,(%edx)
4098c0:	e8 bd 1b 01 00       	call   0x41b482
4098c5:	83 c4 04             	add    $0x4,%esp
4098c8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4098cc:	74 0b                	je     0x4098d9
4098ce:	6a 50                	push   $0x50
4098d0:	56                   	push   %esi
4098d1:	e8 38 20 01 00       	call   0x41b90e
4098d6:	83 c4 08             	add    $0x8,%esp
4098d9:	8b c6                	mov    %esi,%eax
4098db:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4098de:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4098e5:	59                   	pop    %ecx
4098e6:	5e                   	pop    %esi
4098e7:	8b e5                	mov    %ebp,%esp
4098e9:	5d                   	pop    %ebp
4098ea:	c2 04 00             	ret    $0x4
4098ed:	cc                   	int3
4098ee:	cc                   	int3
4098ef:	cc                   	int3
4098f0:	cc                   	int3
4098f1:	cc                   	int3
4098f2:	cc                   	int3
4098f3:	cc                   	int3
4098f4:	cc                   	int3
4098f5:	cc                   	int3
4098f6:	cc                   	int3
4098f7:	cc                   	int3
4098f8:	cc                   	int3
4098f9:	cc                   	int3
4098fa:	cc                   	int3
4098fb:	cc                   	int3
4098fc:	cc                   	int3
4098fd:	cc                   	int3
4098fe:	cc                   	int3
4098ff:	cc                   	int3
409900:	55                   	push   %ebp
409901:	8b ec                	mov    %esp,%ebp
409903:	6a ff                	push   $0xffffffff
409905:	68 50 d5 43 00       	push   $0x43d550
40990a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409910:	50                   	push   %eax
409911:	56                   	push   %esi
409912:	a1 14 40 45 00       	mov    0x454014,%eax
409917:	33 c5                	xor    %ebp,%eax
409919:	50                   	push   %eax
40991a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40991d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409923:	8b d1                	mov    %ecx,%edx
409925:	8b 42 e8             	mov    -0x18(%edx),%eax
409928:	8d 72 e8             	lea    -0x18(%edx),%esi
40992b:	8b 40 04             	mov    0x4(%eax),%eax
40992e:	c7 44 10 e8 c8 dc 44 	movl   $0x44dcc8,-0x18(%eax,%edx,1)
409935:	00
409936:	8b 06                	mov    (%esi),%eax
409938:	8b 48 04             	mov    0x4(%eax),%ecx
40993b:	8d 41 e8             	lea    -0x18(%ecx),%eax
40993e:	89 44 11 e4          	mov    %eax,-0x1c(%ecx,%edx,1)
409942:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409949:	52                   	push   %edx
40994a:	c7 02 f0 dc 44 00    	movl   $0x44dcf0,(%edx)
409950:	e8 2d 1b 01 00       	call   0x41b482
409955:	83 c4 04             	add    $0x4,%esp
409958:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40995c:	74 0b                	je     0x409969
40995e:	6a 60                	push   $0x60
409960:	56                   	push   %esi
409961:	e8 a8 1f 01 00       	call   0x41b90e
409966:	83 c4 08             	add    $0x8,%esp
409969:	8b c6                	mov    %esi,%eax
40996b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40996e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409975:	59                   	pop    %ecx
409976:	5e                   	pop    %esi
409977:	8b e5                	mov    %ebp,%esp
409979:	5d                   	pop    %ebp
40997a:	c2 04 00             	ret    $0x4
40997d:	cc                   	int3
40997e:	cc                   	int3
40997f:	cc                   	int3
409980:	cc                   	int3
409981:	cc                   	int3
409982:	cc                   	int3
409983:	cc                   	int3
409984:	cc                   	int3
409985:	cc                   	int3
409986:	cc                   	int3
409987:	cc                   	int3
409988:	cc                   	int3
409989:	cc                   	int3
40998a:	cc                   	int3
40998b:	cc                   	int3
40998c:	cc                   	int3
40998d:	cc                   	int3
40998e:	cc                   	int3
40998f:	cc                   	int3
409990:	55                   	push   %ebp
409991:	8b ec                	mov    %esp,%ebp
409993:	6a ff                	push   $0xffffffff
409995:	68 50 d5 43 00       	push   $0x43d550
40999a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4099a0:	50                   	push   %eax
4099a1:	56                   	push   %esi
4099a2:	a1 14 40 45 00       	mov    0x454014,%eax
4099a7:	33 c5                	xor    %ebp,%eax
4099a9:	50                   	push   %eax
4099aa:	8d 45 f4             	lea    -0xc(%ebp),%eax
4099ad:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4099b3:	8b f1                	mov    %ecx,%esi
4099b5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4099bc:	56                   	push   %esi
4099bd:	c7 06 f0 dc 44 00    	movl   $0x44dcf0,(%esi)
4099c3:	e8 ba 1a 01 00       	call   0x41b482
4099c8:	83 c4 04             	add    $0x4,%esp
4099cb:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4099cf:	74 0b                	je     0x4099dc
4099d1:	6a 48                	push   $0x48
4099d3:	56                   	push   %esi
4099d4:	e8 35 1f 01 00       	call   0x41b90e
4099d9:	83 c4 08             	add    $0x8,%esp
4099dc:	8b c6                	mov    %esi,%eax
4099de:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4099e1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4099e8:	59                   	pop    %ecx
4099e9:	5e                   	pop    %esi
4099ea:	8b e5                	mov    %ebp,%esp
4099ec:	5d                   	pop    %ebp
4099ed:	c2 04 00             	ret    $0x4
4099f0:	cc                   	int3
4099f1:	cc                   	int3
4099f2:	cc                   	int3
4099f3:	cc                   	int3
4099f4:	cc                   	int3
4099f5:	cc                   	int3
4099f6:	cc                   	int3
4099f7:	cc                   	int3
4099f8:	cc                   	int3
4099f9:	cc                   	int3
4099fa:	cc                   	int3
4099fb:	cc                   	int3
4099fc:	cc                   	int3
4099fd:	cc                   	int3
4099fe:	cc                   	int3
4099ff:	cc                   	int3
409a00:	55                   	push   %ebp
409a01:	8b ec                	mov    %esp,%ebp
409a03:	83 e4 f8             	and    $0xfffffff8,%esp
409a06:	83 ec 4c             	sub    $0x4c,%esp
409a09:	a1 14 40 45 00       	mov    0x454014,%eax
409a0e:	33 c4                	xor    %esp,%eax
409a10:	89 44 24 48          	mov    %eax,0x48(%esp)
409a14:	8b 45 1c             	mov    0x1c(%ebp),%eax
409a17:	53                   	push   %ebx
409a18:	8b 5d 08             	mov    0x8(%ebp),%ebx
409a1b:	56                   	push   %esi
409a1c:	8b 75 14             	mov    0x14(%ebp),%esi
409a1f:	57                   	push   %edi
409a20:	50                   	push   %eax
409a21:	68 7c dc 44 00       	push   $0x44dc7c
409a26:	8d 44 24 18          	lea    0x18(%esp),%eax
409a2a:	8b f9                	mov    %ecx,%edi
409a2c:	6a 40                	push   $0x40
409a2e:	50                   	push   %eax
409a2f:	e8 4c a2 ff ff       	call   0x403c80
409a34:	50                   	push   %eax
409a35:	8d 44 24 24          	lea    0x24(%esp),%eax
409a39:	50                   	push   %eax
409a3a:	ff 75 18             	push   0x18(%ebp)
409a3d:	56                   	push   %esi
409a3e:	ff 75 10             	push   0x10(%ebp)
409a41:	ff 75 0c             	push   0xc(%ebp)
409a44:	53                   	push   %ebx
409a45:	57                   	push   %edi
409a46:	e8 85 0f 00 00       	call   0x40a9d0
409a4b:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
409a52:	83 c4 30             	add    $0x30,%esp
409a55:	8b c3                	mov    %ebx,%eax
409a57:	5f                   	pop    %edi
409a58:	5e                   	pop    %esi
409a59:	5b                   	pop    %ebx
409a5a:	33 cc                	xor    %esp,%ecx
409a5c:	e8 6f 1e 01 00       	call   0x41b8d0
409a61:	8b e5                	mov    %ebp,%esp
409a63:	5d                   	pop    %ebp
409a64:	c2 18 00             	ret    $0x18
409a67:	cc                   	int3
409a68:	cc                   	int3
409a69:	cc                   	int3
409a6a:	cc                   	int3
409a6b:	cc                   	int3
409a6c:	cc                   	int3
409a6d:	cc                   	int3
409a6e:	cc                   	int3
409a6f:	cc                   	int3
409a70:	55                   	push   %ebp
409a71:	8b ec                	mov    %esp,%ebp
409a73:	6a ff                	push   $0xffffffff
409a75:	68 2d da 43 00       	push   $0x43da2d
409a7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409a80:	50                   	push   %eax
409a81:	83 ec 3c             	sub    $0x3c,%esp
409a84:	a1 14 40 45 00       	mov    0x454014,%eax
409a89:	33 c5                	xor    %ebp,%eax
409a8b:	89 45 f0             	mov    %eax,-0x10(%ebp)
409a8e:	56                   	push   %esi
409a8f:	57                   	push   %edi
409a90:	50                   	push   %eax
409a91:	8d 45 f4             	lea    -0xc(%ebp),%eax
409a94:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409a9a:	89 4d bc             	mov    %ecx,-0x44(%ebp)
409a9d:	8b 45 08             	mov    0x8(%ebp),%eax
409aa0:	8b 55 14             	mov    0x14(%ebp),%edx
409aa3:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
409aaa:	89 45 b8             	mov    %eax,-0x48(%ebp)
409aad:	89 55 c0             	mov    %edx,-0x40(%ebp)
409ab0:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
409ab7:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
409abe:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
409ac2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409ac9:	8b 4a 14             	mov    0x14(%edx),%ecx
409acc:	81 e1 00 30 00 00    	and    $0x3000,%ecx
409ad2:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
409ad8:	75 18                	jne    0x409af2
409ada:	c7 45 c4 ff ff ff ff 	movl   $0xffffffff,-0x3c(%ebp)
409ae1:	be 0d 00 00 00       	mov    $0xd,%esi
409ae6:	c7 45 cc ff ff ff ff 	movl   $0xffffffff,-0x34(%ebp)
409aed:	e9 85 00 00 00       	jmp    0x409b77
409af2:	8b 42 18             	mov    0x18(%edx),%eax
409af5:	8b 52 1c             	mov    0x1c(%edx),%edx
409af8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409afb:	85 d2                	test   %edx,%edx
409afd:	7c 0a                	jl     0x409b09
409aff:	7f 04                	jg     0x409b05
409b01:	85 c0                	test   %eax,%eax
409b03:	74 04                	je     0x409b09
409b05:	8b f0                	mov    %eax,%esi
409b07:	eb 16                	jmp    0x409b1f
409b09:	0b c2                	or     %edx,%eax
409b0b:	75 0d                	jne    0x409b1a
409b0d:	85 c9                	test   %ecx,%ecx
409b0f:	75 05                	jne    0x409b16
409b11:	8d 70 01             	lea    0x1(%eax),%esi
409b14:	eb 61                	jmp    0x409b77
409b16:	33 f6                	xor    %esi,%esi
409b18:	eb 05                	jmp    0x409b1f
409b1a:	be 06 00 00 00       	mov    $0x6,%esi
409b1f:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
409b25:	75 50                	jne    0x409b77
409b27:	f2 0f 10 4d 1c       	movsd  0x1c(%ebp),%xmm1
409b2c:	0f 28 c1             	movaps %xmm1,%xmm0
409b2f:	0f 54 05 30 f7 44 00 	andps  0x44f730,%xmm0
409b36:	66 0f 2f 05 18 f7 44 	comisd 0x44f718,%xmm0
409b3d:	00
409b3e:	76 37                	jbe    0x409b77
409b40:	8d 45 cc             	lea    -0x34(%ebp),%eax
409b43:	50                   	push   %eax
409b44:	83 ec 08             	sub    $0x8,%esp
409b47:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
409b4c:	e8 17 c5 01 00       	call   0x426068
409b51:	8b 45 cc             	mov    -0x34(%ebp),%eax
409b54:	83 c4 0c             	add    $0xc,%esp
409b57:	99                   	cltd
409b58:	dd d8                	fstp   %st(0)
409b5a:	33 c2                	xor    %edx,%eax
409b5c:	2b c2                	sub    %edx,%eax
409b5e:	69 c8 97 75 00 00    	imul   $0x7597,%eax,%ecx
409b64:	b8 89 b5 f8 14       	mov    $0x14f8b589,%eax
409b69:	f7 e9                	imul   %ecx
409b6b:	c1 fa 0d             	sar    $0xd,%edx
409b6e:	8b c2                	mov    %edx,%eax
409b70:	c1 e8 1f             	shr    $0x1f,%eax
409b73:	03 c2                	add    %edx,%eax
409b75:	03 f0                	add    %eax,%esi
409b77:	6a 00                	push   $0x0
409b79:	8d 46 32             	lea    0x32(%esi),%eax
409b7c:	50                   	push   %eax
409b7d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409b80:	e8 8b 1b 00 00       	call   0x40b710
409b85:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
409b89:	8d 7d d0             	lea    -0x30(%ebp),%edi
409b8c:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
409b91:	0f 43 7d d0          	cmovae -0x30(%ebp),%edi
409b95:	83 ec 08             	sub    $0x8,%esp
409b98:	8b 45 c0             	mov    -0x40(%ebp),%eax
409b9b:	8b 75 e0             	mov    -0x20(%ebp),%esi
409b9e:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
409ba3:	ff 75 c4             	push   -0x3c(%ebp)
409ba6:	ff 70 14             	push   0x14(%eax)
409ba9:	8d 45 e8             	lea    -0x18(%ebp),%eax
409bac:	6a 4c                	push   $0x4c
409bae:	50                   	push   %eax
409baf:	ff 75 bc             	push   -0x44(%ebp)
409bb2:	e8 59 17 00 00       	call   0x40b310
409bb7:	83 c4 10             	add    $0x10,%esp
409bba:	50                   	push   %eax
409bbb:	56                   	push   %esi
409bbc:	57                   	push   %edi
409bbd:	e8 be a0 ff ff       	call   0x403c80
409bc2:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
409bc6:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409bc9:	8b 75 b8             	mov    -0x48(%ebp),%esi
409bcc:	0f 43 4d d0          	cmovae -0x30(%ebp),%ecx
409bd0:	50                   	push   %eax
409bd1:	51                   	push   %ecx
409bd2:	ff 75 18             	push   0x18(%ebp)
409bd5:	ff 75 c0             	push   -0x40(%ebp)