41807f:	83 7d b4 19          	cmpl   $0x19,-0x4c(%ebp)
418083:	73 0b                	jae    0x418090
418085:	ff 45 b4             	incl   -0x4c(%ebp)
418088:	2a c3                	sub    %bl,%al
41808a:	88 07                	mov    %al,(%edi)
41808c:	47                   	inc    %edi
41808d:	ff 4d b0             	decl   -0x50(%ebp)
418090:	8a 02                	mov    (%edx),%al
418092:	42                   	inc    %edx
418093:	3a c3                	cmp    %bl,%al
418095:	7d e4                	jge    0x41807b
418097:	eb bb                	jmp    0x418054
418099:	2a c3                	sub    %bl,%al
41809b:	89 75 a4             	mov    %esi,-0x5c(%ebp)
41809e:	3c 09                	cmp    $0x9,%al
4180a0:	0f 87 6e ff ff ff    	ja     0x418014
4180a6:	6a 04                	push   $0x4
4180a8:	e9 9e fe ff ff       	jmp    0x417f4b
4180ad:	8d 4a fe             	lea    -0x2(%edx),%ecx
4180b0:	89 4d ac             	mov    %ecx,-0x54(%ebp)
4180b3:	8a c8                	mov    %al,%cl
4180b5:	80 e9 31             	sub    $0x31,%cl
4180b8:	80 f9 08             	cmp    $0x8,%cl
4180bb:	77 07                	ja     0x4180c4
4180bd:	6a 09                	push   $0x9
4180bf:	e9 87 fe ff ff       	jmp    0x417f4b
4180c4:	0f be c0             	movsbl %al,%eax
4180c7:	83 e8 2b             	sub    $0x2b,%eax
4180ca:	74 20                	je     0x4180ec
4180cc:	48                   	dec    %eax
4180cd:	48                   	dec    %eax
4180ce:	74 10                	je     0x4180e0
4180d0:	83 e8 03             	sub    $0x3,%eax
4180d3:	0f 85 3b ff ff ff    	jne    0x418014
4180d9:	6a 08                	push   $0x8
4180db:	e9 82 fe ff ff       	jmp    0x417f62
4180e0:	83 4d 98 ff          	orl    $0xffffffff,-0x68(%ebp)
4180e4:	6a 07                	push   $0x7
4180e6:	59                   	pop    %ecx
4180e7:	e9 40 fe ff ff       	jmp    0x417f2c
4180ec:	6a 07                	push   $0x7
4180ee:	e9 6f fe ff ff       	jmp    0x417f62
4180f3:	89 75 a0             	mov    %esi,-0x60(%ebp)
4180f6:	eb 03                	jmp    0x4180fb
4180f8:	8a 02                	mov    (%edx),%al
4180fa:	42                   	inc    %edx
4180fb:	3a c3                	cmp    %bl,%al
4180fd:	74 f9                	je     0x4180f8
4180ff:	2c 31                	sub    $0x31,%al
418101:	3c 08                	cmp    $0x8,%al
418103:	76 b8                	jbe    0x4180bd
418105:	4a                   	dec    %edx
418106:	eb 28                	jmp    0x418130
418108:	8a c8                	mov    %al,%cl
41810a:	80 e9 31             	sub    $0x31,%cl
41810d:	80 f9 08             	cmp    $0x8,%cl
418110:	76 ab                	jbe    0x4180bd
418112:	3a c3                	cmp    %bl,%al
418114:	eb bd                	jmp    0x4180d3
418116:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
41811a:	74 47                	je     0x418163
41811c:	0f be c0             	movsbl %al,%eax
41811f:	83 e8 2b             	sub    $0x2b,%eax
418122:	8d 4a ff             	lea    -0x1(%edx),%ecx
418125:	89 4d ac             	mov    %ecx,-0x54(%ebp)
418128:	74 c2                	je     0x4180ec
41812a:	48                   	dec    %eax
41812b:	48                   	dec    %eax
41812c:	74 b2                	je     0x4180e0
41812e:	8b d1                	mov    %ecx,%edx
418130:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
418134:	8b 45 90             	mov    -0x70(%ebp),%eax
418137:	89 10                	mov    %edx,(%eax)
418139:	0f 84 d9 03 00 00    	je     0x418518
41813f:	6a 18                	push   $0x18
418141:	58                   	pop    %eax
418142:	39 45 b4             	cmp    %eax,-0x4c(%ebp)
418145:	76 10                	jbe    0x418157
418147:	80 7d f7 05          	cmpb   $0x5,-0x9(%ebp)
41814b:	7c 03                	jl     0x418150
41814d:	fe 45 f7             	incb   -0x9(%ebp)
418150:	4f                   	dec    %edi
418151:	ff 45 b0             	incl   -0x50(%ebp)
418154:	89 45 b4             	mov    %eax,-0x4c(%ebp)
418157:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
41815b:	0f 86 de 03 00 00    	jbe    0x41853f
418161:	eb 59                	jmp    0x4181bc
418163:	6a 0a                	push   $0xa
418165:	59                   	pop    %ecx
418166:	4a                   	dec    %edx
418167:	83 f9 0a             	cmp    $0xa,%ecx
41816a:	0f 85 bc fd ff ff    	jne    0x417f2c
418170:	eb be                	jmp    0x418130
418172:	89 75 a0             	mov    %esi,-0x60(%ebp)
418175:	33 c9                	xor    %ecx,%ecx
418177:	eb 19                	jmp    0x418192
418179:	3c 39                	cmp    $0x39,%al
41817b:	7f 20                	jg     0x41819d
41817d:	6b c9 0a             	imul   $0xa,%ecx,%ecx
418180:	0f be f0             	movsbl %al,%esi
418183:	8d 4c 31 d0          	lea    -0x30(%ecx,%esi,1),%ecx
418187:	81 f9 50 14 00 00    	cmp    $0x1450,%ecx
41818d:	7f 09                	jg     0x418198
41818f:	8a 02                	mov    (%edx),%al
418191:	42                   	inc    %edx
418192:	3a c3                	cmp    %bl,%al
418194:	7d e3                	jge    0x418179
418196:	eb 05                	jmp    0x41819d
418198:	b9 51 14 00 00       	mov    $0x1451,%ecx
41819d:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
4181a0:	eb 0b                	jmp    0x4181ad
4181a2:	3c 39                	cmp    $0x39,%al
4181a4:	0f 8f 5b ff ff ff    	jg     0x418105
4181aa:	8a 02                	mov    (%edx),%al
4181ac:	42                   	inc    %edx
4181ad:	3a c3                	cmp    %bl,%al
4181af:	7d f1                	jge    0x4181a2
4181b1:	e9 4f ff ff ff       	jmp    0x418105
4181b6:	ff 4d b4             	decl   -0x4c(%ebp)
4181b9:	ff 45 b0             	incl   -0x50(%ebp)
4181bc:	4f                   	dec    %edi
4181bd:	80 3f 00             	cmpb   $0x0,(%edi)
4181c0:	74 f4                	je     0x4181b6
4181c2:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4181c5:	50                   	push   %eax
4181c6:	ff 75 b4             	push   -0x4c(%ebp)
4181c9:	8d 45 e0             	lea    -0x20(%ebp),%eax
4181cc:	50                   	push   %eax
4181cd:	e8 11 12 00 00       	call   0x4193e3
4181d2:	8b 45 9c             	mov    -0x64(%ebp),%eax
4181d5:	33 d2                	xor    %edx,%edx
4181d7:	83 c4 0c             	add    $0xc,%esp
4181da:	39 55 98             	cmp    %edx,-0x68(%ebp)
4181dd:	7d 02                	jge    0x4181e1
4181df:	f7 d8                	neg    %eax
4181e1:	03 45 b0             	add    -0x50(%ebp),%eax
4181e4:	39 55 a0             	cmp    %edx,-0x60(%ebp)
4181e7:	75 03                	jne    0x4181ec
4181e9:	03 45 18             	add    0x18(%ebp),%eax
4181ec:	39 55 a4             	cmp    %edx,-0x5c(%ebp)
4181ef:	75 03                	jne    0x4181f4
4181f1:	2b 45 1c             	sub    0x1c(%ebp),%eax
4181f4:	3d 50 14 00 00       	cmp    $0x1450,%eax
4181f9:	0f 8f 22 03 00 00    	jg     0x418521
4181ff:	3d b0 eb ff ff       	cmp    $0xffffebb0,%eax
418204:	0f 8c 2e 03 00 00    	jl     0x418538
41820a:	b9 c0 c2 42 00       	mov    $0x42c2c0,%ecx
41820f:	83 e9 60             	sub    $0x60,%ecx
418212:	89 45 ac             	mov    %eax,-0x54(%ebp)
418215:	3b c2                	cmp    %edx,%eax
418217:	0f 84 e9 02 00 00    	je     0x418506
41821d:	7d 0d                	jge    0x41822c
41821f:	f7 d8                	neg    %eax
418221:	b9 20 c4 42 00       	mov    $0x42c420,%ecx
418226:	89 45 ac             	mov    %eax,-0x54(%ebp)
418229:	83 e9 60             	sub    $0x60,%ecx
41822c:	39 55 14             	cmp    %edx,0x14(%ebp)
41822f:	75 06                	jne    0x418237
418231:	33 c0                	xor    %eax,%eax
418233:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
418237:	39 55 ac             	cmp    %edx,-0x54(%ebp)
41823a:	0f 84 c6 02 00 00    	je     0x418506
418240:	eb 05                	jmp    0x418247
418242:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
418245:	33 d2                	xor    %edx,%edx
418247:	8b 45 ac             	mov    -0x54(%ebp),%eax
41824a:	c1 7d ac 03          	sarl   $0x3,-0x54(%ebp)
41824e:	83 c1 54             	add    $0x54,%ecx
418251:	83 e0 07             	and    $0x7,%eax
418254:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
418257:	3b c2                	cmp    %edx,%eax
418259:	0f 84 9d 02 00 00    	je     0x4184fc
41825f:	6b c0 0c             	imul   $0xc,%eax,%eax
418262:	03 c1                	add    %ecx,%eax
418264:	8b d8                	mov    %eax,%ebx
418266:	b8 00 80 00 00       	mov    $0x8000,%eax
41826b:	66 39 03             	cmp    %ax,(%ebx)
41826e:	72 0e                	jb     0x41827e
418270:	8b f3                	mov    %ebx,%esi
418272:	8d 7d b8             	lea    -0x48(%ebp),%edi
418275:	a5                   	movsl  %ds:(%esi),%es:(%edi)
418276:	a5                   	movsl  %ds:(%esi),%es:(%edi)
418277:	a5                   	movsl  %ds:(%esi),%es:(%edi)
418278:	ff 4d ba             	decl   -0x46(%ebp)
41827b:	8d 5d b8             	lea    -0x48(%ebp),%ebx
41827e:	0f b7 4b 0a          	movzwl 0xa(%ebx),%ecx
418282:	33 c0                	xor    %eax,%eax
418284:	89 45 b0             	mov    %eax,-0x50(%ebp)
418287:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41828a:	89 45 d8             	mov    %eax,-0x28(%ebp)
41828d:	89 45 dc             	mov    %eax,-0x24(%ebp)
418290:	8b 45 ce             	mov    -0x32(%ebp),%eax
418293:	8b f1                	mov    %ecx,%esi
418295:	ba ff 7f 00 00       	mov    $0x7fff,%edx
41829a:	33 f0                	xor    %eax,%esi
41829c:	23 c2                	and    %edx,%eax
41829e:	23 ca                	and    %edx,%ecx
4182a0:	81 e6 00 80 00 00    	and    $0x8000,%esi
4182a6:	bf ff 7f 00 00       	mov    $0x7fff,%edi
4182ab:	8d 14 01             	lea    (%ecx,%eax,1),%edx
4182ae:	89 75 90             	mov    %esi,-0x70(%ebp)
4182b1:	0f b7 d2             	movzwl %dx,%edx
4182b4:	66 3b c7             	cmp    %di,%ax
4182b7:	0f 83 21 02 00 00    	jae    0x4184de
4182bd:	66 3b cf             	cmp    %di,%cx
4182c0:	0f 83 18 02 00 00    	jae    0x4184de
4182c6:	bf fd bf 00 00       	mov    $0xbffd,%edi
4182cb:	66 3b d7             	cmp    %di,%dx
4182ce:	0f 87 0a 02 00 00    	ja     0x4184de
4182d4:	be bf 3f 00 00       	mov    $0x3fbf,%esi
4182d9:	66 3b d6             	cmp    %si,%dx
4182dc:	77 0d                	ja     0x4182eb
4182de:	33 c0                	xor    %eax,%eax
4182e0:	89 45 c8             	mov    %eax,-0x38(%ebp)
4182e3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4182e6:	e9 0e 02 00 00       	jmp    0x4184f9
4182eb:	33 f6                	xor    %esi,%esi
4182ed:	66 3b c6             	cmp    %si,%ax
4182f0:	75 1f                	jne    0x418311
4182f2:	42                   	inc    %edx
4182f3:	f7 45 cc ff ff ff 7f 	testl  $0x7fffffff,-0x34(%ebp)
4182fa:	75 15                	jne    0x418311
4182fc:	39 75 c8             	cmp    %esi,-0x38(%ebp)
4182ff:	75 10                	jne    0x418311
418301:	39 75 c4             	cmp    %esi,-0x3c(%ebp)
418304:	75 0b                	jne    0x418311
418306:	33 c0                	xor    %eax,%eax
418308:	66 89 45 ce          	mov    %ax,-0x32(%ebp)
41830c:	e9 eb 01 00 00       	jmp    0x4184fc
418311:	66 3b ce             	cmp    %si,%cx
418314:	75 21                	jne    0x418337
418316:	42                   	inc    %edx
418317:	f7 43 08 ff ff ff 7f 	testl  $0x7fffffff,0x8(%ebx)
41831e:	75 17                	jne    0x418337
418320:	39 73 04             	cmp    %esi,0x4(%ebx)
418323:	75 12                	jne    0x418337
418325:	39 33                	cmp    %esi,(%ebx)
418327:	75 0e                	jne    0x418337
418329:	89 75 cc             	mov    %esi,-0x34(%ebp)
41832c:	89 75 c8             	mov    %esi,-0x38(%ebp)
41832f:	89 75 c4             	mov    %esi,-0x3c(%ebp)
418332:	e9 c5 01 00 00       	jmp    0x4184fc
418337:	89 75 98             	mov    %esi,-0x68(%ebp)
41833a:	8d 7d d8             	lea    -0x28(%ebp),%edi
41833d:	c7 45 a8 05 00 00 00 	movl   $0x5,-0x58(%ebp)
418344:	8b 45 98             	mov    -0x68(%ebp),%eax
418347:	8b 4d a8             	mov    -0x58(%ebp),%ecx
41834a:	03 c0                	add    %eax,%eax
41834c:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
41834f:	85 c9                	test   %ecx,%ecx
418351:	7e 52                	jle    0x4183a5
418353:	8d 44 05 c4          	lea    -0x3c(%ebp,%eax,1),%eax
418357:	89 45 a4             	mov    %eax,-0x5c(%ebp)
41835a:	8d 43 08             	lea    0x8(%ebx),%eax
41835d:	89 45 a0             	mov    %eax,-0x60(%ebp)
418360:	8b 45 a0             	mov    -0x60(%ebp),%eax
418363:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
418366:	0f b7 09             	movzwl (%ecx),%ecx
418369:	0f b7 00             	movzwl (%eax),%eax
41836c:	83 65 b4 00          	andl   $0x0,-0x4c(%ebp)
418370:	0f af c1             	imul   %ecx,%eax
418373:	8b 4f fc             	mov    -0x4(%edi),%ecx
418376:	8d 34 01             	lea    (%ecx,%eax,1),%esi
418379:	3b f1                	cmp    %ecx,%esi
41837b:	72 04                	jb     0x418381
41837d:	3b f0                	cmp    %eax,%esi
41837f:	73 07                	jae    0x418388
418381:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
418388:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
41838c:	89 77 fc             	mov    %esi,-0x4(%edi)
41838f:	74 03                	je     0x418394
418391:	66 ff 07             	incw   (%edi)
418394:	83 45 a4 02          	addl   $0x2,-0x5c(%ebp)
418398:	83 6d a0 02          	subl   $0x2,-0x60(%ebp)
41839c:	ff 4d 9c             	decl   -0x64(%ebp)
41839f:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
4183a3:	7f bb                	jg     0x418360
4183a5:	47                   	inc    %edi
4183a6:	47                   	inc    %edi
4183a7:	ff 45 98             	incl   -0x68(%ebp)
4183aa:	ff 4d a8             	decl   -0x58(%ebp)
4183ad:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
4183b1:	7f 91                	jg     0x418344
4183b3:	81 c2 02 c0 00 00    	add    $0xc002,%edx
4183b9:	66 85 d2             	test   %dx,%dx
4183bc:	7e 37                	jle    0x4183f5
4183be:	8b 7d dc             	mov    -0x24(%ebp),%edi
4183c1:	85 ff                	test   %edi,%edi
4183c3:	78 2b                	js     0x4183f0
4183c5:	8b 75 d8             	mov    -0x28(%ebp),%esi
4183c8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4183cb:	d1 65 d4             	shll   $1,-0x2c(%ebp)
4183ce:	c1 e8 1f             	shr    $0x1f,%eax
4183d1:	8b ce                	mov    %esi,%ecx
4183d3:	03 f6                	add    %esi,%esi
4183d5:	0b f0                	or     %eax,%esi
4183d7:	c1 e9 1f             	shr    $0x1f,%ecx
4183da:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4183dd:	0b c1                	or     %ecx,%eax
4183df:	81 c2 ff ff 00 00    	add    $0xffff,%edx
4183e5:	89 75 d8             	mov    %esi,-0x28(%ebp)
4183e8:	89 45 dc             	mov    %eax,-0x24(%ebp)
4183eb:	66 85 d2             	test   %dx,%dx
4183ee:	7f ce                	jg     0x4183be
4183f0:	66 85 d2             	test   %dx,%dx
4183f3:	7f 4d                	jg     0x418442
4183f5:	81 c2 ff ff 00 00    	add    $0xffff,%edx
4183fb:	66 85 d2             	test   %dx,%dx
4183fe:	7d 42                	jge    0x418442
418400:	8b c2                	mov    %edx,%eax
418402:	f7 d8                	neg    %eax
418404:	0f b7 f0             	movzwl %ax,%esi
418407:	03 d6                	add    %esi,%edx
418409:	f6 45 d4 01          	testb  $0x1,-0x2c(%ebp)
41840d:	74 03                	je     0x418412
41840f:	ff 45 b0             	incl   -0x50(%ebp)
418412:	8b 45 dc             	mov    -0x24(%ebp),%eax
418415:	8b 7d d8             	mov    -0x28(%ebp),%edi
418418:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41841b:	d1 6d dc             	shrl   $1,-0x24(%ebp)
41841e:	c1 e0 1f             	shl    $0x1f,%eax
418421:	d1 ef                	shr    $1,%edi
418423:	0b f8                	or     %eax,%edi
418425:	8b 45 d4             	mov    -0x2c(%ebp),%eax
418428:	c1 e1 1f             	shl    $0x1f,%ecx
41842b:	d1 e8                	shr    $1,%eax
41842d:	0b c1                	or     %ecx,%eax
41842f:	4e                   	dec    %esi
418430:	89 7d d8             	mov    %edi,-0x28(%ebp)
418433:	89 45 d4             	mov    %eax,-0x2c(%ebp)
418436:	75 d1                	jne    0x418409
418438:	39 75 b0             	cmp    %esi,-0x50(%ebp)
41843b:	74 05                	je     0x418442
41843d:	66 83 4d d4 01       	orw    $0x1,-0x2c(%ebp)
418442:	b8 00 80 00 00       	mov    $0x8000,%eax
418447:	8b c8                	mov    %eax,%ecx
418449:	66 39 4d d4          	cmp    %cx,-0x2c(%ebp)
41844d:	77 11                	ja     0x418460
41844f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
418452:	81 e1 ff ff 01 00    	and    $0x1ffff,%ecx
418458:	81 f9 00 80 01 00    	cmp    $0x18000,%ecx
41845e:	75 34                	jne    0x418494
418460:	83 7d d6 ff          	cmpl   $0xffffffff,-0x2a(%ebp)
418464:	75 2b                	jne    0x418491
418466:	83 65 d6 00          	andl   $0x0,-0x2a(%ebp)
41846a:	83 7d da ff          	cmpl   $0xffffffff,-0x26(%ebp)
41846e:	75 1c                	jne    0x41848c
418470:	83 65 da 00          	andl   $0x0,-0x26(%ebp)
418474:	b9 ff ff 00 00       	mov    $0xffff,%ecx
418479:	66 39 4d de          	cmp    %cx,-0x22(%ebp)