4112cd:	6a 0a                	push   $0xa
4112cf:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
4112d3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4112d6:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
4112dd:	88 4c 38 2b          	mov    %cl,0x2b(%eax,%edi,1)
4112e1:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
4112e8:	59                   	pop    %ecx
4112e9:	88 4c 38 2c          	mov    %cl,0x2c(%eax,%edi,1)
4112ed:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4112f0:	eb 4f                	jmp    0x411341
4112f2:	58                   	pop    %eax
4112f3:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
4112f7:	75 09                	jne    0x411302
4112f9:	3b f3                	cmp    %ebx,%esi
4112fb:	75 05                	jne    0x411302
4112fd:	66 89 06             	mov    %ax,(%esi)
411300:	eb 3c                	jmp    0x41133e
411302:	6a 01                	push   $0x1
411304:	6a ff                	push   $0xffffffff
411306:	6a fe                	push   $0xfffffffe
411308:	ff 75 08             	push   0x8(%ebp)
41130b:	e8 2f fb ff ff       	call   0x410e3f
411310:	83 c4 10             	add    $0x10,%esp
411313:	6a 0a                	push   $0xa
411315:	58                   	pop    %eax
411316:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
41131a:	74 25                	je     0x411341
41131c:	6a 0d                	push   $0xd
41131e:	58                   	pop    %eax
41131f:	eb dc                	jmp    0x4112fd
411321:	8b 55 f8             	mov    -0x8(%ebp),%edx
411324:	8b 14 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%edx
41132b:	8a 44 3a 28          	mov    0x28(%edx,%edi,1),%al
41132f:	a8 40                	test   $0x40,%al
411331:	75 08                	jne    0x41133b
411333:	0c 02                	or     $0x2,%al
411335:	88 44 3a 28          	mov    %al,0x28(%edx,%edi,1)
411339:	eb 06                	jmp    0x411341
41133b:	66 89 0e             	mov    %cx,(%esi)
41133e:	83 c6 02             	add    $0x2,%esi
411341:	2b f3                	sub    %ebx,%esi
411343:	83 e6 fe             	and    $0xfffffffe,%esi
411346:	5f                   	pop    %edi
411347:	8b c6                	mov    %esi,%eax
411349:	5e                   	pop    %esi
41134a:	5b                   	pop    %ebx
41134b:	c9                   	leave
41134c:	c3                   	ret
41134d:	8b ff                	mov    %edi,%edi
41134f:	55                   	push   %ebp
411350:	8b ec                	mov    %esp,%ebp
411352:	51                   	push   %ecx
411353:	51                   	push   %ecx
411354:	53                   	push   %ebx
411355:	ff 75 10             	push   0x10(%ebp)
411358:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41135b:	53                   	push   %ebx
41135c:	ff 75 08             	push   0x8(%ebp)
41135f:	e8 e2 fc ff ff       	call   0x411046
411364:	8b c8                	mov    %eax,%ecx
411366:	83 c4 0c             	add    $0xc,%esp
411369:	85 c9                	test   %ecx,%ecx
41136b:	0f 84 30 01 00 00    	je     0x4114a1
411371:	8b 45 08             	mov    0x8(%ebp),%eax
411374:	8b 55 08             	mov    0x8(%ebp),%edx
411377:	83 e0 3f             	and    $0x3f,%eax
41137a:	c1 fa 06             	sar    $0x6,%edx
41137d:	57                   	push   %edi
41137e:	6b f8 38             	imul   $0x38,%eax,%edi
411381:	89 55 fc             	mov    %edx,-0x4(%ebp)
411384:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
41138b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41138e:	80 7c 38 29 00       	cmpb   $0x0,0x29(%eax,%edi,1)
411393:	75 07                	jne    0x41139c
411395:	8b c1                	mov    %ecx,%eax
411397:	e9 04 01 00 00       	jmp    0x4114a0
41139c:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
41139f:	56                   	push   %esi
4113a0:	8d 70 ff             	lea    -0x1(%eax),%esi
4113a3:	8a 0e                	mov    (%esi),%cl
4113a5:	84 c9                	test   %cl,%cl
4113a7:	78 07                	js     0x4113b0
4113a9:	8b f0                	mov    %eax,%esi
4113ab:	e9 9b 00 00 00       	jmp    0x41144b
4113b0:	33 d2                	xor    %edx,%edx
4113b2:	0f b6 c1             	movzbl %cl,%eax
4113b5:	42                   	inc    %edx
4113b6:	eb 0e                	jmp    0x4113c6
4113b8:	83 fa 04             	cmp    $0x4,%edx
4113bb:	77 12                	ja     0x4113cf
4113bd:	3b f3                	cmp    %ebx,%esi
4113bf:	72 0e                	jb     0x4113cf
4113c1:	4e                   	dec    %esi
4113c2:	42                   	inc    %edx
4113c3:	0f b6 06             	movzbl (%esi),%eax
4113c6:	80 b8 70 18 42 00 00 	cmpb   $0x0,0x421870(%eax)
4113cd:	74 e9                	je     0x4113b8
4113cf:	8a 0e                	mov    (%esi),%cl
4113d1:	0f b6 c1             	movzbl %cl,%eax
4113d4:	0f be 80 70 18 42 00 	movsbl 0x421870(%eax),%eax
4113db:	85 c0                	test   %eax,%eax
4113dd:	75 10                	jne    0x4113ef
4113df:	e8 4b 93 ff ff       	call   0x40a72f
4113e4:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4113ea:	e9 88 00 00 00       	jmp    0x411477
4113ef:	40                   	inc    %eax
4113f0:	3b c2                	cmp    %edx,%eax
4113f2:	75 04                	jne    0x4113f8
4113f4:	03 f2                	add    %edx,%esi
4113f6:	eb 53                	jmp    0x41144b
4113f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4113fb:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
411400:	74 35                	je     0x411437
411402:	46                   	inc    %esi
411403:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
411407:	83 fa 02             	cmp    $0x2,%edx
41140a:	72 11                	jb     0x41141d
41140c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41140f:	8a 0e                	mov    (%esi),%cl
411411:	46                   	inc    %esi
411412:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
411419:	88 4c 07 2b          	mov    %cl,0x2b(%edi,%eax,1)
41141d:	83 fa 03             	cmp    $0x3,%edx
411420:	75 11                	jne    0x411433
411422:	8b 45 fc             	mov    -0x4(%ebp),%eax
411425:	8a 0e                	mov    (%esi),%cl
411427:	46                   	inc    %esi
411428:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
41142f:	88 4c 07 2c          	mov    %cl,0x2c(%edi,%eax,1)
411433:	2b f2                	sub    %edx,%esi
411435:	eb 14                	jmp    0x41144b
411437:	f7 da                	neg    %edx
411439:	8b c2                	mov    %edx,%eax
41143b:	6a 01                	push   $0x1
41143d:	99                   	cltd
41143e:	52                   	push   %edx
41143f:	50                   	push   %eax
411440:	ff 75 08             	push   0x8(%ebp)
411443:	e8 f7 f9 ff ff       	call   0x410e3f
411448:	83 c4 10             	add    $0x10,%esp
41144b:	ff 75 18             	push   0x18(%ebp)
41144e:	2b f3                	sub    %ebx,%esi
411450:	ff 75 14             	push   0x14(%ebp)
411453:	56                   	push   %esi
411454:	53                   	push   %ebx
411455:	6a 00                	push   $0x0
411457:	68 e9 fd 00 00       	push   $0xfde9
41145c:	e8 13 db ff ff       	call   0x40ef74
411461:	8b d8                	mov    %eax,%ebx
411463:	83 c4 18             	add    $0x18,%esp
411466:	85 db                	test   %ebx,%ebx
411468:	75 12                	jne    0x41147c
41146a:	ff 15 28 90 41 00    	call   *0x419028
411470:	50                   	push   %eax
411471:	e8 5f 92 ff ff       	call   0x40a6d5
411476:	59                   	pop    %ecx
411477:	83 c8 ff             	or     $0xffffffff,%eax
41147a:	eb 23                	jmp    0x41149f
41147c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41147f:	3b de                	cmp    %esi,%ebx
411481:	0f 94 c1             	sete   %cl
411484:	fe c9                	dec    %cl
411486:	8b 14 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%edx
41148d:	80 e1 02             	and    $0x2,%cl
411490:	8a 44 17 2d          	mov    0x2d(%edi,%edx,1),%al
411494:	24 fd                	and    $0xfd,%al
411496:	0a c8                	or     %al,%cl
411498:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
41149b:	88 4c 17 2d          	mov    %cl,0x2d(%edi,%edx,1)
41149f:	5e                   	pop    %esi
4114a0:	5f                   	pop    %edi
4114a1:	5b                   	pop    %ebx
4114a2:	c9                   	leave
4114a3:	c3                   	ret
4114a4:	8b ff                	mov    %edi,%edi
4114a6:	55                   	push   %ebp
4114a7:	8b ec                	mov    %esp,%ebp
4114a9:	51                   	push   %ecx
4114aa:	8b 45 10             	mov    0x10(%ebp),%eax
4114ad:	56                   	push   %esi
4114ae:	57                   	push   %edi
4114af:	8b 7d 0c             	mov    0xc(%ebp),%edi
4114b2:	8b cf                	mov    %edi,%ecx
4114b4:	8b f7                	mov    %edi,%esi
4114b6:	8d 14 47             	lea    (%edi,%eax,2),%edx
4114b9:	3b fa                	cmp    %edx,%edi
4114bb:	73 5a                	jae    0x411517
4114bd:	53                   	push   %ebx
4114be:	0f b7 01             	movzwl (%ecx),%eax
4114c1:	83 f8 1a             	cmp    $0x1a,%eax
4114c4:	74 36                	je     0x4114fc
4114c6:	83 f8 0d             	cmp    $0xd,%eax
4114c9:	75 15                	jne    0x4114e0
4114cb:	8d 59 02             	lea    0x2(%ecx),%ebx
4114ce:	3b da                	cmp    %edx,%ebx
4114d0:	73 0e                	jae    0x4114e0
4114d2:	6a 0a                	push   $0xa
4114d4:	5f                   	pop    %edi
4114d5:	66 39 3b             	cmp    %di,(%ebx)
4114d8:	75 06                	jne    0x4114e0
4114da:	8b c7                	mov    %edi,%eax
4114dc:	6a 04                	push   $0x4
4114de:	eb 02                	jmp    0x4114e2
4114e0:	6a 02                	push   $0x2
4114e2:	8d 7e 02             	lea    0x2(%esi),%edi
4114e5:	66 89 06             	mov    %ax,(%esi)
4114e8:	5b                   	pop    %ebx
4114e9:	89 7d fc             	mov    %edi,-0x4(%ebp)
4114ec:	03 cb                	add    %ebx,%ecx
4114ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4114f1:	8b f0                	mov    %eax,%esi
4114f3:	8b 7d 0c             	mov    0xc(%ebp),%edi
4114f6:	3b ca                	cmp    %edx,%ecx
4114f8:	72 c4                	jb     0x4114be
4114fa:	eb 1a                	jmp    0x411516
4114fc:	8b 45 08             	mov    0x8(%ebp),%eax
4114ff:	8b c8                	mov    %eax,%ecx
411501:	83 e0 3f             	and    $0x3f,%eax
411504:	c1 f9 06             	sar    $0x6,%ecx
411507:	6b d0 38             	imul   $0x38,%eax,%edx
41150a:	8b 0c 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%ecx
411511:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
411516:	5b                   	pop    %ebx
411517:	2b f7                	sub    %edi,%esi
411519:	83 e6 fe             	and    $0xfffffffe,%esi
41151c:	5f                   	pop    %edi
41151d:	8b c6                	mov    %esi,%eax
41151f:	5e                   	pop    %esi
411520:	c9                   	leave
411521:	c3                   	ret
411522:	6a 14                	push   $0x14
411524:	68 c8 02 42 00       	push   $0x4202c8
411529:	e8 72 29 ff ff       	call   0x403ea0
41152e:	8b 75 08             	mov    0x8(%ebp),%esi
411531:	83 fe fe             	cmp    $0xfffffffe,%esi
411534:	75 1b                	jne    0x411551
411536:	e8 e1 91 ff ff       	call   0x40a71c
41153b:	83 20 00             	andl   $0x0,(%eax)
41153e:	e8 ec 91 ff ff       	call   0x40a72f
411543:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
411549:	83 c8 ff             	or     $0xffffffff,%eax
41154c:	e9 cc 00 00 00       	jmp    0x41161d
411551:	85 f6                	test   %esi,%esi
411553:	78 0d                	js     0x411562
411555:	3b 35 a8 23 42 00    	cmp    0x4223a8,%esi
41155b:	73 05                	jae    0x411562
41155d:	33 c0                	xor    %eax,%eax
41155f:	40                   	inc    %eax
411560:	eb 02                	jmp    0x411564
411562:	33 c0                	xor    %eax,%eax
411564:	85 c0                	test   %eax,%eax
411566:	75 1a                	jne    0x411582
411568:	e8 af 91 ff ff       	call   0x40a71c
41156d:	83 20 00             	andl   $0x0,(%eax)
411570:	e8 ba 91 ff ff       	call   0x40a72f
411575:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41157b:	e8 49 5f ff ff       	call   0x4074c9
411580:	eb c7                	jmp    0x411549
411582:	8b ce                	mov    %esi,%ecx
411584:	c1 f9 06             	sar    $0x6,%ecx
411587:	89 4d e0             	mov    %ecx,-0x20(%ebp)
41158a:	8b c6                	mov    %esi,%eax
41158c:	83 e0 3f             	and    $0x3f,%eax
41158f:	6b d0 38             	imul   $0x38,%eax,%edx
411592:	89 55 dc             	mov    %edx,-0x24(%ebp)
411595:	8b 04 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%eax
41159c:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
4115a1:	74 c5                	je     0x411568
4115a3:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
4115aa:	76 15                	jbe    0x4115c1
4115ac:	e8 6b 91 ff ff       	call   0x40a71c
4115b1:	83 20 00             	andl   $0x0,(%eax)
4115b4:	e8 76 91 ff ff       	call   0x40a72f
4115b9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4115bf:	eb ba                	jmp    0x41157b
4115c1:	56                   	push   %esi
4115c2:	e8 b8 e0 ff ff       	call   0x40f67f
4115c7:	59                   	pop    %ecx
4115c8:	83 cb ff             	or     $0xffffffff,%ebx
4115cb:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4115ce:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4115d2:	8b 45 e0             	mov    -0x20(%ebp),%eax
4115d5:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
4115dc:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4115df:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
4115e4:	75 15                	jne    0x4115fb
4115e6:	e8 44 91 ff ff       	call   0x40a72f
4115eb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4115f1:	e8 26 91 ff ff       	call   0x40a71c
4115f6:	83 20 00             	andl   $0x0,(%eax)
4115f9:	eb 14                	jmp    0x41160f
4115fb:	ff 75 10             	push   0x10(%ebp)
4115fe:	ff 75 0c             	push   0xc(%ebp)
411601:	56                   	push   %esi
411602:	e8 34 00 00 00       	call   0x41163b
411607:	83 c4 0c             	add    $0xc,%esp
41160a:	8b d8                	mov    %eax,%ebx
41160c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41160f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411616:	e8 18 00 00 00       	call   0x411633
41161b:	8b c3                	mov    %ebx,%eax
41161d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411620:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411627:	59                   	pop    %ecx
411628:	5f                   	pop    %edi
411629:	5e                   	pop    %esi
41162a:	5b                   	pop    %ebx
41162b:	c9                   	leave
41162c:	c3                   	ret
41162d:	8b 75 08             	mov    0x8(%ebp),%esi
411630:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
411633:	56                   	push   %esi
411634:	e8 fb e0 ff ff       	call   0x40f734
411639:	59                   	pop    %ecx
41163a:	c3                   	ret
41163b:	8b ff                	mov    %edi,%edi
41163d:	55                   	push   %ebp
41163e:	8b ec                	mov    %esp,%ebp
411640:	8b 55 08             	mov    0x8(%ebp),%edx
411643:	83 ec 24             	sub    $0x24,%esp
411646:	53                   	push   %ebx
411647:	57                   	push   %edi
411648:	83 fa fe             	cmp    $0xfffffffe,%edx
41164b:	75 18                	jne    0x411665
41164d:	e8 ca 90 ff ff       	call   0x40a71c
411652:	83 20 00             	andl   $0x0,(%eax)
411655:	e8 d5 90 ff ff       	call   0x40a72f
41165a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
411660:	e9 5a 03 00 00       	jmp    0x4119bf
411665:	85 d2                	test   %edx,%edx
411667:	0f 88 3a 03 00 00    	js     0x4119a7
41166d:	3b 15 a8 23 42 00    	cmp    0x4223a8,%edx
411673:	0f 83 2e 03 00 00    	jae    0x4119a7
411679:	8b c2                	mov    %edx,%eax
41167b:	8b ca                	mov    %edx,%ecx
41167d:	c1 e9 06             	shr    $0x6,%ecx
411680:	83 e0 3f             	and    $0x3f,%eax
411683:	6b f8 38             	imul   $0x38,%eax,%edi
411686:	33 db                	xor    %ebx,%ebx
411688:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41168b:	43                   	inc    %ebx
41168c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41168f:	8b 04 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%eax
411696:	89 7d f0             	mov    %edi,-0x10(%ebp)
411699:	8a 4c 07 28          	mov    0x28(%edi,%eax,1),%cl
41169d:	88 4d ff             	mov    %cl,-0x1(%ebp)
4116a0:	84 cb                	test   %cl,%bl
4116a2:	0f 84 ff 02 00 00    	je     0x4119a7
4116a8:	8b 4d 10             	mov    0x10(%ebp),%ecx
4116ab:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx