42ddef:	f2 0f 10 4d 80       	movsd  -0x80(%ebp),%xmm1
42ddf4:	dd 5d b0             	fstpl  -0x50(%ebp)
42ddf7:	f2 0f 10 45 b0       	movsd  -0x50(%ebp),%xmm0
42ddfc:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
42de00:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
42de05:	f2 0f 11 45 b0       	movsd  %xmm0,-0x50(%ebp)
42de0a:	e8 6a 38 05 00       	call   0x481679
42de0f:	83 c4 08             	add    $0x8,%esp
42de12:	85 c0                	test   %eax,%eax
42de14:	0f 85 fa 01 00 00    	jne    0x42e014
42de1a:	f2 0f 10 45 b0       	movsd  -0x50(%ebp),%xmm0
42de1f:	83 ec 08             	sub    $0x8,%esp
42de22:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
42de27:	e8 4d 38 05 00       	call   0x481679
42de2c:	83 c4 08             	add    $0x8,%esp
42de2f:	85 c0                	test   %eax,%eax
42de31:	0f 85 dd 01 00 00    	jne    0x42e014
42de37:	8b 55 a4             	mov    -0x5c(%ebp),%edx
42de3a:	f2 0f 10 4d 80       	movsd  -0x80(%ebp),%xmm1
42de3f:	42                   	inc    %edx
42de40:	8b c2                	mov    %edx,%eax
42de42:	89 55 a0             	mov    %edx,-0x60(%ebp)
42de45:	c1 e8 1f             	shr    $0x1f,%eax
42de48:	66 0f 6e c2          	movd   %edx,%xmm0
42de4c:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
42de50:	f2 0f 58 04 c5 40 74 	addsd  0x4b7440(,%eax,8),%xmm0
42de57:	4b 00
42de59:	66 0f 2f c8          	comisd %xmm0,%xmm1
42de5d:	f2 0f 11 45 98       	movsd  %xmm0,-0x68(%ebp)
42de62:	72 46                	jb     0x42deaa
42de64:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42de67:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42de6d:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42de71:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42de78:	8b 01                	mov    (%ecx),%eax
42de7a:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
42de7d:	0f 84 a4 fb ff ff    	je     0x42da27
42de83:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42de86:	8b 30                	mov    (%eax),%esi
42de88:	50                   	push   %eax
42de89:	e8 f4 b7 04 00       	call   0x479682
42de8e:	83 c4 04             	add    $0x4,%esp
42de91:	8b c6                	mov    %esi,%eax
42de93:	3b f7                	cmp    %edi,%esi
42de95:	75 ef                	jne    0x42de86
42de97:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42de9a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42de9d:	8b 7d a8             	mov    -0x58(%ebp),%edi
42dea0:	89 01                	mov    %eax,(%ecx)
42dea2:	8b 45 e8             	mov    -0x18(%ebp),%eax
42dea5:	e9 d8 05 00 00       	jmp    0x42e482
42deaa:	f2 0f 10 45 b0       	movsd  -0x50(%ebp),%xmm0
42deaf:	66 0f 2f c8          	comisd %xmm0,%xmm1
42deb3:	72 46                	jb     0x42defb
42deb5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42deb8:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42debe:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42dec2:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42dec9:	8b 01                	mov    (%ecx),%eax
42decb:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
42dece:	0f 84 53 fb ff ff    	je     0x42da27
42ded4:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42ded7:	8b 30                	mov    (%eax),%esi
42ded9:	50                   	push   %eax
42deda:	e8 a3 b7 04 00       	call   0x479682
42dedf:	83 c4 04             	add    $0x4,%esp
42dee2:	8b c6                	mov    %esi,%eax
42dee4:	3b f7                	cmp    %edi,%esi
42dee6:	75 ef                	jne    0x42ded7
42dee8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42deeb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42deee:	8b 7d a8             	mov    -0x58(%ebp),%edi
42def1:	89 01                	mov    %eax,(%ecx)
42def3:	8b 45 e8             	mov    -0x18(%ebp),%eax
42def6:	e9 87 05 00 00       	jmp    0x42e482
42defb:	f2 0f 10 15 68 73 4b 	movsd  0x4b7368,%xmm2
42df02:	00
42df03:	66 0f 2f d0          	comisd %xmm0,%xmm2
42df07:	76 4b                	jbe    0x42df54
42df09:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42df0c:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42df12:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42df16:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42df1d:	8b 01                	mov    (%ecx),%eax
42df1f:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
42df22:	0f 84 ff fa ff ff    	je     0x42da27
42df28:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42df2b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
42df30:	8b 30                	mov    (%eax),%esi
42df32:	50                   	push   %eax
42df33:	e8 4a b7 04 00       	call   0x479682
42df38:	83 c4 04             	add    $0x4,%esp
42df3b:	8b c6                	mov    %esi,%eax
42df3d:	3b f7                	cmp    %edi,%esi
42df3f:	75 ef                	jne    0x42df30
42df41:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42df44:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42df47:	8b 7d a8             	mov    -0x58(%ebp),%edi
42df4a:	89 01                	mov    %eax,(%ecx)
42df4c:	8b 45 e8             	mov    -0x18(%ebp),%eax
42df4f:	e9 2e 05 00 00       	jmp    0x42e482
42df54:	66 0f 2f d1          	comisd %xmm1,%xmm2
42df58:	76 07                	jbe    0x42df61
42df5a:	b8 01 00 00 00       	mov    $0x1,%eax
42df5f:	eb 10                	jmp    0x42df71
42df61:	0f 28 c1             	movaps %xmm1,%xmm0
42df64:	e8 57 81 06 00       	call   0x4960c0
42df69:	f2 0f 10 45 b0       	movsd  -0x50(%ebp),%xmm0
42df6e:	8b 55 a0             	mov    -0x60(%ebp),%edx
42df71:	66 0f 2f 45 98       	comisd -0x68(%ebp),%xmm0
42df76:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42df79:	72 14                	jb     0x42df8f
42df7b:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
42df7e:	48                   	dec    %eax
42df7f:	8d 04 41             	lea    (%ecx,%eax,2),%eax
42df82:	8d 0c 51             	lea    (%ecx,%edx,2),%ecx
42df85:	89 45 84             	mov    %eax,-0x7c(%ebp)
42df88:	83 c1 fe             	add    $0xfffffffe,%ecx
42df8b:	8b d0                	mov    %eax,%edx
42df8d:	eb 1a                	jmp    0x42dfa9
42df8f:	e8 2c 81 06 00       	call   0x4960c0
42df94:	8b 55 a4             	mov    -0x5c(%ebp),%edx
42df97:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
42df9a:	4a                   	dec    %edx
42df9b:	8d 14 51             	lea    (%ecx,%edx,2),%edx
42df9e:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
42dfa1:	83 c1 fe             	add    $0xfffffffe,%ecx
42dfa4:	3b 45 a0             	cmp    -0x60(%ebp),%eax
42dfa7:	75 19                	jne    0x42dfc2
42dfa9:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
42dfad:	75 13                	jne    0x42dfc2
42dfaf:	89 55 ac             	mov    %edx,-0x54(%ebp)
42dfb2:	8d 45 ac             	lea    -0x54(%ebp),%eax
42dfb5:	c6 45 b0 00          	movb   $0x0,-0x50(%ebp)
42dfb9:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
42dfc0:	eb 0e                	jmp    0x42dfd0
42dfc2:	ff 36                	push   (%esi)
42dfc4:	51                   	push   %ecx
42dfc5:	8d 4d bc             	lea    -0x44(%ebp),%ecx
42dfc8:	e8 b3 c8 ff ff       	call   0x42a880
42dfcd:	83 c4 08             	add    $0x8,%esp
42dfd0:	f3 0f 7e 00          	movq   (%eax),%xmm0
42dfd4:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42dfd7:	66 0f d6 07          	movq   %xmm0,(%edi)
42dfdb:	8b 40 08             	mov    0x8(%eax),%eax
42dfde:	89 47 08             	mov    %eax,0x8(%edi)
42dfe1:	8b 01                	mov    (%ecx),%eax
42dfe3:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
42dfe6:	0f 84 3b fa ff ff    	je     0x42da27
42dfec:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42dfef:	90                   	nop
42dff0:	8b 30                	mov    (%eax),%esi
42dff2:	50                   	push   %eax
42dff3:	e8 8a b6 04 00       	call   0x479682
42dff8:	83 c4 04             	add    $0x4,%esp
42dffb:	8b c6                	mov    %esi,%eax
42dffd:	3b f7                	cmp    %edi,%esi
42dfff:	75 ef                	jne    0x42dff0
42e001:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42e004:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42e007:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e00a:	89 01                	mov    %eax,(%ecx)
42e00c:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e00f:	e9 6e 04 00 00       	jmp    0x42e482
42e014:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42e017:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42e01d:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42e021:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42e028:	8b 01                	mov    (%ecx),%eax
42e02a:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
42e02d:	0f 84 f4 f9 ff ff    	je     0x42da27
42e033:	8b 7d e4             	mov    -0x1c(%ebp),%edi
42e036:	8b 30                	mov    (%eax),%esi
42e038:	50                   	push   %eax
42e039:	e8 44 b6 04 00       	call   0x479682
42e03e:	83 c4 04             	add    $0x4,%esp
42e041:	8b c6                	mov    %esi,%eax
42e043:	3b f7                	cmp    %edi,%esi
42e045:	75 ef                	jne    0x42e036
42e047:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42e04a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42e04d:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e050:	89 01                	mov    %eax,(%ecx)
42e052:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e055:	e9 28 04 00 00       	jmp    0x42e482
42e05a:	ff 36                	push   (%esi)
42e05c:	0f 57 c0             	xorps  %xmm0,%xmm0
42e05f:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
42e066:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42e069:	66 0f d6 45 d4       	movq   %xmm0,-0x2c(%ebp)
42e06e:	e8 8d ca ff ff       	call   0x42ab00
42e073:	83 c4 04             	add    $0x4,%esp
42e076:	ff 36                	push   (%esi)
42e078:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42e07b:	e8 00 ca ff ff       	call   0x42aa80
42e080:	8b f0                	mov    %eax,%esi
42e082:	85 f6                	test   %esi,%esi
42e084:	75 16                	jne    0x42e09c
42e086:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42e08c:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42e090:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42e097:	e9 e9 03 00 00       	jmp    0x42e485
42e09c:	8b ce                	mov    %esi,%ecx
42e09e:	e8 bd d2 ff ff       	call   0x42b360
42e0a3:	2b c6                	sub    %esi,%eax
42e0a5:	89 37                	mov    %esi,(%edi)
42e0a7:	d1 f8                	sar    $1,%eax
42e0a9:	c6 47 04 01          	movb   $0x1,0x4(%edi)
42e0ad:	89 47 08             	mov    %eax,0x8(%edi)
42e0b0:	e9 d0 03 00 00       	jmp    0x42e485
42e0b5:	56                   	push   %esi
42e0b6:	52                   	push   %edx
42e0b7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42e0ba:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
42e0c1:	50                   	push   %eax
42e0c2:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e0c5:	0f 57 c0             	xorps  %xmm0,%xmm0
42e0c8:	66 0f d6 45 d4       	movq   %xmm0,-0x2c(%ebp)
42e0cd:	8b 48 04             	mov    0x4(%eax),%ecx
42e0d0:	e8 3b f4 ff ff       	call   0x42d510
42e0d5:	eb 9f                	jmp    0x42e076
42e0d7:	8b 4e 04             	mov    0x4(%esi),%ecx
42e0da:	89 4d 88             	mov    %ecx,-0x78(%ebp)
42e0dd:	f3 0f 7e 01          	movq   (%ecx),%xmm0
42e0e1:	8b 41 08             	mov    0x8(%ecx),%eax
42e0e4:	66 0f d6 45 8c       	movq   %xmm0,-0x74(%ebp)
42e0e9:	89 45 94             	mov    %eax,-0x6c(%ebp)
42e0ec:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
42e0f3:	0f 57 c0             	xorps  %xmm0,%xmm0
42e0f6:	8b 06                	mov    (%esi),%eax
42e0f8:	56                   	push   %esi
42e0f9:	89 45 d0             	mov    %eax,-0x30(%ebp)
42e0fc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42e0ff:	52                   	push   %edx
42e100:	50                   	push   %eax
42e101:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e104:	89 4d cc             	mov    %ecx,-0x34(%ebp)
42e107:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
42e10c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
42e113:	8b 48 04             	mov    0x4(%eax),%ecx
42e116:	e8 f5 f3 ff ff       	call   0x42d510
42e11b:	8d 45 cc             	lea    -0x34(%ebp),%eax
42e11e:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
42e125:	50                   	push   %eax
42e126:	ff 75 a0             	push   -0x60(%ebp)
42e129:	8d 45 bc             	lea    -0x44(%ebp),%eax
42e12c:	0f 57 c0             	xorps  %xmm0,%xmm0
42e12f:	50                   	push   %eax
42e130:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e133:	66 0f d6 45 bc       	movq   %xmm0,-0x44(%ebp)
42e138:	8b 48 08             	mov    0x8(%eax),%ecx
42e13b:	e8 d0 f3 ff ff       	call   0x42d510
42e140:	8d 45 cc             	lea    -0x34(%ebp),%eax
42e143:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
42e14a:	50                   	push   %eax
42e14b:	ff 75 a0             	push   -0x60(%ebp)
42e14e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42e151:	0f 57 c0             	xorps  %xmm0,%xmm0
42e154:	50                   	push   %eax
42e155:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e158:	66 0f d6 45 d4       	movq   %xmm0,-0x2c(%ebp)
42e15d:	8b 48 08             	mov    0x8(%eax),%ecx
42e160:	8b 49 0c             	mov    0xc(%ecx),%ecx
42e163:	e8 a8 f3 ff ff       	call   0x42d510
42e168:	ff 36                	push   (%esi)
42e16a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42e16d:	e8 0e c9 ff ff       	call   0x42aa80
42e172:	8b c8                	mov    %eax,%ecx
42e174:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
42e177:	85 c9                	test   %ecx,%ecx
42e179:	75 33                	jne    0x42e1ae
42e17b:	8b 4d 88             	mov    -0x78(%ebp),%ecx
42e17e:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42e184:	88 47 04             	mov    %al,0x4(%edi)
42e187:	89 47 08             	mov    %eax,0x8(%edi)
42e18a:	8b 01                	mov    (%ecx),%eax
42e18c:	3b 45 8c             	cmp    -0x74(%ebp),%eax
42e18f:	0f 84 e5 02 00 00    	je     0x42e47a
42e195:	8b 7d 8c             	mov    -0x74(%ebp),%edi
42e198:	8b 30                	mov    (%eax),%esi
42e19a:	50                   	push   %eax
42e19b:	e8 e2 b4 04 00       	call   0x479682
42e1a0:	83 c4 04             	add    $0x4,%esp
42e1a3:	8b c6                	mov    %esi,%eax
42e1a5:	3b f7                	cmp    %edi,%esi
42e1a7:	75 ef                	jne    0x42e198
42e1a9:	e9 c6 02 00 00       	jmp    0x42e474
42e1ae:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
42e1b2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42e1b5:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42e1b8:	74 08                	je     0x42e1c2
42e1ba:	8b 45 dc             	mov    -0x24(%ebp),%eax
42e1bd:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42e1c0:	eb 1a                	jmp    0x42e1dc
42e1c2:	8b c8                	mov    %eax,%ecx
42e1c4:	8d 51 02             	lea    0x2(%ecx),%edx
42e1c7:	66 8b 01             	mov    (%ecx),%ax
42e1ca:	83 c1 02             	add    $0x2,%ecx
42e1cd:	66 85 c0             	test   %ax,%ax
42e1d0:	75 f5                	jne    0x42e1c7
42e1d2:	2b ca                	sub    %edx,%ecx
42e1d4:	d1 f9                	sar    $1,%ecx
42e1d6:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
42e1d9:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
42e1dc:	0f b7 39             	movzwl (%ecx),%edi
42e1df:	8b c1                	mov    %ecx,%eax
42e1e1:	8b 55 bc             	mov    -0x44(%ebp),%edx
42e1e4:	66 85 ff             	test   %di,%di
42e1e7:	89 7d 9c             	mov    %edi,-0x64(%ebp)
42e1ea:	8b f1                	mov    %ecx,%esi
42e1ec:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e1ef:	89 55 a0             	mov    %edx,-0x60(%ebp)
42e1f2:	74 56                	je     0x42e24a
42e1f4:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42e1f7:	8b 7d a4             	mov    -0x5c(%ebp),%edi
42e1fa:	0f b7 c9             	movzwl %cx,%ecx
42e1fd:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
42e200:	51                   	push   %ecx
42e201:	83 c0 02             	add    $0x2,%eax
42e204:	52                   	push   %edx
42e205:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42e208:	e8 f1 d2 03 00       	call   0x46b4fe
42e20d:	8b 55 a0             	mov    -0x60(%ebp),%edx
42e210:	83 c4 08             	add    $0x8,%esp
42e213:	85 c0                	test   %eax,%eax
42e215:	75 05                	jne    0x42e21c
42e217:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e21a:	eb 0f                	jmp    0x42e22b
42e21c:	2b c2                	sub    %edx,%eax
42e21e:	d1 f8                	sar    $1,%eax
42e220:	3b c7                	cmp    %edi,%eax
42e222:	73 0d                	jae    0x42e231
42e224:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
42e227:	66 8b 04 41          	mov    (%ecx,%eax,2),%ax
42e22b:	66 89 06             	mov    %ax,(%esi)
42e22e:	83 c6 02             	add    $0x2,%esi
42e231:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42e234:	0f b7 00             	movzwl (%eax),%eax
42e237:	8b c8                	mov    %eax,%ecx
42e239:	66 85 c0             	test   %ax,%ax
42e23c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42e23f:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
42e242:	75 bc                	jne    0x42e200
42e244:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e247:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
42e24a:	33 c0                	xor    %eax,%eax
42e24c:	66 89 06             	mov    %ax,(%esi)
42e24f:	2b f1                	sub    %ecx,%esi
42e251:	89 0f                	mov    %ecx,(%edi)
42e253:	8b 4d 88             	mov    -0x78(%ebp),%ecx