44834a:	83 c3 04             	add    $0x4,%ebx
44834d:	89 5d d0             	mov    %ebx,-0x30(%ebp)
448350:	e9 4b c9 fc ff       	jmp    0x414ca0
448355:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
44835c:	e9 45 09 00 00       	jmp    0x448ca6
448361:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
448368:	8b c3                	mov    %ebx,%eax
44836a:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
448371:	2b 46 74             	sub    0x74(%esi),%eax
448374:	d1 f8                	sar    $1,%eax
448376:	89 45 d8             	mov    %eax,-0x28(%ebp)
448379:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
44837f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
448382:	81 ff 88 00 00 00    	cmp    $0x88,%edi
448388:	72 0a                	jb     0x448394
44838a:	c7 86 9c 00 00 00 02 	movl   $0x2,0x9c(%esi)
448391:	00 00 00
448394:	8b 45 18             	mov    0x18(%ebp),%eax
448397:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44839a:	40                   	inc    %eax
44839b:	50                   	push   %eax
44839c:	ff 75 14             	push   0x14(%ebp)
44839f:	0f b7 03             	movzwl (%ebx),%eax
4483a2:	56                   	push   %esi
4483a3:	ff 75 0c             	push   0xc(%ebp)
4483a6:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
4483ad:	ff 75 08             	push   0x8(%ebp)
4483b0:	8d 14 43             	lea    (%ebx,%eax,2),%edx
4483b3:	e8 08 c6 fc ff       	call   0x4149c0
4483b8:	8b c8                	mov    %eax,%ecx
4483ba:	83 c4 14             	add    $0x14,%esp
4483bd:	81 f9 1a fc ff ff    	cmp    $0xfffffc1a,%ecx
4483c3:	0f 85 cc 09 00 00    	jne    0x448d95
4483c9:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
4483cf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4483d2:	89 45 0c             	mov    %eax,0xc(%ebp)
4483d5:	8b 46 74             	mov    0x74(%esi),%eax
4483d8:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
4483df:	8d 1c 48             	lea    (%eax,%ecx,2),%ebx
4483e2:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
4483e8:	89 45 08             	mov    %eax,0x8(%ebp)
4483eb:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
4483f1:	39 45 f8             	cmp    %eax,-0x8(%ebp)
4483f4:	0f 84 ec 09 00 00    	je     0x448de6
4483fa:	89 45 f8             	mov    %eax,-0x8(%ebp)
4483fd:	eb 83                	jmp    0x448382
4483ff:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
448403:	83 c3 04             	add    $0x4,%ebx
448406:	89 45 e0             	mov    %eax,-0x20(%ebp)
448409:	66 83 3b 76          	cmpw   $0x76,(%ebx)
44840d:	0f 85 ca 00 00 00    	jne    0x4484dd
448413:	83 3d 24 75 4c 00 00 	cmpl   $0x0,0x4c7524
44841a:	0f 84 b4 00 00 00    	je     0x4484d4
448420:	c7 85 64 ff ff ff 02 	movl   $0x2,-0x9c(%ebp)
448427:	00 00 00
44842a:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
44842e:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
448434:	8b 46 0c             	mov    0xc(%esi),%eax
448437:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
44843d:	8b 46 78             	mov    0x78(%esi),%eax
448440:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
448446:	8b 46 7c             	mov    0x7c(%esi),%eax
448449:	2b 46 78             	sub    0x78(%esi),%eax
44844c:	d1 f8                	sar    $1,%eax
44844e:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
448454:	8b 45 08             	mov    0x8(%ebp),%eax
448457:	2b 46 78             	sub    0x78(%esi),%eax
44845a:	d1 f8                	sar    $1,%eax
44845c:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
448462:	8b 45 f8             	mov    -0x8(%ebp),%eax
448465:	2b 46 78             	sub    0x78(%esi),%eax
448468:	d1 f8                	sar    $1,%eax
44846a:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
448470:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
448474:	89 45 8c             	mov    %eax,-0x74(%ebp)
448477:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
44847b:	89 45 90             	mov    %eax,-0x70(%ebp)
44847e:	8b 45 0c             	mov    0xc(%ebp),%eax
448481:	99                   	cltd
448482:	2b c2                	sub    %edx,%eax
448484:	d1 f8                	sar    $1,%eax
448486:	89 45 80             	mov    %eax,-0x80(%ebp)
448489:	0f b7 86 94 00 00 00 	movzwl 0x94(%esi),%eax
448490:	89 45 84             	mov    %eax,-0x7c(%ebp)
448493:	85 c0                	test   %eax,%eax
448495:	75 07                	jne    0x44849e
448497:	c7 45 84 ff ff ff ff 	movl   $0xffffffff,-0x7c(%ebp)
44849e:	8b 86 ac 00 00 00    	mov    0xac(%esi),%eax
4484a4:	89 45 88             	mov    %eax,-0x78(%ebp)
4484a7:	8b 86 b4 00 00 00    	mov    0xb4(%esi),%eax
4484ad:	89 45 94             	mov    %eax,-0x6c(%ebp)
4484b0:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
4484b6:	50                   	push   %eax
4484b7:	ff 15 24 75 4c 00    	call   *0x4c7524
4484bd:	83 c4 04             	add    $0x4,%esp
4484c0:	85 c0                	test   %eax,%eax
4484c2:	0f 8f 96 cb fc ff    	jg     0x41505e
4484c8:	0f 88 6f c6 fc ff    	js     0x414b3d
4484ce:	8b 55 f8             	mov    -0x8(%ebp),%edx
4484d1:	8b 45 e0             	mov    -0x20(%ebp),%eax
4484d4:	83 c3 08             	add    $0x8,%ebx
4484d7:	83 e8 04             	sub    $0x4,%eax
4484da:	89 45 e0             	mov    %eax,-0x20(%ebp)
4484dd:	0f b7 03             	movzwl (%ebx),%eax
4484e0:	33 c9                	xor    %ecx,%ecx
4484e2:	89 45 cc             	mov    %eax,-0x34(%ebp)
4484e5:	05 73 ff ff ff       	add    $0xffffff73,%eax
4484ea:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4484ed:	83 f8 10             	cmp    $0x10,%eax
4484f0:	0f 87 08 01 00 00    	ja     0x4485fe
4484f6:	0f b6 80 7f 01 45 00 	movzbl 0x45017f(%eax),%eax
4484fd:	ff 24 85 67 01 45 00 	jmp    *0x450167(,%eax,4)
448504:	8b 8e a8 00 00 00    	mov    0xa8(%esi),%ecx
44850a:	85 c9                	test   %ecx,%ecx
44850c:	0f 84 8c 01 00 00    	je     0x44869e
448512:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
448516:	3d ff ff 00 00       	cmp    $0xffff,%eax
44851b:	0f 84 80 00 00 00    	je     0x4485a1
448521:	3b 41 04             	cmp    0x4(%ecx),%eax
448524:	74 7b                	je     0x4485a1
448526:	33 c9                	xor    %ecx,%ecx
448528:	e9 74 01 00 00       	jmp    0x4486a1
44852d:	39 8e a8 00 00 00    	cmp    %ecx,0xa8(%esi)
448533:	0f 84 68 01 00 00    	je     0x4486a1
448539:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
44853d:	0f af 4e 24          	imul   0x24(%esi),%ecx
448541:	8b 46 30             	mov    0x30(%esi),%eax
448544:	8d 04 48             	lea    (%eax,%ecx,2),%eax
448547:	0f b7 4b 04          	movzwl 0x4(%ebx),%ecx
44854b:	89 45 d8             	mov    %eax,-0x28(%ebp)
44854e:	85 c9                	test   %ecx,%ecx
448550:	0f 8e 48 01 00 00    	jle    0x44869e
448556:	8b 86 a8 00 00 00    	mov    0xa8(%esi),%eax
44855c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
448563:	8b 40 04             	mov    0x4(%eax),%eax
448566:	89 45 ec             	mov    %eax,-0x14(%ebp)
448569:	8b 45 d8             	mov    -0x28(%ebp),%eax
44856c:	49                   	dec    %ecx
44856d:	0f b7 00             	movzwl (%eax),%eax
448570:	3b 45 ec             	cmp    -0x14(%ebp),%eax
448573:	74 2c                	je     0x4485a1
448575:	8b 55 d8             	mov    -0x28(%ebp),%edx
448578:	8b 46 24             	mov    0x24(%esi),%eax
44857b:	8d 14 42             	lea    (%edx,%eax,2),%edx
44857e:	89 55 d8             	mov    %edx,-0x28(%ebp)
448581:	8b 55 f8             	mov    -0x8(%ebp),%edx
448584:	85 c9                	test   %ecx,%ecx
448586:	7f e1                	jg     0x448569
448588:	e9 11 01 00 00       	jmp    0x44869e
44858d:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
448591:	03 c9                	add    %ecx,%ecx
448593:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
448596:	7d 8e                	jge    0x448526
448598:	8b 46 0c             	mov    0xc(%esi),%eax
44859b:	83 3c 88 00          	cmpl   $0x0,(%eax,%ecx,4)
44859f:	7c 85                	jl     0x448526
4485a1:	b9 01 00 00 00       	mov    $0x1,%ecx
4485a6:	e9 d5 00 00 00       	jmp    0x448680
4485ab:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
4485af:	0f af 4e 24          	imul   0x24(%esi),%ecx
4485b3:	8b 46 30             	mov    0x30(%esi),%eax
4485b6:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4485b9:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
4485bd:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4485c0:	85 c0                	test   %eax,%eax
4485c2:	0f 8e d6 00 00 00    	jle    0x44869e
4485c8:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4485cf:	0f b7 09             	movzwl (%ecx),%ecx
4485d2:	48                   	dec    %eax
4485d3:	03 c9                	add    %ecx,%ecx
4485d5:	89 45 d8             	mov    %eax,-0x28(%ebp)
4485d8:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
4485db:	7d 09                	jge    0x4485e6
4485dd:	8b 46 0c             	mov    0xc(%esi),%eax
4485e0:	83 3c 88 00          	cmpl   $0x0,(%eax,%ecx,4)
4485e4:	7d bb                	jge    0x4485a1
4485e6:	8b 46 24             	mov    0x24(%esi),%eax
4485e9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4485ec:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
4485ef:	8b 45 d8             	mov    -0x28(%ebp),%eax
4485f2:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4485f5:	85 c0                	test   %eax,%eax
4485f7:	7f d6                	jg     0x4485cf
4485f9:	e9 a0 00 00 00       	jmp    0x44869e
4485fe:	8b 4d f8             	mov    -0x8(%ebp),%ecx
448601:	8b d3                	mov    %ebx,%edx
448603:	c7 86 9c 00 00 00 01 	movl   $0x1,0x9c(%esi)
44860a:	00 00 00
44860d:	8b 45 18             	mov    0x18(%ebp),%eax
448610:	40                   	inc    %eax
448611:	50                   	push   %eax
448612:	6a 00                	push   $0x0
448614:	56                   	push   %esi
448615:	ff 75 0c             	push   0xc(%ebp)
448618:	ff 75 08             	push   0x8(%ebp)
44861b:	e8 a0 c3 fc ff       	call   0x4149c0
448620:	83 c4 14             	add    $0x14,%esp
448623:	83 f8 01             	cmp    $0x1,%eax
448626:	75 64                	jne    0x44868c
448628:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
44862e:	3b 45 0c             	cmp    0xc(%ebp),%eax
448631:	7e 03                	jle    0x448636
448633:	89 45 0c             	mov    %eax,0xc(%ebp)
448636:	b8 92 00 00 00       	mov    $0x92,%eax
44863b:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
448642:	66 39 03             	cmp    %ax,(%ebx)
448645:	75 03                	jne    0x44864a
448647:	83 c3 02             	add    $0x2,%ebx
44864a:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
44864e:	66 83 3c 43 77       	cmpw   $0x77,(%ebx,%eax,2)
448653:	8d 14 43             	lea    (%ebx,%eax,2),%edx
448656:	75 0e                	jne    0x448666
448658:	0f b7 42 02          	movzwl 0x2(%edx),%eax
44865c:	66 83 3c 42 77       	cmpw   $0x77,(%edx,%eax,2)
448661:	8d 14 42             	lea    (%edx,%eax,2),%edx
448664:	74 f2                	je     0x448658
448666:	8b 45 cc             	mov    -0x34(%ebp),%eax
448669:	b9 02 00 00 00       	mov    $0x2,%ecx
44866e:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
448675:	2b c8                	sub    %eax,%ecx
448677:	8d 1c 4a             	lea    (%edx,%ecx,2),%ebx
44867a:	8b 55 f8             	mov    -0x8(%ebp),%edx
44867d:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
448680:	8b 45 cc             	mov    -0x34(%ebp),%eax
448683:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
44868a:	eb 18                	jmp    0x4486a4
44868c:	85 c0                	test   %eax,%eax
44868e:	74 0b                	je     0x44869b
448690:	3d 20 fc ff ff       	cmp    $0xfffffc20,%eax
448695:	0f 85 a2 c4 fc ff    	jne    0x414b3d
44869b:	8b 55 f8             	mov    -0x8(%ebp),%edx
44869e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4486a1:	8b 45 e0             	mov    -0x20(%ebp),%eax
4486a4:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
4486a7:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4486aa:	85 c9                	test   %ecx,%ecx
4486ac:	75 0b                	jne    0x4486b9
4486ae:	66 83 7b fc 77       	cmpw   $0x77,-0x4(%ebx)
4486b3:	0f 85 66 c3 fc ff    	jne    0x414a1f
4486b9:	81 ff 8c 00 00 00    	cmp    $0x8c,%edi
4486bf:	0f 85 c3 c4 fc ff    	jne    0x414b88
4486c5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4486c8:	8b d3                	mov    %ebx,%edx
4486ca:	c7 86 9c 00 00 00 02 	movl   $0x2,0x9c(%esi)
4486d1:	00 00 00
4486d4:	8b 45 18             	mov    0x18(%ebp),%eax
4486d7:	40                   	inc    %eax
4486d8:	50                   	push   %eax
4486d9:	ff 75 14             	push   0x14(%ebp)
4486dc:	56                   	push   %esi
4486dd:	ff 75 0c             	push   0xc(%ebp)
4486e0:	ff 75 08             	push   0x8(%ebp)
4486e3:	e8 d8 c2 fc ff       	call   0x4149c0
4486e8:	83 c4 14             	add    $0x14,%esp
4486eb:	e9 4d c4 fc ff       	jmp    0x414b3d
4486f0:	0f b7 7b 02          	movzwl 0x2(%ebx),%edi
4486f4:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
4486fa:	25 00 00 ff ff       	and    $0xffff0000,%eax
4486ff:	0b c7                	or     %edi,%eax
448701:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
448704:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
44870a:	3b 4e 14             	cmp    0x14(%esi),%ecx
44870d:	7c 0d                	jl     0x44871c
44870f:	0d 00 00 01 00       	or     $0x10000,%eax
448714:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
44871a:	eb 49                	jmp    0x448765
44871c:	8b 46 10             	mov    0x10(%esi),%eax
44871f:	8d 14 3f             	lea    (%edi,%edi,1),%edx
448722:	8b 4e 0c             	mov    0xc(%esi),%ecx
448725:	2b c7                	sub    %edi,%eax
448727:	8b 04 81             	mov    (%ecx,%eax,4),%eax
44872a:	89 04 91             	mov    %eax,(%ecx,%edx,4)
44872d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
448730:	2b 4e 78             	sub    0x78(%esi),%ecx
448733:	8b 46 0c             	mov    0xc(%esi),%eax
448736:	d1 f9                	sar    $1,%ecx
448738:	89 4c 90 04          	mov    %ecx,0x4(%eax,%edx,4)
44873c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44873f:	3b d1                	cmp    %ecx,%edx
448741:	7c 1f                	jl     0x448762
448743:	8b 46 0c             	mov    0xc(%esi),%eax
448746:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
448749:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
44874c:	3b f9                	cmp    %ecx,%edi
44874e:	73 0c                	jae    0x44875c
448750:	2b cf                	sub    %edi,%ecx
448752:	49                   	dec    %ecx
448753:	c1 e9 02             	shr    $0x2,%ecx
448756:	41                   	inc    %ecx
448757:	83 c8 ff             	or     $0xffffffff,%eax
44875a:	f3 ab                	rep stos %eax,%es:(%edi)
44875c:	8d 42 02             	lea    0x2(%edx),%eax
44875f:	89 45 0c             	mov    %eax,0xc(%ebp)
448762:	8b 55 f8             	mov    -0x8(%ebp),%edx
448765:	83 c3 04             	add    $0x4,%ebx
448768:	89 5d d0             	mov    %ebx,-0x30(%ebp)
44876b:	e9 af c2 fc ff       	jmp    0x414a1f
448770:	83 be 9c 00 00 00 01 	cmpl   $0x1,0x9c(%esi)
448777:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
44877d:	89 45 ec             	mov    %eax,-0x14(%ebp)
448780:	75 11                	jne    0x448793
448782:	bf 01 00 00 00       	mov    $0x1,%edi
448787:	c7 86 9c 00 00 00 00 	movl   $0x0,0x9c(%esi)
44878e:	00 00 00
448791:	eb 02                	jmp    0x448795
448793:	33 ff                	xor    %edi,%edi
448795:	8b 45 18             	mov    0x18(%ebp),%eax
448798:	8d 53 04             	lea    0x4(%ebx),%edx
44879b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44879e:	40                   	inc    %eax
44879f:	50                   	push   %eax
4487a0:	6a 00                	push   $0x0
4487a2:	56                   	push   %esi
4487a3:	ff 75 0c             	push   0xc(%ebp)
4487a6:	ff 75 08             	push   0x8(%ebp)
4487a9:	e8 12 c2 fc ff       	call   0x4149c0
4487ae:	8b c8                	mov    %eax,%ecx
4487b0:	83 c4 14             	add    $0x14,%esp
4487b3:	83 f9 01             	cmp    $0x1,%ecx
4487b6:	74 56                	je     0x44880e
4487b8:	81 f9 19 fc ff ff    	cmp    $0xfffffc19,%ecx
4487be:	74 4e                	je     0x44880e
4487c0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4487c3:	89 86 b0 00 00 00    	mov    %eax,0xb0(%esi)
4487c9:	81 f9 20 fc ff ff    	cmp    $0xfffffc20,%ecx
4487cf:	75 25                	jne    0x4487f6
4487d1:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
4487d5:	8d 04 43             	lea    (%ebx,%eax,2),%eax
4487d8:	39 86 80 00 00 00    	cmp    %eax,0x80(%esi)
4487de:	0f 83 45 fa ff ff    	jae    0x448229
4487e4:	66 83 3b 77          	cmpw   $0x77,(%ebx)
4487e8:	74 14                	je     0x4487fe
4487ea:	66 83 38 77          	cmpw   $0x77,(%eax)
4487ee:	0f 85 35 fa ff ff    	jne    0x448229
4487f4:	eb 08                	jmp    0x4487fe
4487f6:	85 c9                	test   %ecx,%ecx
4487f8:	0f 85 2b fa ff ff    	jne    0x448229
4487fe:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
448802:	66 83 3c 43 77       	cmpw   $0x77,(%ebx,%eax,2)
448807:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
44880a:	74 89                	je     0x448795
44880c:	eb 09                	jmp    0x448817
44880e:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
448814:	89 45 08             	mov    %eax,0x8(%ebp)
448817:	66 83 3b 78          	cmpw   $0x78,(%ebx)
44881b:	0f 84 3d c8 fc ff    	je     0x41505e
448821:	85 ff                	test   %edi,%edi
448823:	0f 85 0f c3 fc ff    	jne    0x414b38
448829:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
44882d:	66 83 3c 43 77       	cmpw   $0x77,(%ebx,%eax,2)