50eb1f:	85 c0                	test   %eax,%eax
50eb21:	74 12                	je     0x50eb35
50eb23:	56                   	push   %esi
50eb24:	ff 75 08             	push   0x8(%ebp)
50eb27:	e8 74 85 00 00       	call   0x5170a0
50eb2c:	83 c4 08             	add    $0x8,%esp
50eb2f:	5f                   	pop    %edi
50eb30:	5e                   	pop    %esi
50eb31:	8b e5                	mov    %ebp,%esp
50eb33:	5d                   	pop    %ebp
50eb34:	c3                   	ret
50eb35:	85 ff                	test   %edi,%edi
50eb37:	75 04                	jne    0x50eb3d
50eb39:	33 c9                	xor    %ecx,%ecx
50eb3b:	eb 14                	jmp    0x50eb51
50eb3d:	8b cf                	mov    %edi,%ecx
50eb3f:	8d 51 01             	lea    0x1(%ecx),%edx
50eb42:	8a 01                	mov    (%ecx),%al
50eb44:	41                   	inc    %ecx
50eb45:	84 c0                	test   %al,%al
50eb47:	75 f9                	jne    0x50eb42
50eb49:	2b ca                	sub    %edx,%ecx
50eb4b:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
50eb51:	6a 01                	push   $0x1
50eb53:	51                   	push   %ecx
50eb54:	8d 45 f8             	lea    -0x8(%ebp),%eax
50eb57:	50                   	push   %eax
50eb58:	57                   	push   %edi
50eb59:	e8 02 a5 00 00       	call   0x519060
50eb5e:	83 c4 10             	add    $0x10,%esp
50eb61:	85 c0                	test   %eax,%eax
50eb63:	7e 4c                	jle    0x50ebb1
50eb65:	f2 0f 10 45 f8       	movsd  -0x8(%ebp),%xmm0
50eb6a:	66 0f 2f 05 40 c5 6b 	comisd 0x6bc540,%xmm0
50eb71:	00
50eb72:	c6 46 29 01          	movb   $0x1,0x29(%esi)
50eb76:	f2 0f 11 46 20       	movsd  %xmm0,0x20(%esi)
50eb7b:	72 2c                	jb     0x50eba9
50eb7d:	f2 0f 10 0d b8 c5 6b 	movsd  0x6bc5b8,%xmm1
50eb84:	00
50eb85:	66 0f 2f c8          	comisd %xmm0,%xmm1
50eb89:	76 1e                	jbe    0x50eba9
50eb8b:	f2 0f 59 05 c0 c5 6b 	mulsd  0x6bc5c0,%xmm0
50eb92:	00
50eb93:	f2 0f 58 05 f8 9b 6a 	addsd  0x6a9bf8,%xmm0
50eb9a:	00
50eb9b:	e8 eb 2b 0d 00       	call   0x5e178b
50eba0:	89 06                	mov    %eax,(%esi)
50eba2:	89 56 04             	mov    %edx,0x4(%esi)
50eba5:	c6 46 28 01          	movb   $0x1,0x28(%esi)
50eba9:	5f                   	pop    %edi
50ebaa:	33 c0                	xor    %eax,%eax
50ebac:	5e                   	pop    %esi
50ebad:	8b e5                	mov    %ebp,%esp
50ebaf:	5d                   	pop    %ebp
50ebb0:	c3                   	ret
50ebb1:	5f                   	pop    %edi
50ebb2:	b8 01 00 00 00       	mov    $0x1,%eax
50ebb7:	5e                   	pop    %esi
50ebb8:	8b e5                	mov    %ebp,%esp
50ebba:	5d                   	pop    %ebp
50ebbb:	c3                   	ret
50ebbc:	cc                   	int3
50ebbd:	cc                   	int3
50ebbe:	cc                   	int3
50ebbf:	cc                   	int3
50ebc0:	55                   	push   %ebp
50ebc1:	8b ec                	mov    %esp,%ebp
50ebc3:	83 ec 10             	sub    $0x10,%esp
50ebc6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50ebcb:	33 c5                	xor    %ebp,%eax
50ebcd:	89 45 fc             	mov    %eax,-0x4(%ebp)
50ebd0:	56                   	push   %esi
50ebd1:	8b 75 08             	mov    0x8(%ebp),%esi
50ebd4:	8d 45 f0             	lea    -0x10(%ebp),%eax
50ebd7:	57                   	push   %edi
50ebd8:	8b 7d 0c             	mov    0xc(%ebp),%edi
50ebdb:	0f 57 c9             	xorps  %xmm1,%xmm1
50ebde:	50                   	push   %eax
50ebdf:	8d 45 f4             	lea    -0xc(%ebp),%eax
50ebe2:	50                   	push   %eax
50ebe3:	68 bc 78 6b 00       	push   $0x6b78bc
50ebe8:	56                   	push   %esi
50ebe9:	e8 02 70 ff ff       	call   0x505bf0
50ebee:	83 c4 10             	add    $0x10,%esp
50ebf1:	83 f8 02             	cmp    $0x2,%eax
50ebf4:	74 15                	je     0x50ec0b
50ebf6:	5f                   	pop    %edi
50ebf7:	b8 01 00 00 00       	mov    $0x1,%eax
50ebfc:	5e                   	pop    %esi
50ebfd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50ec00:	33 cd                	xor    %ebp,%ecx
50ec02:	e8 d3 28 0d 00       	call   0x5e14da
50ec07:	8b e5                	mov    %ebp,%esp
50ec09:	5d                   	pop    %ebp
50ec0a:	c3                   	ret
50ec0b:	83 c6 05             	add    $0x5,%esi
50ec0e:	80 3e 3a             	cmpb   $0x3a,(%esi)
50ec11:	0f 85 89 00 00 00    	jne    0x50eca0
50ec17:	8d 45 f8             	lea    -0x8(%ebp),%eax
50ec1a:	46                   	inc    %esi
50ec1b:	50                   	push   %eax
50ec1c:	68 c4 78 6b 00       	push   $0x6b78c4
50ec21:	56                   	push   %esi
50ec22:	e8 c9 6f ff ff       	call   0x505bf0
50ec27:	83 c4 0c             	add    $0xc,%esp
50ec2a:	83 f8 01             	cmp    $0x1,%eax
50ec2d:	75 c7                	jne    0x50ebf6
50ec2f:	83 c6 02             	add    $0x2,%esi
50ec32:	80 3e 2e             	cmpb   $0x2e,(%esi)
50ec35:	75 70                	jne    0x50eca7
50ec37:	0f b6 46 01          	movzbl 0x1(%esi),%eax
50ec3b:	8d 4e 01             	lea    0x1(%esi),%ecx
50ec3e:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
50ec45:	74 60                	je     0x50eca7
50ec47:	f2 0f 10 15 00 9c 6a 	movsd  0x6a9c00,%xmm2
50ec4e:	00
50ec4f:	8b f1                	mov    %ecx,%esi
50ec51:	8a 0e                	mov    (%esi),%cl
50ec53:	0f b6 c1             	movzbl %cl,%eax
50ec56:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
50ec5d:	74 3b                	je     0x50ec9a
50ec5f:	f2 0f 10 1d 08 4d 69 	movsd  0x694d08,%xmm3
50ec66:	00
50ec67:	f2 0f 10 25 80 c5 6b 	movsd  0x6bc580,%xmm4
50ec6e:	00
50ec6f:	90                   	nop
50ec70:	0f be c1             	movsbl %cl,%eax
50ec73:	46                   	inc    %esi
50ec74:	f2 0f 59 cb          	mulsd  %xmm3,%xmm1
50ec78:	f2 0f 59 d3          	mulsd  %xmm3,%xmm2
50ec7c:	8a 0e                	mov    (%esi),%cl
50ec7e:	66 0f 6e c0          	movd   %eax,%xmm0
50ec82:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
50ec86:	0f b6 c1             	movzbl %cl,%eax
50ec89:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
50ec90:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
50ec94:	f2 0f 5c cc          	subsd  %xmm4,%xmm1
50ec98:	75 d6                	jne    0x50ec70
50ec9a:	f2 0f 5e ca          	divsd  %xmm2,%xmm1
50ec9e:	eb 07                	jmp    0x50eca7
50eca0:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
50eca7:	66 0f 6e 45 f8       	movd   -0x8(%ebp),%xmm0
50ecac:	8b 45 f4             	mov    -0xc(%ebp),%eax
50ecaf:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
50ecb3:	89 47 14             	mov    %eax,0x14(%edi)
50ecb6:	8b 45 f0             	mov    -0x10(%ebp),%eax
50ecb9:	57                   	push   %edi
50ecba:	56                   	push   %esi
50ecbb:	66 c7 47 28 00 00    	movw   $0x0,0x28(%edi)
50ecc1:	c6 47 2b 01          	movb   $0x1,0x2b(%edi)
50ecc5:	f2 0f 58 c1          	addsd  %xmm1,%xmm0
50ecc9:	89 47 18             	mov    %eax,0x18(%edi)
50eccc:	f2 0f 11 47 20       	movsd  %xmm0,0x20(%edi)
50ecd1:	e8 da 06 00 00       	call   0x50f3b0
50ecd6:	83 c4 08             	add    $0x8,%esp
50ecd9:	85 c0                	test   %eax,%eax
50ecdb:	0f 85 15 ff ff ff    	jne    0x50ebf6
50ece1:	39 47 1c             	cmp    %eax,0x1c(%edi)
50ece4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50ece7:	0f 95 c0             	setne  %al
50ecea:	33 cd                	xor    %ebp,%ecx
50ecec:	88 47 2c             	mov    %al,0x2c(%edi)
50ecef:	33 c0                	xor    %eax,%eax
50ecf1:	5f                   	pop    %edi
50ecf2:	5e                   	pop    %esi
50ecf3:	e8 e2 27 0d 00       	call   0x5e14da
50ecf8:	8b e5                	mov    %ebp,%esp
50ecfa:	5d                   	pop    %ebp
50ecfb:	c3                   	ret
50ecfc:	cc                   	int3
50ecfd:	cc                   	int3
50ecfe:	cc                   	int3
50ecff:	cc                   	int3
50ed00:	55                   	push   %ebp
50ed01:	8b ec                	mov    %esp,%ebp
50ed03:	83 ec 50             	sub    $0x50,%esp
50ed06:	56                   	push   %esi
50ed07:	8b 75 0c             	mov    0xc(%ebp),%esi
50ed0a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
50ed11:	0f b6 06             	movzbl (%esi),%eax
50ed14:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
50ed1b:	83 c0 d5             	add    $0xffffffd5,%eax
50ed1e:	83 f8 4c             	cmp    $0x4c,%eax
50ed21:	0f 87 05 06 00 00    	ja     0x50f32c
50ed27:	0f b6 80 5c f3 50 00 	movzbl 0x50f35c(%eax),%eax
50ed2e:	57                   	push   %edi
50ed2f:	ff 24 85 44 f3 50 00 	jmp    *0x50f344(,%eax,4)
50ed36:	68 f0 78 6b 00       	push   $0x6b78f0
50ed3b:	56                   	push   %esi
50ed3c:	e8 ef ee 02 00       	call   0x53dc30
50ed41:	83 c4 08             	add    $0x8,%esp
50ed44:	85 c0                	test   %eax,%eax
50ed46:	0f 85 ea 05 00 00    	jne    0x50f336
50ed4c:	8b 7d 08             	mov    0x8(%ebp),%edi
50ed4f:	57                   	push   %edi
50ed50:	e8 6b 2a 02 00       	call   0x5317c0
50ed55:	83 c4 04             	add    $0x4,%esp
50ed58:	85 c0                	test   %eax,%eax
50ed5a:	0f 84 d6 05 00 00    	je     0x50f336
50ed60:	8b 75 14             	mov    0x14(%ebp),%esi
50ed63:	56                   	push   %esi
50ed64:	e8 27 c4 fe ff       	call   0x4fb190
50ed69:	8d 45 fc             	lea    -0x4(%ebp),%eax
50ed6c:	50                   	push   %eax
50ed6d:	57                   	push   %edi
50ed6e:	56                   	push   %esi
50ed6f:	e8 3c 95 ff ff       	call   0x5082b0
50ed74:	83 c4 10             	add    $0x10,%esp
50ed77:	66 c7 46 2a 00 00    	movw   $0x0,0x2a(%esi)
50ed7d:	01 06                	add    %eax,(%esi)
50ed7f:	8b 45 fc             	mov    -0x4(%ebp),%eax
50ed82:	11 56 04             	adc    %edx,0x4(%esi)
50ed85:	5f                   	pop    %edi
50ed86:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
50ed8a:	5e                   	pop    %esi
50ed8b:	8b e5                	mov    %ebp,%esp
50ed8d:	5d                   	pop    %ebp
50ed8e:	c3                   	ret
50ed8f:	68 fc 78 6b 00       	push   $0x6b78fc
50ed94:	56                   	push   %esi
50ed95:	e8 96 ee 02 00       	call   0x53dc30
50ed9a:	8b 7d 14             	mov    0x14(%ebp),%edi
50ed9d:	83 c4 08             	add    $0x8,%esp
50eda0:	85 c0                	test   %eax,%eax
50eda2:	75 60                	jne    0x50ee04
50eda4:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
50eda8:	74 5a                	je     0x50ee04
50edaa:	f2 0f 10 47 20       	movsd  0x20(%edi),%xmm0
50edaf:	f2 0f 59 05 78 08 69 	mulsd  0x690878,%xmm0
50edb6:	00
50edb7:	f2 0f 58 05 e8 c5 6b 	addsd  0x6bc5e8,%xmm0
50edbe:	00
50edbf:	66 0f 2f 05 40 c5 6b 	comisd 0x6bc540,%xmm0
50edc6:	00
50edc7:	0f 82 69 05 00 00    	jb     0x50f336
50edcd:	f2 0f 10 0d f0 c5 6b 	movsd  0x6bc5f0,%xmm1
50edd4:	00
50edd5:	66 0f 2f c8          	comisd %xmm0,%xmm1
50edd9:	0f 86 57 05 00 00    	jbe    0x50f336
50eddf:	f2 0f 58 05 f8 9b 6a 	addsd  0x6a9bf8,%xmm0
50ede6:	00
50ede7:	c7 47 28 01 00 00 00 	movl   $0x1,0x28(%edi)
50edee:	c6 47 2c 00          	movb   $0x0,0x2c(%edi)
50edf2:	e8 94 29 0d 00       	call   0x5e178b
50edf7:	89 07                	mov    %eax,(%edi)
50edf9:	33 c0                	xor    %eax,%eax
50edfb:	89 57 04             	mov    %edx,0x4(%edi)
50edfe:	5f                   	pop    %edi
50edff:	5e                   	pop    %esi
50ee00:	8b e5                	mov    %ebp,%esp
50ee02:	5d                   	pop    %ebp
50ee03:	c3                   	ret
50ee04:	68 08 79 6b 00       	push   $0x6b7908
50ee09:	56                   	push   %esi
50ee0a:	e8 71 0b fd ff       	call   0x4df980
50ee0f:	83 c4 08             	add    $0x8,%esp
50ee12:	85 c0                	test   %eax,%eax
50ee14:	0f 85 1c 05 00 00    	jne    0x50f336
50ee1a:	8b 75 08             	mov    0x8(%ebp),%esi
50ee1d:	56                   	push   %esi
50ee1e:	e8 9d 29 02 00       	call   0x5317c0
50ee23:	83 c4 04             	add    $0x4,%esp
50ee26:	85 c0                	test   %eax,%eax
50ee28:	0f 84 08 05 00 00    	je     0x50f336
50ee2e:	80 7f 2d 00          	cmpb   $0x0,0x2d(%edi)
50ee32:	0f 85 09 03 00 00    	jne    0x50f141
50ee38:	57                   	push   %edi
50ee39:	e8 52 c3 fe ff       	call   0x4fb190
50ee3e:	8d 45 fc             	lea    -0x4(%ebp),%eax
50ee41:	50                   	push   %eax
50ee42:	56                   	push   %esi
50ee43:	57                   	push   %edi
50ee44:	e8 67 94 ff ff       	call   0x5082b0
50ee49:	8b c8                	mov    %eax,%ecx
50ee4b:	89 55 f8             	mov    %edx,-0x8(%ebp)
50ee4e:	8b 45 fc             	mov    -0x4(%ebp),%eax
50ee51:	83 c4 10             	add    $0x10,%esp
50ee54:	89 4d 0c             	mov    %ecx,0xc(%ebp)
50ee57:	85 c0                	test   %eax,%eax
50ee59:	75 2c                	jne    0x50ee87
50ee5b:	29 0f                	sub    %ecx,(%edi)
50ee5d:	66 89 47 2a          	mov    %ax,0x2a(%edi)
50ee61:	19 57 04             	sbb    %edx,0x4(%edi)
50ee64:	88 47 2c             	mov    %al,0x2c(%edi)
50ee67:	8d 45 fc             	lea    -0x4(%ebp),%eax
50ee6a:	50                   	push   %eax
50ee6b:	56                   	push   %esi
50ee6c:	57                   	push   %edi
50ee6d:	e8 3e 94 ff ff       	call   0x5082b0
50ee72:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50ee75:	83 c4 0c             	add    $0xc,%esp
50ee78:	2b c8                	sub    %eax,%ecx
50ee7a:	8b 45 f8             	mov    -0x8(%ebp),%eax
50ee7d:	1b c2                	sbb    %edx,%eax
50ee7f:	01 0f                	add    %ecx,(%edi)
50ee81:	11 47 04             	adc    %eax,0x4(%edi)
50ee84:	8b 45 fc             	mov    -0x4(%ebp),%eax
50ee87:	c6 47 2d 01          	movb   $0x1,0x2d(%edi)
50ee8b:	5f                   	pop    %edi
50ee8c:	5e                   	pop    %esi
50ee8d:	8b e5                	mov    %ebp,%esp
50ee8f:	5d                   	pop    %ebp
50ee90:	c3                   	ret
50ee91:	6a 08                	push   $0x8
50ee93:	68 0c 79 6b 00       	push   $0x6b790c
50ee98:	56                   	push   %esi
50ee99:	e8 c2 0c fd ff       	call   0x4dfb60
50ee9e:	83 c4 0c             	add    $0xc,%esp
50eea1:	85 c0                	test   %eax,%eax
50eea3:	0f 85 8d 04 00 00    	jne    0x50f336
50eea9:	83 c6 08             	add    $0x8,%esi
50eeac:	6a 01                	push   $0x1
50eeae:	56                   	push   %esi
50eeaf:	e8 dc ed 02 00       	call   0x53dc90
50eeb4:	83 c4 04             	add    $0x4,%esp
50eeb7:	50                   	push   %eax
50eeb8:	8d 45 f0             	lea    -0x10(%ebp),%eax
50eebb:	50                   	push   %eax
50eebc:	56                   	push   %esi
50eebd:	e8 9e a1 00 00       	call   0x519060
50eec2:	83 c4 10             	add    $0x10,%esp
50eec5:	85 c0                	test   %eax,%eax
50eec7:	0f 8e 69 04 00 00    	jle    0x50f336
50eecd:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50eed2:	f2 0f 2c f9          	cvttsd2si %xmm1,%edi
50eed6:	66 0f 6e c7          	movd   %edi,%xmm0
50eeda:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
50eede:	66 0f 2e c1          	ucomisd %xmm1,%xmm0
50eee2:	9f                   	lahf
50eee3:	f6 c4 44             	test   $0x44,%ah
50eee6:	0f 8a 4a 04 00 00    	jp     0x50f336
50eeec:	85 ff                	test   %edi,%edi
50eeee:	0f 88 42 04 00 00    	js     0x50f336
50eef4:	f2 0f 10 05 68 c5 6b 	movsd  0x6bc568,%xmm0
50eefb:	00
50eefc:	66 0f 2f c1          	comisd %xmm1,%xmm0
50ef00:	0f 86 30 04 00 00    	jbe    0x50f336
50ef06:	8b 75 14             	mov    0x14(%ebp),%esi
50ef09:	56                   	push   %esi
50ef0a:	e8 c1 c5 fe ff       	call   0x4fb4d0
50ef0f:	56                   	push   %esi
50ef10:	e8 bb c1 fe ff       	call   0x4fb0d0
50ef15:	56                   	push   %esi
50ef16:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
50ef1a:	c6 46 28 00          	movb   $0x0,0x28(%esi)
50ef1e:	e8 6d c2 fe ff       	call   0x4fb190
50ef23:	8b 06                	mov    (%esi),%eax
50ef25:	83 c4 0c             	add    $0xc,%esp
50ef28:	8b 56 04             	mov    0x4(%esi),%edx