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)
4487f3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4487f7:	8b 74 24 14          	mov    0x14(%esp),%esi
4487fb:	c1 e1 05             	shl    $0x5,%ecx
4487fe:	8b 46 04             	mov    0x4(%esi),%eax
448801:	89 54 01 04          	mov    %edx,0x4(%ecx,%eax,1)
448805:	8b 4c 24 10          	mov    0x10(%esp),%ecx
448809:	8b 46 04             	mov    0x4(%esi),%eax
44880c:	8b 54 24 24          	mov    0x24(%esp),%edx
448810:	c1 e1 05             	shl    $0x5,%ecx
448813:	89 54 01 08          	mov    %edx,0x8(%ecx,%eax,1)
448817:	8b 4c 24 10          	mov    0x10(%esp),%ecx
44881b:	8d 44 24 30          	lea    0x30(%esp),%eax
44881f:	50                   	push   %eax
448820:	8b 46 04             	mov    0x4(%esi),%eax
448823:	c1 e1 05             	shl    $0x5,%ecx
448826:	83 c0 0c             	add    $0xc,%eax
448829:	03 c8                	add    %eax,%ecx
44882b:	e8 bd e6 fb ff       	call   0x406eed
448830:	8b 44 24 20          	mov    0x20(%esp),%eax
448834:	0f af 44 24 1c       	imul   0x1c(%esp),%eax
448839:	8b 54 24 18          	mov    0x18(%esp),%edx
44883d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
448841:	03 d0                	add    %eax,%edx
448843:	8b 46 04             	mov    0x4(%esi),%eax
448846:	c1 e1 05             	shl    $0x5,%ecx
448849:	89 54 24 18          	mov    %edx,0x18(%esp)
44884d:	89 54 01 1c          	mov    %edx,0x1c(%ecx,%eax,1)
448851:	8b 4d 20             	mov    0x20(%ebp),%ecx
448854:	8b 44 24 1c          	mov    0x1c(%esp),%eax
448858:	3b 01                	cmp    (%ecx),%eax
44885a:	7e 02                	jle    0x44885e
44885c:	89 01                	mov    %eax,(%ecx)
44885e:	ff 44 24 10          	incl   0x10(%esp)
448862:	8b 43 04             	mov    0x4(%ebx),%eax
448865:	39 07                	cmp    %eax,(%edi)
448867:	0f 82 6a fc ff ff    	jb     0x4484d7
44886d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
448871:	8b 7d 1c             	mov    0x1c(%ebp),%edi
448874:	74 6c                	je     0x4488e2
448876:	8b 45 10             	mov    0x10(%ebp),%eax
448879:	ff 30                	push   (%eax)
44887b:	8b 45 20             	mov    0x20(%ebp),%eax
44887e:	ff 30                	push   (%eax)
448880:	ff 37                	push   (%edi)
448882:	e8 77 fa ff ff       	call   0x4482fe
448887:	8b 5c 24 14          	mov    0x14(%esp),%ebx
44888b:	8b f0                	mov    %eax,%esi
44888d:	8b 45 18             	mov    0x18(%ebp),%eax
448890:	03 37                	add    (%edi),%esi
448892:	8b 10                	mov    (%eax),%edx
448894:	3b 54 24 10          	cmp    0x10(%esp),%edx
448898:	7d 21                	jge    0x4488bb
44889a:	8b ca                	mov    %edx,%ecx
44889c:	6a 20                	push   $0x20
44889e:	c1 e1 05             	shl    $0x5,%ecx
4488a1:	5f                   	pop    %edi
4488a2:	8b 43 04             	mov    0x4(%ebx),%eax
4488a5:	01 34 01             	add    %esi,(%ecx,%eax,1)
4488a8:	8b 43 04             	mov    0x4(%ebx),%eax
4488ab:	01 74 01 1c          	add    %esi,0x1c(%ecx,%eax,1)
4488af:	42                   	inc    %edx
4488b0:	03 cf                	add    %edi,%ecx
4488b2:	3b 54 24 10          	cmp    0x10(%esp),%edx
4488b6:	7c ea                	jl     0x4488a2
4488b8:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4488bb:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4488bf:	8b 43 04             	mov    0x4(%ebx),%eax
4488c2:	c1 e1 05             	shl    $0x5,%ecx
4488c5:	8b 74 01 fc          	mov    -0x4(%ecx,%eax,1),%esi
4488c9:	89 74 24 18          	mov    %esi,0x18(%esp)
4488cd:	eb 17                	jmp    0x4488e6
4488cf:	8b ce                	mov    %esi,%ecx
4488d1:	e8 e0 00 00 00       	call   0x4489b6
4488d6:	6a 02                	push   $0x2
4488d8:	58                   	pop    %eax
4488d9:	eb 03                	jmp    0x4488de
4488db:	33 c0                	xor    %eax,%eax
4488dd:	40                   	inc    %eax
4488de:	8b d8                	mov    %eax,%ebx
4488e0:	eb 23                	jmp    0x448905
4488e2:	8b 74 24 18          	mov    0x18(%esp),%esi
4488e6:	8b 45 10             	mov    0x10(%ebp),%eax
4488e9:	ff 30                	push   (%eax)
4488eb:	8b 45 20             	mov    0x20(%ebp),%eax
4488ee:	ff 30                	push   (%eax)
4488f0:	56                   	push   %esi
4488f1:	e8 08 fa ff ff       	call   0x4482fe
4488f6:	8b 4d 18             	mov    0x18(%ebp),%ecx
4488f9:	03 c6                	add    %esi,%eax
4488fb:	89 07                	mov    %eax,(%edi)
4488fd:	8b 44 24 10          	mov    0x10(%esp),%eax
448901:	89 01                	mov    %eax,(%ecx)
448903:	33 db                	xor    %ebx,%ebx
448905:	8d 4c 24 30          	lea    0x30(%esp),%ecx
448909:	e8 29 42 fc ff       	call   0x40cb37
44890e:	8d 4c 24 40          	lea    0x40(%esp),%ecx
448912:	e8 20 42 fc ff       	call   0x40cb37
448917:	8d 4c 24 50          	lea    0x50(%esp),%ecx
44891b:	e8 17 42 fc ff       	call   0x40cb37
448920:	5f                   	pop    %edi
448921:	5e                   	pop    %esi
448922:	8b c3                	mov    %ebx,%eax
448924:	5b                   	pop    %ebx
448925:	8b e5                	mov    %ebp,%esp
448927:	5d                   	pop    %ebp
448928:	c2 1c 00             	ret    $0x1c
44892b:	55                   	push   %ebp
44892c:	8b ec                	mov    %esp,%ebp
44892e:	53                   	push   %ebx
44892f:	56                   	push   %esi
448930:	8b 75 08             	mov    0x8(%ebp),%esi
448933:	57                   	push   %edi
448934:	8b d9                	mov    %ecx,%ebx
448936:	6a 04                	push   $0x4
448938:	8b ce                	mov    %esi,%ecx
44893a:	e8 a5 4c fc ff       	call   0x40d5e4
44893f:	84 c0                	test   %al,%al
448941:	74 3d                	je     0x448980
448943:	8b 7d 0c             	mov    0xc(%ebp),%edi
448946:	83 27 00             	andl   $0x0,(%edi)
448949:	83 3b 00             	cmpl   $0x0,(%ebx)
44894c:	7e 3e                	jle    0x44898c
44894e:	8b 0f                	mov    (%edi),%ecx
448950:	8b 43 04             	mov    0x4(%ebx),%eax
448953:	c1 e1 05             	shl    $0x5,%ecx
448956:	8b 74 01 0c          	mov    0xc(%ecx,%eax,1),%esi
44895a:	8b 4d 08             	mov    0x8(%ebp),%ecx
44895d:	e8 0a 0a fc ff       	call   0x40936c
448962:	8b 4d 08             	mov    0x8(%ebp),%ecx
448965:	56                   	push   %esi
448966:	8b 41 08             	mov    0x8(%ecx),%eax
448969:	ff 30                	push   (%eax)
44896b:	e8 37 86 fd ff       	call   0x420fa7
448970:	59                   	pop    %ecx
448971:	59                   	pop    %ecx
448972:	85 c0                	test   %eax,%eax
448974:	74 16                	je     0x44898c
448976:	ff 07                	incl   (%edi)
448978:	8b 07                	mov    (%edi),%eax
44897a:	3b 03                	cmp    (%ebx),%eax
44897c:	7c d0                	jl     0x44894e
44897e:	eb 0c                	jmp    0x44898c
448980:	8b ce                	mov    %esi,%ecx
448982:	e8 ff 48 fc ff       	call   0x40d286
448987:	8b 7d 0c             	mov    0xc(%ebp),%edi
44898a:	89 07                	mov    %eax,(%edi)
44898c:	8b 0f                	mov    (%edi),%ecx
44898e:	3b 0b                	cmp    (%ebx),%ecx
448990:	7d 12                	jge    0x4489a4
448992:	85 c9                	test   %ecx,%ecx
448994:	78 0e                	js     0x4489a4
448996:	8b 43 04             	mov    0x4(%ebx),%eax
448999:	c1 e1 05             	shl    $0x5,%ecx
44899c:	8b 04 01             	mov    (%ecx,%eax,1),%eax
44899f:	03 43 08             	add    0x8(%ebx),%eax
4489a2:	eb 0b                	jmp    0x4489af
4489a4:	8b 45 10             	mov    0x10(%ebp),%eax
4489a7:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
4489ad:	33 c0                	xor    %eax,%eax
4489af:	5f                   	pop    %edi
4489b0:	5e                   	pop    %esi
4489b1:	5b                   	pop    %ebx
4489b2:	5d                   	pop    %ebp
4489b3:	c2 0c 00             	ret    $0xc
4489b6:	56                   	push   %esi
4489b7:	8b f1                	mov    %ecx,%esi
4489b9:	57                   	push   %edi
4489ba:	8b 4e 04             	mov    0x4(%esi),%ecx
4489bd:	33 ff                	xor    %edi,%edi
4489bf:	85 c9                	test   %ecx,%ecx
4489c1:	74 09                	je     0x4489cc
4489c3:	51                   	push   %ecx
4489c4:	e8 15 f9 ff ff       	call   0x4482de
4489c9:	89 7e 04             	mov    %edi,0x4(%esi)
4489cc:	8b 46 10             	mov    0x10(%esi),%eax