44840e:	50                   	push   %eax
44840f:	8d 45 0c             	lea    0xc(%ebp),%eax
448412:	50                   	push   %eax
448413:	53                   	push   %ebx
448414:	8b ce                	mov    %esi,%ecx
448416:	89 7e 04             	mov    %edi,0x4(%esi)
448419:	89 5d f0             	mov    %ebx,-0x10(%ebp)
44841c:	89 5d f4             	mov    %ebx,-0xc(%ebp)
44841f:	c7 45 ec 08 00 00 00 	movl   $0x8,-0x14(%ebp)
448426:	e8 5d 00 00 00       	call   0x448488
44842b:	8b f8                	mov    %eax,%edi
44842d:	85 ff                	test   %edi,%edi
44842f:	75 46                	jne    0x448477
448431:	8b 45 08             	mov    0x8(%ebp),%eax
448434:	8b 7d fc             	mov    -0x4(%ebp),%edi
448437:	89 7e 0c             	mov    %edi,0xc(%esi)
44843a:	85 c0                	test   %eax,%eax
44843c:	75 31                	jne    0x44846f
44843e:	6a 04                	push   $0x4
448440:	e8 a5 70 fd ff       	call   0x41f4ea
448445:	59                   	pop    %ecx
448446:	85 c0                	test   %eax,%eax
448448:	74 08                	je     0x448452
44844a:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
448450:	eb 02                	jmp    0x448454
448452:	8b c3                	mov    %ebx,%eax
448454:	57                   	push   %edi
448455:	89 46 10             	mov    %eax,0x10(%esi)
448458:	e8 8d 70 fd ff       	call   0x41f4ea
44845d:	ff 76 0c             	push   0xc(%esi)
448460:	89 46 08             	mov    %eax,0x8(%esi)
448463:	53                   	push   %ebx
448464:	50                   	push   %eax
448465:	e8 e6 88 fd ff       	call   0x420d50
44846a:	83 c4 10             	add    $0x10,%esp
44846d:	eb 06                	jmp    0x448475
44846f:	89 5e 10             	mov    %ebx,0x10(%esi)
448472:	89 46 08             	mov    %eax,0x8(%esi)
448475:	8b fb                	mov    %ebx,%edi
448477:	8d 4d 0c             	lea    0xc(%ebp),%ecx
44847a:	e8 b8 46 fc ff       	call   0x40cb37
44847f:	8b c7                	mov    %edi,%eax
448481:	5f                   	pop    %edi
448482:	5e                   	pop    %esi
448483:	5b                   	pop    %ebx
448484:	c9                   	leave
448485:	c2 14 00             	ret    $0x14
448488:	55                   	push   %ebp
448489:	8b ec                	mov    %esp,%ebp
44848b:	83 e4 f8             	and    $0xfffffff8,%esp
44848e:	83 ec 54             	sub    $0x54,%esp
448491:	8b 45 18             	mov    0x18(%ebp),%eax
448494:	83 64 24 0c 00       	andl   $0x0,0xc(%esp)
448499:	8b 00                	mov    (%eax),%eax
44849b:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
4484a0:	53                   	push   %ebx
4484a1:	56                   	push   %esi
4484a2:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4484a6:	33 d2                	xor    %edx,%edx
4484a8:	57                   	push   %edi
4484a9:	8d 4c 24 50          	lea    0x50(%esp),%ecx
4484ad:	89 44 24 10          	mov    %eax,0x10(%esp)
4484b1:	89 54 24 24          	mov    %edx,0x24(%esp)
4484b5:	e8 3d 53 fc ff       	call   0x40d7f7
4484ba:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4484be:	e8 34 53 fc ff       	call   0x40d7f7
4484c3:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4484c7:	e8 2b 53 fc ff       	call   0x40d7f7
4484cc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4484cf:	8b 7d 14             	mov    0x14(%ebp),%edi
4484d2:	e9 8b 03 00 00       	jmp    0x448862
4484d7:	6a 20                	push   $0x20
4484d9:	5e                   	pop    %esi
4484da:	8b 07                	mov    (%edi),%eax
4484dc:	50                   	push   %eax
4484dd:	8b cb                	mov    %ebx,%ecx
4484df:	e8 a2 9b fb ff       	call   0x402086
4484e4:	0f b7 00             	movzwl (%eax),%eax
4484e7:	66 3b c6             	cmp    %si,%ax
4484ea:	74 08                	je     0x4484f4
4484ec:	6a 09                	push   $0x9
4484ee:	59                   	pop    %ecx
4484ef:	66 3b c1             	cmp    %cx,%ax
4484f2:	75 04                	jne    0x4484f8
4484f4:	ff 07                	incl   (%edi)
4484f6:	eb e2                	jmp    0x4484da
4484f8:	8b 43 04             	mov    0x4(%ebx),%eax
4484fb:	39 07                	cmp    %eax,(%edi)
4484fd:	0f 83 6a 03 00 00    	jae    0x44886d
448503:	68 00 dc 49 00       	push   $0x49dc00
448508:	8d 4c 24 54          	lea    0x54(%esp),%ecx
44850c:	e8 52 e5 fb ff       	call   0x406a63
448511:	ff 37                	push   (%edi)
448513:	8b cb                	mov    %ebx,%ecx
448515:	e8 6c 9b fb ff       	call   0x402086
44851a:	0f b7 00             	movzwl (%eax),%eax
44851d:	50                   	push   %eax
44851e:	e8 76 91 fd ff       	call   0x421699
448523:	59                   	pop    %ecx
448524:	85 c0                	test   %eax,%eax
448526:	75 11                	jne    0x448539
448528:	ff 37                	push   (%edi)
44852a:	8b cb                	mov    %ebx,%ecx
44852c:	e8 55 9b fb ff       	call   0x402086
448531:	6a 5f                	push   $0x5f
448533:	59                   	pop    %ecx
448534:	66 39 08             	cmp    %cx,(%eax)
448537:	75 1e                	jne    0x448557
448539:	8b 0f                	mov    (%edi),%ecx
44853b:	51                   	push   %ecx
44853c:	8d 41 01             	lea    0x1(%ecx),%eax
44853f:	8b cb                	mov    %ebx,%ecx
448541:	89 07                	mov    %eax,(%edi)
448543:	e8 3e 9b fb ff       	call   0x402086
448548:	0f b7 00             	movzwl (%eax),%eax
44854b:	50                   	push   %eax
44854c:	8d 4c 24 54          	lea    0x54(%esp),%ecx
448550:	e8 44 42 fc ff       	call   0x40c799
448555:	eb ba                	jmp    0x448511
448557:	83 64 24 20 00       	andl   $0x0,0x20(%esp)
44855c:	68 00 dc 49 00       	push   $0x49dc00
448561:	8d 4c 24 34          	lea    0x34(%esp),%ecx
448565:	e8 f9 e4 fb ff       	call   0x406a63
44856a:	6a 20                	push   $0x20
44856c:	5e                   	pop    %esi
44856d:	8b 07                	mov    (%edi),%eax
44856f:	50                   	push   %eax
448570:	8b cb                	mov    %ebx,%ecx
448572:	e8 0f 9b fb ff       	call   0x402086
448577:	0f b7 00             	movzwl (%eax),%eax
44857a:	66 3b c6             	cmp    %si,%ax
44857d:	74 08                	je     0x448587
44857f:	6a 09                	push   $0x9
448581:	59                   	pop    %ecx
448582:	66 3b c1             	cmp    %cx,%ax
448585:	75 04                	jne    0x44858b
448587:	ff 07                	incl   (%edi)
448589:	eb e2                	jmp    0x44856d
44858b:	ff 37                	push   (%edi)
44858d:	8b cb                	mov    %ebx,%ecx
44858f:	e8 f2 9a fb ff       	call   0x402086
448594:	6a 5b                	push   $0x5b
448596:	59                   	pop    %ecx
448597:	66 39 08             	cmp    %cx,(%eax)
44859a:	74 46                	je     0x4485e2
44859c:	6a 5f                	push   $0x5f
44859e:	5e                   	pop    %esi
44859f:	ff 37                	push   (%edi)
4485a1:	8b cb                	mov    %ebx,%ecx
4485a3:	e8 de 9a fb ff       	call   0x402086
4485a8:	0f b7 00             	movzwl (%eax),%eax
4485ab:	50                   	push   %eax
4485ac:	e8 e8 90 fd ff       	call   0x421699
4485b1:	59                   	pop    %ecx
4485b2:	85 c0                	test   %eax,%eax
4485b4:	75 0e                	jne    0x4485c4
4485b6:	ff 37                	push   (%edi)
4485b8:	8b cb                	mov    %ebx,%ecx
4485ba:	e8 c7 9a fb ff       	call   0x402086
4485bf:	66 39 30             	cmp    %si,(%eax)
4485c2:	75 1e                	jne    0x4485e2
4485c4:	8b 0f                	mov    (%edi),%ecx
4485c6:	51                   	push   %ecx
4485c7:	8d 41 01             	lea    0x1(%ecx),%eax
4485ca:	8b cb                	mov    %ebx,%ecx
4485cc:	89 07                	mov    %eax,(%edi)
4485ce:	e8 b3 9a fb ff       	call   0x402086
4485d3:	0f b7 00             	movzwl (%eax),%eax
4485d6:	50                   	push   %eax
4485d7:	8d 4c 24 34          	lea    0x34(%esp),%ecx
4485db:	e8 b9 41 fc ff       	call   0x40c799
4485e0:	eb bd                	jmp    0x44859f
4485e2:	6a 20                	push   $0x20
4485e4:	5e                   	pop    %esi
4485e5:	8b 07                	mov    (%edi),%eax
4485e7:	50                   	push   %eax
4485e8:	8b cb                	mov    %ebx,%ecx
4485ea:	e8 97 9a fb ff       	call   0x402086
4485ef:	0f b7 00             	movzwl (%eax),%eax
4485f2:	66 3b c6             	cmp    %si,%ax
4485f5:	74 08                	je     0x4485ff
4485f7:	6a 09                	push   $0x9
4485f9:	59                   	pop    %ecx
4485fa:	66 3b c1             	cmp    %cx,%ax
4485fd:	75 04                	jne    0x448603
4485ff:	ff 07                	incl   (%edi)
448601:	eb e2                	jmp    0x4485e5
448603:	8b 07                	mov    (%edi),%eax
448605:	50                   	push   %eax
448606:	8b cb                	mov    %ebx,%ecx
448608:	e8 79 9a fb ff       	call   0x402086
44860d:	8b 74 24 14          	mov    0x14(%esp),%esi
448611:	6a 5b                	push   $0x5b
448613:	59                   	pop    %ecx
448614:	66 39 08             	cmp    %cx,(%eax)
448617:	75 71                	jne    0x44868a
448619:	ff 07                	incl   (%edi)
44861b:	68 00 dc 49 00       	push   $0x49dc00
448620:	8d 4c 24 44          	lea    0x44(%esp),%ecx
448624:	e8 3a e4 fb ff       	call   0x406a63
448629:	ff 37                	push   (%edi)
44862b:	8b cb                	mov    %ebx,%ecx
44862d:	e8 54 9a fb ff       	call   0x402086
448632:	0f b7 00             	movzwl (%eax),%eax
448635:	50                   	push   %eax
448636:	e8 84 90 fd ff       	call   0x4216bf
44863b:	59                   	pop    %ecx
44863c:	85 c0                	test   %eax,%eax
44863e:	74 1e                	je     0x44865e
448640:	8b 0f                	mov    (%edi),%ecx
448642:	51                   	push   %ecx
448643:	8d 41 01             	lea    0x1(%ecx),%eax
448646:	8b cb                	mov    %ebx,%ecx
448648:	89 07                	mov    %eax,(%edi)
44864a:	e8 37 9a fb ff       	call   0x402086
44864f:	0f b7 00             	movzwl (%eax),%eax
448652:	50                   	push   %eax
448653:	8d 4c 24 44          	lea    0x44(%esp),%ecx
448657:	e8 3d 41 fc ff       	call   0x40c799
44865c:	eb cb                	jmp    0x448629
44865e:	ff 74 24 40          	push   0x40(%esp)
448662:	e8 ba 8f fd ff       	call   0x421621
448667:	59                   	pop    %ecx
448668:	89 44 24 20          	mov    %eax,0x20(%esp)
44866c:	85 c0                	test   %eax,%eax
44866e:	0f 8e 5b 02 00 00    	jle    0x4488cf
448674:	8b 07                	mov    (%edi),%eax
448676:	50                   	push   %eax
448677:	8b cb                	mov    %ebx,%ecx
448679:	e8 08 9a fb ff       	call   0x402086
44867e:	66 83 38 5d          	cmpw   $0x5d,(%eax)
448682:	0f 85 47 02 00 00    	jne    0x4488cf
448688:	ff 07                	incl   (%edi)
44868a:	8b 07                	mov    (%edi),%eax
44868c:	50                   	push   %eax
44868d:	8b cb                	mov    %ebx,%ecx
44868f:	e8 f2 99 fb ff       	call   0x402086
448694:	66 83 38 3b          	cmpw   $0x3b,(%eax)
448698:	75 04                	jne    0x44869e
44869a:	ff 07                	incl   (%edi)
44869c:	eb 0b                	jmp    0x4486a9
44869e:	8b 07                	mov    (%edi),%eax
4486a0:	3b 43 04             	cmp    0x4(%ebx),%eax
4486a3:	0f 82 32 02 00 00    	jb     0x4488db
4486a9:	33 c9                	xor    %ecx,%ecx
4486ab:	b8 00 f8 4b 00       	mov    $0x4bf800,%eax
4486b0:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4486b4:	89 44 24 28          	mov    %eax,0x28(%esp)
4486b8:	85 c9                	test   %ecx,%ecx
4486ba:	75 5a                	jne    0x448716
4486bc:	ff 74 24 50          	push   0x50(%esp)
4486c0:	83 c0 e8             	add    $0xffffffe8,%eax
4486c3:	50                   	push   %eax
4486c4:	e8 1a 8f fd ff       	call   0x4215e3
4486c9:	59                   	pop    %ecx
4486ca:	85 c0                	test   %eax,%eax
4486cc:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4486d0:	59                   	pop    %ecx
4486d1:	75 29                	jne    0x4486fc
4486d3:	8b 08                	mov    (%eax),%ecx
4486d5:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4486d9:	f6 c1 31             	test   $0x31,%cl
4486dc:	74 0e                	je     0x4486ec
4486de:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
4486e3:	7e 07                	jle    0x4486ec
4486e5:	83 c9 04             	or     $0x4,%ecx
4486e8:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4486ec:	8b 48 fc             	mov    -0x4(%eax),%ecx
4486ef:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4486f3:	33 c9                	xor    %ecx,%ecx
4486f5:	41                   	inc    %ecx
4486f6:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
4486fa:	eb 04                	jmp    0x448700
4486fc:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
448700:	83 c0 1c             	add    $0x1c,%eax
448703:	89 44 24 28          	mov    %eax,0x28(%esp)
448707:	3d 80 fb 4b 00       	cmp    $0x4bfb80,%eax
44870c:	7c aa                	jl     0x4486b8
44870e:	85 c9                	test   %ecx,%ecx
448710:	0f 84 b9 01 00 00    	je     0x4488cf
448716:	8b 44 24 24          	mov    0x24(%esp),%eax
44871a:	3d 00 01 00 00       	cmp    $0x100,%eax
44871f:	75 4d                	jne    0x44876e
448721:	ff 0e                	decl   (%esi)
448723:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
448728:	0f 84 3f 01 00 00    	je     0x44886d
44872e:	83 64 24 2c 00       	andl   $0x0,0x2c(%esp)
448733:	8d 44 24 2c          	lea    0x2c(%esp),%eax
448737:	50                   	push   %eax
448738:	8d 44 24 1c          	lea    0x1c(%esp),%eax
44873c:	50                   	push   %eax
44873d:	8d 44 24 18          	lea    0x18(%esp),%eax
448741:	50                   	push   %eax
448742:	57                   	push   %edi
448743:	ff 75 10             	push   0x10(%ebp)
448746:	8b ce                	mov    %esi,%ecx
448748:	53                   	push   %ebx
448749:	6a 01                	push   $0x1
44874b:	e8 38 fd ff ff       	call   0x448488
448750:	85 c0                	test   %eax,%eax
448752:	0f 85 86 01 00 00    	jne    0x4488de
448758:	8b 4d 20             	mov    0x20(%ebp),%ecx
44875b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
44875f:	3b 01                	cmp    (%ecx),%eax
448761:	0f 8e fb 00 00 00    	jle    0x448862
448767:	89 01                	mov    %eax,(%ecx)
448769:	e9 f4 00 00 00       	jmp    0x448862
44876e:	3d 80 00 00 00       	cmp    $0x80,%eax
448773:	75 41                	jne    0x4487b6
448775:	ff 74 24 30          	push   0x30(%esp)
448779:	e8 a3 8e fd ff       	call   0x421621
44877e:	59                   	pop    %ecx
44877f:	8b 4d 10             	mov    0x10(%ebp),%ecx
448782:	89 01                	mov    %eax,(%ecx)
448784:	85 c0                	test   %eax,%eax
448786:	74 21                	je     0x4487a9
448788:	83 f8 01             	cmp    $0x1,%eax
44878b:	74 22                	je     0x4487af
44878d:	83 f8 02             	cmp    $0x2,%eax
448790:	74 1d                	je     0x4487af
448792:	83 f8 04             	cmp    $0x4,%eax
448795:	74 18                	je     0x4487af
448797:	83 f8 08             	cmp    $0x8,%eax
44879a:	74 13                	je     0x4487af
44879c:	83 f8 10             	cmp    $0x10,%eax
44879f:	74 0e                	je     0x4487af
4487a1:	6a 02                	push   $0x2
4487a3:	5b                   	pop    %ebx
4487a4:	e9 5c 01 00 00       	jmp    0x448905
4487a9:	c7 01 08 00 00 00    	movl   $0x8,(%ecx)
4487af:	ff 0e                	decl   (%esi)
4487b1:	e9 ac 00 00 00       	jmp    0x448862
4487b6:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
4487bb:	7f 08                	jg     0x4487c5
4487bd:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
4487c4:	00
4487c5:	8b 45 10             	mov    0x10(%ebp),%eax
4487c8:	8b 74 24 18          	mov    0x18(%esp),%esi
4487cc:	ff 30                	push   (%eax)
4487ce:	ff 74 24 20          	push   0x20(%esp)
4487d2:	56                   	push   %esi
4487d3:	e8 26 fb ff ff       	call   0x4482fe
4487d8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4487dc:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4487e0:	03 f0                	add    %eax,%esi
4487e2:	8b 44 24 14          	mov    0x14(%esp),%eax
4487e6:	c1 e1 05             	shl    $0x5,%ecx
4487e9:	8b 40 04             	mov    0x4(%eax),%eax
4487ec:	89 74 24 18          	mov    %esi,0x18(%esp)
4487f0:	89 34 01             	mov    %esi,(%ecx,%eax,1)