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
50f126:	56                   	push   %esi
50f127:	e8 64 c0 fe ff       	call   0x4fb190
50f12c:	8b 45 0c             	mov    0xc(%ebp),%eax
50f12f:	83 c4 04             	add    $0x4,%esp
50f132:	01 06                	add    %eax,(%esi)
50f134:	66 c7 46 2a 00 00    	movw   $0x0,0x2a(%esi)
50f13a:	11 7e 04             	adc    %edi,0x4(%esi)
50f13d:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
50f141:	5f                   	pop    %edi
50f142:	33 c0                	xor    %eax,%eax
50f144:	5e                   	pop    %esi
50f145:	8b e5                	mov    %ebp,%esp
50f147:	5d                   	pop    %ebp
50f148:	c3                   	ret
50f149:	0f b6 07             	movzbl (%edi),%eax
50f14c:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f153:	74 19                	je     0x50f16e
50f155:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
50f15c:	00 00 00 00
50f160:	0f b6 47 01          	movzbl 0x1(%edi),%eax
50f164:	47                   	inc    %edi
50f165:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
50f16c:	75 f2                	jne    0x50f160
50f16e:	8b cf                	mov    %edi,%ecx
50f170:	8d 51 01             	lea    0x1(%ecx),%edx
50f173:	8a 01                	mov    (%ecx),%al
50f175:	41                   	inc    %ecx
50f176:	84 c0                	test   %al,%al
50f178:	75 f9                	jne    0x50f173
50f17a:	2b ca                	sub    %edx,%ecx
50f17c:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
50f182:	83 f9 0a             	cmp    $0xa,%ecx
50f185:	0f 87 ab 01 00 00    	ja     0x50f336
50f18b:	83 f9 03             	cmp    $0x3,%ecx
50f18e:	0f 82 a2 01 00 00    	jb     0x50f336
50f194:	0f b6 44 0f ff       	movzbl -0x1(%edi,%ecx,1),%eax
50f199:	8d 51 ff             	lea    -0x1(%ecx),%edx
50f19c:	ff 75 14             	push   0x14(%ebp)
50f19f:	80 b8 20 2a 6b 00 73 	cmpb   $0x73,0x6b2a20(%eax)
50f1a6:	0f 45 d1             	cmovne %ecx,%edx
50f1a9:	89 55 0c             	mov    %edx,0xc(%ebp)
50f1ac:	e8 df bf fe ff       	call   0x4fb190
50f1b1:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f1b6:	0f 57 c0             	xorps  %xmm0,%xmm0
50f1b9:	83 c4 04             	add    $0x4,%esp
50f1bc:	f2 0f 11 4d e8       	movsd  %xmm1,-0x18(%ebp)
50f1c1:	66 0f 2f c1          	comisd %xmm1,%xmm0
50f1c5:	76 0f                	jbe    0x50f1d6
50f1c7:	f2 0f 10 0d 30 c6 6b 	movsd  0x6bc630,%xmm1
50f1ce:	00
50f1cf:	f2 0f 11 4d e0       	movsd  %xmm1,-0x20(%ebp)
50f1d4:	eb 0d                	jmp    0x50f1e3
50f1d6:	f2 0f 10 05 f8 9b 6a 	movsd  0x6a9bf8,%xmm0
50f1dd:	00
50f1de:	f2 0f 11 45 e0       	movsd  %xmm0,-0x20(%ebp)
50f1e3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50f1e6:	33 c0                	xor    %eax,%eax
50f1e8:	89 45 fc             	mov    %eax,-0x4(%ebp)
50f1eb:	be d8 1c 6b 00       	mov    $0x6b1cd8,%esi
50f1f0:	0f b6 46 f9          	movzbl -0x7(%esi),%eax
50f1f4:	3b c1                	cmp    %ecx,%eax
50f1f6:	75 33                	jne    0x50f22b
50f1f8:	51                   	push   %ecx
50f1f9:	57                   	push   %edi
50f1fa:	ff 76 fc             	push   -0x4(%esi)
50f1fd:	e8 5e 09 fd ff       	call   0x4dfb60
50f202:	83 c4 0c             	add    $0xc,%esp
50f205:	85 c0                	test   %eax,%eax
50f207:	75 1f                	jne    0x50f228
50f209:	f2 0f 10 16          	movsd  (%esi),%xmm2
50f20d:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f212:	0f 28 c2             	movaps %xmm2,%xmm0
50f215:	0f 57 05 10 9c 6a 00 	xorps  0x6a9c10,%xmm0
50f21c:	66 0f 2f c8          	comisd %xmm0,%xmm1
50f220:	76 06                	jbe    0x50f228
50f222:	66 0f 2f d1          	comisd %xmm1,%xmm2
50f226:	77 29                	ja     0x50f251
50f228:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50f22b:	ff 45 fc             	incl   -0x4(%ebp)
50f22e:	83 c6 18             	add    $0x18,%esi
50f231:	81 fe 68 1d 6b 00    	cmp    $0x6b1d68,%esi
50f237:	7c b7                	jl     0x50f1f0
50f239:	8b 75 14             	mov    0x14(%ebp),%esi
50f23c:	b8 01 00 00 00       	mov    $0x1,%eax
50f241:	5f                   	pop    %edi
50f242:	66 c7 46 2a 00 00    	movw   $0x0,0x2a(%esi)
50f248:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
50f24c:	5e                   	pop    %esi
50f24d:	8b e5                	mov    %ebp,%esp
50f24f:	5d                   	pop    %ebp
50f250:	c3                   	ret
50f251:	8b 45 fc             	mov    -0x4(%ebp),%eax
50f254:	8b 75 14             	mov    0x14(%ebp),%esi
50f257:	8d 04 40             	lea    (%eax,%eax,2),%eax
50f25a:	c1 e0 03             	shl    $0x3,%eax
50f25d:	89 45 f8             	mov    %eax,-0x8(%ebp)
50f260:	0f b6 80 d0 1c 6b 00 	movzbl 0x6b1cd0(%eax),%eax
50f267:	83 e8 01             	sub    $0x1,%eax
50f26a:	74 2a                	je     0x50f296
50f26c:	83 e8 01             	sub    $0x1,%eax
50f26f:	0f 85 80 00 00 00    	jne    0x50f2f5
50f275:	56                   	push   %esi
50f276:	e8 55 c2 fe ff       	call   0x4fb4d0
50f27b:	56                   	push   %esi
50f27c:	e8 4f be fe ff       	call   0x4fb0d0
50f281:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f286:	83 c4 08             	add    $0x8,%esp
50f289:	f2 0f 2c c1          	cvttsd2si %xmm1,%eax
50f28d:	01 46 08             	add    %eax,0x8(%esi)
50f290:	66 0f 6e c0          	movd   %eax,%xmm0
50f294:	eb 4e                	jmp    0x50f2e4
50f296:	56                   	push   %esi
50f297:	e8 34 c2 fe ff       	call   0x4fb4d0
50f29c:	56                   	push   %esi
50f29d:	e8 2e be fe ff       	call   0x4fb0d0
50f2a2:	f2 0f 10 4d f0       	movsd  -0x10(%ebp),%xmm1
50f2a7:	83 c4 08             	add    $0x8,%esp
50f2aa:	f2 0f 2c c1          	cvttsd2si %xmm1,%eax
50f2ae:	01 46 0c             	add    %eax,0xc(%esi)
50f2b1:	8b 7e 0c             	mov    0xc(%esi),%edi
50f2b4:	89 45 0c             	mov    %eax,0xc(%ebp)
50f2b7:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
50f2bc:	8d 4f ff             	lea    -0x1(%edi),%ecx
50f2bf:	85 ff                	test   %edi,%edi
50f2c1:	7f 03                	jg     0x50f2c6
50f2c3:	8d 4f f4             	lea    -0xc(%edi),%ecx
50f2c6:	66 0f 6e 45 0c       	movd   0xc(%ebp),%xmm0
50f2cb:	f7 e9                	imul   %ecx
50f2cd:	d1 fa                	sar    $1,%edx
50f2cf:	8b c2                	mov    %edx,%eax
50f2d1:	c1 e8 1f             	shr    $0x1f,%eax
50f2d4:	03 c2                	add    %edx,%eax
50f2d6:	01 46 08             	add    %eax,0x8(%esi)
50f2d9:	8d 04 40             	lea    (%eax,%eax,2),%eax
50f2dc:	c1 e0 02             	shl    $0x2,%eax
50f2df:	2b f8                	sub    %eax,%edi
50f2e1:	89 7e 0c             	mov    %edi,0xc(%esi)
50f2e4:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
50f2e8:	c6 46 28 00          	movb   $0x0,0x28(%esi)
50f2ec:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
50f2f0:	f2 0f 11 4d e8       	movsd  %xmm1,-0x18(%ebp)
50f2f5:	56                   	push   %esi
50f2f6:	e8 95 be fe ff       	call   0x4fb190
50f2fb:	8b 45 f8             	mov    -0x8(%ebp),%eax
50f2fe:	83 c4 04             	add    $0x4,%esp
50f301:	f2 0f 10 80 e0 1c 6b 	movsd  0x6b1ce0(%eax),%xmm0
50f308:	00
50f309:	f2 0f 59 45 e8       	mulsd  -0x18(%ebp),%xmm0
50f30e:	f2 0f 58 45 e0       	addsd  -0x20(%ebp),%xmm0
50f313:	e8 73 24 0d 00       	call   0x5e178b
50f318:	01 06                	add    %eax,(%esi)
50f31a:	5f                   	pop    %edi
50f31b:	11 56 04             	adc    %edx,0x4(%esi)
50f31e:	33 c0                	xor    %eax,%eax
50f320:	66 89 46 2a          	mov    %ax,0x2a(%esi)
50f324:	88 46 2c             	mov    %al,0x2c(%esi)
50f327:	5e                   	pop    %esi
50f328:	8b e5                	mov    %ebp,%esp
50f32a:	5d                   	pop    %ebp
50f32b:	c3                   	ret
50f32c:	b8 01 00 00 00       	mov    $0x1,%eax
50f331:	5e                   	pop    %esi
50f332:	8b e5                	mov    %ebp,%esp
50f334:	5d                   	pop    %ebp
50f335:	c3                   	ret
50f336:	5f                   	pop    %edi
50f337:	b8 01 00 00 00       	mov    $0x1,%eax
50f33c:	5e                   	pop    %esi
50f33d:	8b e5                	mov    %ebp,%esp
50f33f:	5d                   	pop    %ebp
50f340:	c3                   	ret
50f341:	0f 1f 00             	nopl   (%eax)
50f344:	57                   	push   %edi
50f345:	f0 50                	lock push %eax
50f347:	00 36                	add    %dh,(%esi)