414302:	2b f0                	sub    %eax,%esi
414304:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
41430a:	6a 00                	push   $0x0
41430c:	50                   	push   %eax
41430d:	56                   	push   %esi
41430e:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
414314:	50                   	push   %eax
414315:	57                   	push   %edi
414316:	ff 15 80 c0 41 00    	call   *0x41c080
41431c:	85 c0                	test   %eax,%eax
41431e:	74 1c                	je     0x41433c
414320:	8b 85 f8 eb ff ff    	mov    -0x1408(%ebp),%eax
414326:	01 43 04             	add    %eax,0x4(%ebx)
414329:	3b c6                	cmp    %esi,%eax
41432b:	72 17                	jb     0x414344
41432d:	8b 4d 10             	mov    0x10(%ebp),%ecx
414330:	8b 95 f4 eb ff ff    	mov    -0x140c(%ebp),%edx
414336:	3b ca                	cmp    %edx,%ecx
414338:	72 9d                	jb     0x4142d7
41433a:	eb 08                	jmp    0x414344
41433c:	ff 15 48 c1 41 00    	call   *0x41c148
414342:	89 03                	mov    %eax,(%ebx)
414344:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414347:	8b c3                	mov    %ebx,%eax
414349:	5f                   	pop    %edi
41434a:	5e                   	pop    %esi
41434b:	33 cd                	xor    %ebp,%ecx
41434d:	5b                   	pop    %ebx
41434e:	e8 a2 48 ff ff       	call   0x408bf5
414353:	c9                   	leave
414354:	c3                   	ret
414355:	8b ff                	mov    %edi,%edi
414357:	55                   	push   %ebp
414358:	8b ec                	mov    %esp,%ebp
41435a:	b8 10 14 00 00       	mov    $0x1410,%eax
41435f:	e8 cc 50 00 00       	call   0x419430
414364:	a1 18 60 42 00       	mov    0x426018,%eax
414369:	33 c5                	xor    %ebp,%eax
41436b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41436e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414371:	8b c1                	mov    %ecx,%eax
414373:	8b 55 14             	mov    0x14(%ebp),%edx
414376:	83 e1 3f             	and    $0x3f,%ecx
414379:	c1 f8 06             	sar    $0x6,%eax
41437c:	6b c9 38             	imul   $0x38,%ecx,%ecx
41437f:	53                   	push   %ebx
414380:	8b 5d 08             	mov    0x8(%ebp),%ebx
414383:	8b 04 85 18 70 42 00 	mov    0x427018(,%eax,4),%eax
41438a:	56                   	push   %esi
41438b:	57                   	push   %edi
41438c:	8b fb                	mov    %ebx,%edi
41438e:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
414392:	8b 4d 10             	mov    0x10(%ebp),%ecx
414395:	03 d1                	add    %ecx,%edx
414397:	89 85 f8 eb ff ff    	mov    %eax,-0x1408(%ebp)
41439d:	33 c0                	xor    %eax,%eax
41439f:	ab                   	stos   %eax,%es:(%edi)
4143a0:	89 95 f0 eb ff ff    	mov    %edx,-0x1410(%ebp)
4143a6:	ab                   	stos   %eax,%es:(%edi)
4143a7:	ab                   	stos   %eax,%es:(%edi)
4143a8:	eb 75                	jmp    0x41441f
4143aa:	8d b5 fc eb ff ff    	lea    -0x1404(%ebp),%esi
4143b0:	3b ca                	cmp    %edx,%ecx
4143b2:	73 25                	jae    0x4143d9
4143b4:	0f b7 01             	movzwl (%ecx),%eax
4143b7:	83 c1 02             	add    $0x2,%ecx
4143ba:	83 f8 0a             	cmp    $0xa,%eax
4143bd:	75 0d                	jne    0x4143cc
4143bf:	83 43 08 02          	addl   $0x2,0x8(%ebx)
4143c3:	6a 0d                	push   $0xd
4143c5:	5f                   	pop    %edi
4143c6:	66 89 3e             	mov    %di,(%esi)
4143c9:	83 c6 02             	add    $0x2,%esi
4143cc:	66 89 06             	mov    %ax,(%esi)
4143cf:	83 c6 02             	add    $0x2,%esi
4143d2:	8d 45 fa             	lea    -0x6(%ebp),%eax
4143d5:	3b f0                	cmp    %eax,%esi
4143d7:	72 d7                	jb     0x4143b0
4143d9:	8b bd f8 eb ff ff    	mov    -0x1408(%ebp),%edi
4143df:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
4143e5:	2b f0                	sub    %eax,%esi
4143e7:	89 4d 10             	mov    %ecx,0x10(%ebp)
4143ea:	6a 00                	push   $0x0
4143ec:	8d 85 f4 eb ff ff    	lea    -0x140c(%ebp),%eax
4143f2:	83 e6 fe             	and    $0xfffffffe,%esi
4143f5:	50                   	push   %eax
4143f6:	56                   	push   %esi
4143f7:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
4143fd:	50                   	push   %eax
4143fe:	57                   	push   %edi
4143ff:	ff 15 80 c0 41 00    	call   *0x41c080
414405:	85 c0                	test   %eax,%eax
414407:	74 1c                	je     0x414425
414409:	8b 85 f4 eb ff ff    	mov    -0x140c(%ebp),%eax
41440f:	01 43 04             	add    %eax,0x4(%ebx)
414412:	3b c6                	cmp    %esi,%eax
414414:	72 17                	jb     0x41442d
414416:	8b 4d 10             	mov    0x10(%ebp),%ecx
414419:	8b 95 f0 eb ff ff    	mov    -0x1410(%ebp),%edx
41441f:	3b ca                	cmp    %edx,%ecx
414421:	72 87                	jb     0x4143aa
414423:	eb 08                	jmp    0x41442d
414425:	ff 15 48 c1 41 00    	call   *0x41c148
41442b:	89 03                	mov    %eax,(%ebx)
41442d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414430:	8b c3                	mov    %ebx,%eax
414432:	5f                   	pop    %edi
414433:	5e                   	pop    %esi
414434:	33 cd                	xor    %ebp,%ecx
414436:	5b                   	pop    %ebx
414437:	e8 b9 47 ff ff       	call   0x408bf5
41443c:	c9                   	leave
41443d:	c3                   	ret
41443e:	8b ff                	mov    %edi,%edi
414440:	55                   	push   %ebp
414441:	8b ec                	mov    %esp,%ebp
414443:	b8 18 14 00 00       	mov    $0x1418,%eax
414448:	e8 e3 4f 00 00       	call   0x419430
41444d:	a1 18 60 42 00       	mov    0x426018,%eax
414452:	33 c5                	xor    %ebp,%eax
414454:	89 45 fc             	mov    %eax,-0x4(%ebp)
414457:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41445a:	8b c1                	mov    %ecx,%eax
41445c:	8b 55 10             	mov    0x10(%ebp),%edx
41445f:	83 e1 3f             	and    $0x3f,%ecx
414462:	c1 f8 06             	sar    $0x6,%eax
414465:	6b c9 38             	imul   $0x38,%ecx,%ecx
414468:	53                   	push   %ebx
414469:	56                   	push   %esi
41446a:	8b 04 85 18 70 42 00 	mov    0x427018(,%eax,4),%eax
414471:	8b 75 08             	mov    0x8(%ebp),%esi
414474:	57                   	push   %edi
414475:	8b fe                	mov    %esi,%edi
414477:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
41447b:	8b 4d 14             	mov    0x14(%ebp),%ecx
41447e:	89 85 f0 eb ff ff    	mov    %eax,-0x1410(%ebp)
414484:	03 ca                	add    %edx,%ecx
414486:	33 c0                	xor    %eax,%eax
414488:	89 8d f4 eb ff ff    	mov    %ecx,-0x140c(%ebp)
41448e:	ab                   	stos   %eax,%es:(%edi)
41448f:	ab                   	stos   %eax,%es:(%edi)
414490:	ab                   	stos   %eax,%es:(%edi)
414491:	8b fa                	mov    %edx,%edi
414493:	3b d1                	cmp    %ecx,%edx
414495:	0f 83 c4 00 00 00    	jae    0x41455f
41449b:	8b b5 f4 eb ff ff    	mov    -0x140c(%ebp),%esi
4144a1:	8d 85 50 f9 ff ff    	lea    -0x6b0(%ebp),%eax
4144a7:	3b fe                	cmp    %esi,%edi
4144a9:	73 21                	jae    0x4144cc
4144ab:	0f b7 0f             	movzwl (%edi),%ecx
4144ae:	83 c7 02             	add    $0x2,%edi
4144b1:	83 f9 0a             	cmp    $0xa,%ecx
4144b4:	75 09                	jne    0x4144bf
4144b6:	6a 0d                	push   $0xd
4144b8:	5a                   	pop    %edx
4144b9:	66 89 10             	mov    %dx,(%eax)
4144bc:	83 c0 02             	add    $0x2,%eax
4144bf:	66 89 08             	mov    %cx,(%eax)
4144c2:	83 c0 02             	add    $0x2,%eax
4144c5:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4144c8:	3b c1                	cmp    %ecx,%eax
4144ca:	72 db                	jb     0x4144a7
4144cc:	6a 00                	push   $0x0
4144ce:	6a 00                	push   $0x0
4144d0:	68 55 0d 00 00       	push   $0xd55
4144d5:	8d 8d f8 eb ff ff    	lea    -0x1408(%ebp),%ecx
4144db:	51                   	push   %ecx
4144dc:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
4144e2:	2b c1                	sub    %ecx,%eax
4144e4:	d1 f8                	sar    $1,%eax
4144e6:	50                   	push   %eax
4144e7:	8b c1                	mov    %ecx,%eax
4144e9:	50                   	push   %eax
4144ea:	6a 00                	push   $0x0
4144ec:	68 e9 fd 00 00       	push   $0xfde9
4144f1:	e8 4f bb ff ff       	call   0x410045
4144f6:	8b 75 08             	mov    0x8(%ebp),%esi
4144f9:	83 c4 20             	add    $0x20,%esp
4144fc:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
414502:	85 c0                	test   %eax,%eax
414504:	74 51                	je     0x414557
414506:	33 db                	xor    %ebx,%ebx
414508:	85 c0                	test   %eax,%eax
41450a:	74 35                	je     0x414541
41450c:	6a 00                	push   $0x0
41450e:	8d 8d ec eb ff ff    	lea    -0x1414(%ebp),%ecx
414514:	2b c3                	sub    %ebx,%eax
414516:	51                   	push   %ecx
414517:	50                   	push   %eax
414518:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
41451e:	03 c3                	add    %ebx,%eax
414520:	50                   	push   %eax
414521:	ff b5 f0 eb ff ff    	push   -0x1410(%ebp)
414527:	ff 15 80 c0 41 00    	call   *0x41c080
41452d:	85 c0                	test   %eax,%eax
41452f:	74 26                	je     0x414557
414531:	03 9d ec eb ff ff    	add    -0x1414(%ebp),%ebx
414537:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
41453d:	3b d8                	cmp    %eax,%ebx
41453f:	72 cb                	jb     0x41450c
414541:	8b c7                	mov    %edi,%eax
414543:	2b 45 10             	sub    0x10(%ebp),%eax
414546:	89 46 04             	mov    %eax,0x4(%esi)
414549:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
41454f:	0f 82 46 ff ff ff    	jb     0x41449b
414555:	eb 08                	jmp    0x41455f
414557:	ff 15 48 c1 41 00    	call   *0x41c148
41455d:	89 06                	mov    %eax,(%esi)
41455f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414562:	8b c6                	mov    %esi,%eax
414564:	5f                   	pop    %edi
414565:	5e                   	pop    %esi
414566:	33 cd                	xor    %ebp,%ecx
414568:	5b                   	pop    %ebx
414569:	e8 87 46 ff ff       	call   0x408bf5
41456e:	c9                   	leave
41456f:	c3                   	ret
414570:	6a 10                	push   $0x10
414572:	68 e0 40 42 00       	push   $0x4240e0
414577:	e8 54 44 ff ff       	call   0x4089d0
41457c:	8b 75 08             	mov    0x8(%ebp),%esi
41457f:	83 fe fe             	cmp    $0xfffffffe,%esi
414582:	75 18                	jne    0x41459c
414584:	e8 37 a7 ff ff       	call   0x40ecc0
414589:	83 20 00             	andl   $0x0,(%eax)
41458c:	e8 42 a7 ff ff       	call   0x40ecd3
414591:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
414597:	e9 b3 00 00 00       	jmp    0x41464f
41459c:	85 f6                	test   %esi,%esi
41459e:	0f 88 93 00 00 00    	js     0x414637
4145a4:	3b 35 18 72 42 00    	cmp    0x427218,%esi
4145aa:	0f 83 87 00 00 00    	jae    0x414637
4145b0:	8b de                	mov    %esi,%ebx
4145b2:	c1 fb 06             	sar    $0x6,%ebx
4145b5:	8b c6                	mov    %esi,%eax
4145b7:	83 e0 3f             	and    $0x3f,%eax
4145ba:	6b c8 38             	imul   $0x38,%eax,%ecx
4145bd:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4145c0:	8b 04 9d 18 70 42 00 	mov    0x427018(,%ebx,4),%eax
4145c7:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
4145cc:	74 69                	je     0x414637
4145ce:	56                   	push   %esi
4145cf:	e8 13 be ff ff       	call   0x4103e7
4145d4:	59                   	pop    %ecx
4145d5:	83 cf ff             	or     $0xffffffff,%edi
4145d8:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4145db:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4145df:	8b 04 9d 18 70 42 00 	mov    0x427018(,%ebx,4),%eax
4145e6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4145e9:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
4145ee:	75 15                	jne    0x414605
4145f0:	e8 de a6 ff ff       	call   0x40ecd3
4145f5:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4145fb:	e8 c0 a6 ff ff       	call   0x40ecc0
414600:	83 20 00             	andl   $0x0,(%eax)
414603:	eb 14                	jmp    0x414619
414605:	ff 75 10             	push   0x10(%ebp)
414608:	ff 75 0c             	push   0xc(%ebp)
41460b:	56                   	push   %esi
41460c:	e8 51 00 00 00       	call   0x414662
414611:	83 c4 0c             	add    $0xc,%esp
414614:	8b f8                	mov    %eax,%edi
414616:	89 7d e4             	mov    %edi,-0x1c(%ebp)
414619:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
414620:	e8 0a 00 00 00       	call   0x41462f
414625:	8b c7                	mov    %edi,%eax
414627:	eb 29                	jmp    0x414652
414629:	8b 75 08             	mov    0x8(%ebp),%esi
41462c:	8b 7d e4             	mov    -0x1c(%ebp),%edi
41462f:	56                   	push   %esi
414630:	e8 d5 bd ff ff       	call   0x41040a
414635:	59                   	pop    %ecx
414636:	c3                   	ret
414637:	e8 84 a6 ff ff       	call   0x40ecc0
41463c:	83 20 00             	andl   $0x0,(%eax)
41463f:	e8 8f a6 ff ff       	call   0x40ecd3
414644:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41464a:	e8 c7 a5 ff ff       	call   0x40ec16
41464f:	83 c8 ff             	or     $0xffffffff,%eax
414652:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414655:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41465c:	59                   	pop    %ecx
41465d:	5f                   	pop    %edi
41465e:	5e                   	pop    %esi
41465f:	5b                   	pop    %ebx
414660:	c9                   	leave
414661:	c3                   	ret
414662:	8b ff                	mov    %edi,%edi
414664:	55                   	push   %ebp
414665:	8b ec                	mov    %esp,%ebp
414667:	83 ec 28             	sub    $0x28,%esp
41466a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41466d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414670:	53                   	push   %ebx
414671:	56                   	push   %esi
414672:	8b 75 08             	mov    0x8(%ebp),%esi
414675:	57                   	push   %edi
414676:	8b 7d 0c             	mov    0xc(%ebp),%edi
414679:	89 7d f4             	mov    %edi,-0xc(%ebp)
41467c:	85 c9                	test   %ecx,%ecx
41467e:	0f 84 b1 01 00 00    	je     0x414835
414684:	85 ff                	test   %edi,%edi
414686:	75 20                	jne    0x4146a8
414688:	e8 33 a6 ff ff       	call   0x40ecc0
41468d:	83 20 00             	andl   $0x0,(%eax)
414690:	e8 3e a6 ff ff       	call   0x40ecd3
414695:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41469b:	e8 76 a5 ff ff       	call   0x40ec16
4146a0:	83 c8 ff             	or     $0xffffffff,%eax
4146a3:	e9 8f 01 00 00       	jmp    0x414837
4146a8:	8b c6                	mov    %esi,%eax
4146aa:	8b d6                	mov    %esi,%edx
4146ac:	c1 fa 06             	sar    $0x6,%edx
4146af:	83 e0 3f             	and    $0x3f,%eax
4146b2:	6b c0 38             	imul   $0x38,%eax,%eax
4146b5:	89 55 f0             	mov    %edx,-0x10(%ebp)
4146b8:	8b 14 95 18 70 42 00 	mov    0x427018(,%edx,4),%edx
4146bf:	89 45 f8             	mov    %eax,-0x8(%ebp)
4146c2:	8a 5c 02 29          	mov    0x29(%edx,%eax,1),%bl
4146c6:	80 fb 02             	cmp    $0x2,%bl
4146c9:	74 05                	je     0x4146d0
4146cb:	80 fb 01             	cmp    $0x1,%bl
4146ce:	75 0b                	jne    0x4146db
4146d0:	8b c1                	mov    %ecx,%eax
4146d2:	f7 d0                	not    %eax
4146d4:	a8 01                	test   $0x1,%al
4146d6:	74 b0                	je     0x414688
4146d8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4146db:	f6 44 02 28 20       	testb  $0x20,0x28(%edx,%eax,1)
4146e0:	74 0f                	je     0x4146f1
4146e2:	6a 02                	push   $0x2
4146e4:	6a 00                	push   $0x0
4146e6:	6a 00                	push   $0x0
4146e8:	56                   	push   %esi
4146e9:	e8 df 21 00 00       	call   0x4168cd
4146ee:	83 c4 10             	add    $0x10,%esp
4146f1:	56                   	push   %esi
4146f2:	e8 12 fb ff ff       	call   0x414209
4146f7:	59                   	pop    %ecx
4146f8:	84 c0                	test   %al,%al
4146fa:	74 39                	je     0x414735
4146fc:	84 db                	test   %bl,%bl
4146fe:	74 22                	je     0x414722
414700:	fe cb                	dec    %bl
414702:	80 fb 01             	cmp    $0x1,%bl
414705:	0f 87 f4 00 00 00    	ja     0x4147ff
41470b:	ff 75 fc             	push   -0x4(%ebp)
41470e:	8d 45 d8             	lea    -0x28(%ebp),%eax
414711:	57                   	push   %edi
414712:	50                   	push   %eax