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
50ef2b:	89 45 0c             	mov    %eax,0xc(%ebp)
50ef2e:	05 00 8a b9 07       	add    $0x7b98a00,%eax
50ef33:	89 55 f8             	mov    %edx,-0x8(%ebp)
50ef36:	6a 00                	push   $0x0
50ef38:	68 00 5c 26 05       	push   $0x5265c00
50ef3d:	83 d2 00             	adc    $0x0,%edx
50ef40:	52                   	push   %edx
50ef41:	50                   	push   %eax
50ef42:	e8 f9 2b 0d 00       	call   0x5e1b40
50ef47:	6a 00                	push   $0x0
50ef49:	6a 07                	push   $0x7
50ef4b:	52                   	push   %edx
50ef4c:	50                   	push   %eax
50ef4d:	e8 7e 32 0d 00       	call   0x5e21d0
50ef52:	8b c8                	mov    %eax,%ecx
50ef54:	8b f2                	mov    %edx,%esi
50ef56:	8b c7                	mov    %edi,%eax
50ef58:	99                   	cltd
50ef59:	3b f2                	cmp    %edx,%esi
50ef5b:	7c 0c                	jl     0x50ef69
50ef5d:	7f 04                	jg     0x50ef63
50ef5f:	3b c8                	cmp    %eax,%ecx
50ef61:	76 06                	jbe    0x50ef69
50ef63:	83 c1 f9             	add    $0xfffffff9,%ecx
50ef66:	83 d6 ff             	adc    $0xffffffff,%esi
50ef69:	6a 00                	push   $0x0
50ef6b:	68 00 5c 26 05       	push   $0x5265c00
50ef70:	56                   	push   %esi
50ef71:	51                   	push   %ecx
50ef72:	e8 89 2b 0d 00       	call   0x5e1b00
50ef77:	8b c8                	mov    %eax,%ecx
50ef79:	8b f2                	mov    %edx,%esi
50ef7b:	8b c7                	mov    %edi,%eax
50ef7d:	ba 00 5c 26 05       	mov    $0x5265c00,%edx
50ef82:	f7 ea                	imul   %edx
50ef84:	5f                   	pop    %edi
50ef85:	2b c1                	sub    %ecx,%eax
50ef87:	8b 4d 14             	mov    0x14(%ebp),%ecx
50ef8a:	1b d6                	sbb    %esi,%edx
50ef8c:	03 45 0c             	add    0xc(%ebp),%eax
50ef8f:	5e                   	pop    %esi
50ef90:	13 55 f8             	adc    -0x8(%ebp),%edx
50ef93:	89 01                	mov    %eax,(%ecx)
50ef95:	33 c0                	xor    %eax,%eax
50ef97:	89 51 04             	mov    %edx,0x4(%ecx)
50ef9a:	66 c7 41 2a 00 00    	movw   $0x0,0x2a(%ecx)
50efa0:	c6 41 2c 00          	movb   $0x0,0x2c(%ecx)
50efa4:	8b e5                	mov    %ebp,%esp
50efa6:	5d                   	pop    %ebp
50efa7:	c3                   	ret
50efa8:	6a 09                	push   $0x9
50efaa:	68 18 79 6b 00       	push   $0x6b7918
50efaf:	56                   	push   %esi
50efb0:	e8 ab 0b fd ff       	call   0x4dfb60
50efb5:	83 c4 0c             	add    $0xc,%esp
50efb8:	85 c0                	test   %eax,%eax
50efba:	0f 85 76 03 00 00    	jne    0x50f336
50efc0:	8b 7d 14             	mov    0x14(%ebp),%edi
50efc3:	38 47 28             	cmp    %al,0x28(%edi)
50efc6:	75 0e                	jne    0x50efd6
50efc8:	38 47 2a             	cmp    %al,0x2a(%edi)
50efcb:	75 09                	jne    0x50efd6
50efcd:	38 47 2b             	cmp    %al,0x2b(%edi)
50efd0:	0f 84 60 03 00 00    	je     0x50f336
50efd6:	57                   	push   %edi
50efd7:	83 c6 09             	add    $0x9,%esi
50efda:	e8 f1 c4 fe ff       	call   0x4fb4d0
50efdf:	0f 57 c0             	xorps  %xmm0,%xmm0
50efe2:	66 c7 47 2b 01 00    	movw   $0x1,0x2b(%edi)
50efe8:	68 8c 69 6b 00       	push   $0x6b698c
50efed:	56                   	push   %esi
50efee:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
50eff5:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
50effc:	f2 0f 11 47 20       	movsd  %xmm0,0x20(%edi)
50f001:	66 c7 47 28 00 00    	movw   $0x0,0x28(%edi)
50f007:	e8 74 09 fd ff       	call   0x4df980
50f00c:	83 c4 0c             	add    $0xc,%esp
50f00f:	85 c0                	test   %eax,%eax
50f011:	74 19                	je     0x50f02c
50f013:	68 94 69 6b 00       	push   $0x6b6994
50f018:	56                   	push   %esi
50f019:	e8 62 09 fd ff       	call   0x4df980
50f01e:	83 c4 08             	add    $0x8,%esp
50f021:	85 c0                	test   %eax,%eax
50f023:	75 16                	jne    0x50f03b
50f025:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
50f02c:	c7 47 10 01 00 00 00 	movl   $0x1,0x10(%edi)
50f033:	33 c0                	xor    %eax,%eax
50f035:	5f                   	pop    %edi
50f036:	5e                   	pop    %esi
50f037:	8b e5                	mov    %ebp,%esp
50f039:	5d                   	pop    %ebp
50f03a:	c3                   	ret
50f03b:	68 80 69 6b 00       	push   $0x6b6980
50f040:	56                   	push   %esi
50f041:	e8 3a 09 fd ff       	call   0x4df980
50f046:	83 c4 08             	add    $0x8,%esp
50f049:	85 c0                	test   %eax,%eax
50f04b:	0f 85 e5 02 00 00    	jne    0x50f336
50f051:	5f                   	pop    %edi
50f052:	5e                   	pop    %esi
50f053:	8b e5                	mov    %ebp,%esp
50f055:	5d                   	pop    %ebp
50f056:	c3                   	ret
50f057:	8a 46 01             	mov    0x1(%esi),%al
50f05a:	bf 01 00 00 00       	mov    $0x1,%edi
50f05f:	84 c0                	test   %al,%al
50f061:	74 19                	je     0x50f07c
50f063:	3c 3a                	cmp    $0x3a,%al
50f065:	74 15                	je     0x50f07c
50f067:	0f b6 c0             	movzbl %al,%eax
50f06a:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f071:	75 09                	jne    0x50f07c
50f073:	8a 44 3e 01          	mov    0x1(%esi,%edi,1),%al
50f077:	47                   	inc    %edi
50f078:	84 c0                	test   %al,%al
50f07a:	75 e7                	jne    0x50f063
50f07c:	6a 01                	push   $0x1
50f07e:	57                   	push   %edi
50f07f:	8d 45 f0             	lea    -0x10(%ebp),%eax
50f082:	50                   	push   %eax
50f083:	56                   	push   %esi
50f084:	e8 d7 9f 00 00       	call   0x519060
50f089:	83 c4 10             	add    $0x10,%esp
50f08c:	85 c0                	test   %eax,%eax
50f08e:	0f 8e a2 02 00 00    	jle    0x50f336
50f094:	03 fe                	add    %esi,%edi
50f096:	80 3f 3a             	cmpb   $0x3a,(%edi)
50f099:	0f 85 aa 00 00 00    	jne    0x50f149
50f09f:	6a 30                	push   $0x30
50f0a1:	8d 45 b0             	lea    -0x50(%ebp),%eax
50f0a4:	6a 00                	push   $0x0
50f0a6:	50                   	push   %eax
50f0a7:	e8 54 49 0d 00       	call   0x5e3a00
50f0ac:	8d 45 b0             	lea    -0x50(%ebp),%eax
50f0af:	50                   	push   %eax
50f0b0:	0f b6 06             	movzbl (%esi),%eax
50f0b3:	f6 80 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%eax)
50f0ba:	8d 46 01             	lea    0x1(%esi),%eax
50f0bd:	0f 45 c6             	cmovne %esi,%eax
50f0c0:	50                   	push   %eax
50f0c1:	e8 fa fa ff ff       	call   0x50ebc0
50f0c6:	83 c4 14             	add    $0x14,%esp
50f0c9:	85 c0                	test   %eax,%eax
50f0cb:	0f 85 65 02 00 00    	jne    0x50f336
50f0d1:	8d 45 b0             	lea    -0x50(%ebp),%eax
50f0d4:	50                   	push   %eax
50f0d5:	e8 b6 c0 fe ff       	call   0x4fb190
50f0da:	8b 45 b0             	mov    -0x50(%ebp),%eax
50f0dd:	83 c4 04             	add    $0x4,%esp
50f0e0:	8b 7d b4             	mov    -0x4c(%ebp),%edi
50f0e3:	05 00 d2 6c fd       	add    $0xfd6cd200,%eax
50f0e8:	89 45 0c             	mov    %eax,0xc(%ebp)
50f0eb:	83 d7 ff             	adc    $0xffffffff,%edi
50f0ee:	6a ff                	push   $0xffffffff
50f0f0:	68 00 a4 d9 fa       	push   $0xfad9a400
50f0f5:	57                   	push   %edi
50f0f6:	50                   	push   %eax
50f0f7:	e8 44 2a 0d 00       	call   0x5e1b40
50f0fc:	6a 00                	push   $0x0
50f0fe:	68 00 5c 26 05       	push   $0x5265c00
50f103:	52                   	push   %edx
50f104:	50                   	push   %eax
50f105:	e8 f6 29 0d 00       	call   0x5e1b00
50f10a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50f10d:	03 c8                	add    %eax,%ecx
50f10f:	89 4d 0c             	mov    %ecx,0xc(%ebp)
50f112:	13 fa                	adc    %edx,%edi
50f114:	80 3e 2d             	cmpb   $0x2d,(%esi)
50f117:	75 0a                	jne    0x50f123
50f119:	f7 d9                	neg    %ecx
50f11b:	89 4d 0c             	mov    %ecx,0xc(%ebp)
50f11e:	83 d7 00             	adc    $0x0,%edi
50f121:	f7 df                	neg    %edi
50f123:	8b 75 14             	mov    0x14(%ebp),%esi