4475f2:	f7 46 04 00 02 00 00 	testl  $0x200,0x4(%esi)
4475f9:	89 45 ac             	mov    %eax,-0x54(%ebp)
4475fc:	75 03                	jne    0x447601
4475fe:	89 7d ac             	mov    %edi,-0x54(%ebp)
447601:	81 fb ff ff 00 00    	cmp    $0xffff,%ebx
447607:	75 11                	jne    0x44761a
447609:	8b 45 08             	mov    0x8(%ebp),%eax
44760c:	89 78 04             	mov    %edi,0x4(%eax)
44760f:	c6 40 04 02          	movb   $0x2,0x4(%eax)
447613:	89 38                	mov    %edi,(%eax)
447615:	e9 7b 0c 00 00       	jmp    0x448295
44761a:	81 fb fe ff 00 00    	cmp    $0xfffe,%ebx
447620:	75 15                	jne    0x447637
447622:	56                   	push   %esi
447623:	50                   	push   %eax
447624:	ff 75 08             	push   0x8(%ebp)
447627:	e8 0e fc ff ff       	call   0x44723a
44762c:	83 c4 0c             	add    $0xc,%esp
44762f:	8b 45 08             	mov    0x8(%ebp),%eax
447632:	e9 5e 0c 00 00       	jmp    0x448295
447637:	81 fb fd ff 00 00    	cmp    $0xfffd,%ebx
44763d:	75 0d                	jne    0x44764c
44763f:	8b 45 08             	mov    0x8(%ebp),%eax
447642:	89 08                	mov    %ecx,(%eax)
447644:	8b 4e 04             	mov    0x4(%esi),%ecx
447647:	e9 46 0c 00 00       	jmp    0x448292
44764c:	8b f3                	mov    %ebx,%esi
44764e:	81 e6 00 80 00 00    	and    $0x8000,%esi
447654:	89 75 b0             	mov    %esi,-0x50(%ebp)
447657:	0f 84 96 06 00 00    	je     0x447cf3
44765d:	8b d3                	mov    %ebx,%edx
44765f:	8b c3                	mov    %ebx,%eax
447661:	81 e2 00 18 00 00    	and    $0x1800,%edx
447667:	8b cb                	mov    %ebx,%ecx
447669:	25 00 10 00 00       	and    $0x1000,%eax
44766e:	89 55 dc             	mov    %edx,-0x24(%ebp)
447671:	81 e1 00 04 00 00    	and    $0x400,%ecx
447677:	89 45 ec             	mov    %eax,-0x14(%ebp)
44767a:	89 4d c8             	mov    %ecx,-0x38(%ebp)
44767d:	81 fa 00 08 00 00    	cmp    $0x800,%edx
447683:	75 05                	jne    0x44768a
447685:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
447688:	eb 09                	jmp    0x447693
44768a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44768d:	89 4d c8             	mov    %ecx,-0x38(%ebp)
447690:	89 45 ec             	mov    %eax,-0x14(%ebp)
447693:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
447696:	74 1b                	je     0x4476b3
447698:	89 45 ec             	mov    %eax,-0x14(%ebp)
44769b:	8b c3                	mov    %ebx,%eax
44769d:	25 00 1b 00 00       	and    $0x1b00,%eax
4476a2:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4476a5:	3d 00 10 00 00       	cmp    $0x1000,%eax
4476aa:	0f 84 43 06 00 00    	je     0x447cf3
4476b0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4476b3:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4476b6:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4476b9:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4476bf:	74 03                	je     0x4476c4
4476c1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4476c4:	8b 45 d8             	mov    -0x28(%ebp),%eax
4476c7:	25 00 1b 00 00       	and    $0x1b00,%eax
4476cc:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
4476cf:	74 16                	je     0x4476e7
4476d1:	3d 00 11 00 00       	cmp    $0x1100,%eax
4476d6:	0f 84 17 06 00 00    	je     0x447cf3
4476dc:	3d 00 12 00 00       	cmp    $0x1200,%eax
4476e1:	0f 84 0c 06 00 00    	je     0x447cf3
4476e7:	f7 c3 00 40 00 00    	test   $0x4000,%ebx
4476ed:	74 61                	je     0x447750
4476ef:	8b 0d d4 b3 4b 00    	mov    0x4bb3d4,%ecx
4476f5:	c1 e9 02             	shr    $0x2,%ecx
4476f8:	0b 0d d4 b3 4b 00    	or     0x4bb3d4,%ecx
4476fe:	d1 e9                	shr    $1,%ecx
447700:	f7 d1                	not    %ecx
447702:	f6 c1 01             	test   $0x1,%cl
447705:	74 30                	je     0x447737
447707:	8d 45 b4             	lea    -0x4c(%ebp),%eax
44770a:	50                   	push   %eax
44770b:	e8 58 10 00 00       	call   0x448768
447710:	59                   	pop    %ecx
447711:	6a 20                	push   $0x20
447713:	8d 4d 98             	lea    -0x68(%ebp),%ecx
447716:	8b f0                	mov    %eax,%esi
447718:	e8 a8 f6 ff ff       	call   0x446dc5
44771d:	56                   	push   %esi
44771e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
447721:	51                   	push   %ecx
447722:	8b c8                	mov    %eax,%ecx
447724:	e8 33 fb ff ff       	call   0x44725c
447729:	8b 45 f0             	mov    -0x10(%ebp),%eax
44772c:	89 45 f8             	mov    %eax,-0x8(%ebp)
44772f:	8b 45 f4             	mov    -0xc(%ebp),%eax
447732:	89 45 fc             	mov    %eax,-0x4(%ebp)
447735:	eb 13                	jmp    0x44774a
447737:	8d 45 f0             	lea    -0x10(%ebp),%eax
44773a:	50                   	push   %eax
44773b:	e8 28 10 00 00       	call   0x448768
447740:	59                   	pop    %ecx
447741:	50                   	push   %eax
447742:	8d 4d f8             	lea    -0x8(%ebp),%ecx
447745:	e8 9d fd ff ff       	call   0x4474e7
44774a:	8b 55 dc             	mov    -0x24(%ebp),%edx
44774d:	8b 4d c8             	mov    -0x38(%ebp),%ecx
447750:	8b 45 ec             	mov    -0x14(%ebp),%eax
447753:	8b f1                	mov    %ecx,%esi
447755:	81 fa 00 08 00 00    	cmp    $0x800,%edx
44775b:	74 02                	je     0x44775f
44775d:	8b f0                	mov    %eax,%esi
44775f:	85 f6                	test   %esi,%esi
447761:	0f 84 0a 01 00 00    	je     0x447871
447767:	81 fa 00 18 00 00    	cmp    $0x1800,%edx
44776d:	0f 85 fe 00 00 00    	jne    0x447871
447773:	8b 4d 0c             	mov    0xc(%ebp),%ecx
447776:	8d 45 b4             	lea    -0x4c(%ebp),%eax
447779:	6a 7b                	push   $0x7b
44777b:	50                   	push   %eax
44777c:	e8 fd fa ff ff       	call   0x44727e
447781:	8b f0                	mov    %eax,%esi
447783:	8d 45 f0             	lea    -0x10(%ebp),%eax
447786:	57                   	push   %edi
447787:	50                   	push   %eax
447788:	e8 3b 1f 00 00       	call   0x4496c8
44778d:	59                   	pop    %ecx
44778e:	59                   	pop    %ecx
44778f:	8d 45 f0             	lea    -0x10(%ebp),%eax
447792:	8b ce                	mov    %esi,%ecx
447794:	50                   	push   %eax
447795:	8d 45 98             	lea    -0x68(%ebp),%eax
447798:	50                   	push   %eax
447799:	e8 be fa ff ff       	call   0x44725c
44779e:	50                   	push   %eax
44779f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4477a2:	e8 5f fb ff ff       	call   0x447306
4477a7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4477aa:	50                   	push   %eax
4477ab:	e8 35 49 00 00       	call   0x44c0e5
4477b0:	be 00 10 00 00       	mov    $0x1000,%esi
4477b5:	59                   	pop    %ecx
4477b6:	85 35 d4 b3 4b 00    	test   %esi,0x4bb3d4
4477bc:	75 33                	jne    0x4477f1
4477be:	6a 2c                	push   $0x2c
4477c0:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4477c3:	e8 fd f5 ff ff       	call   0x446dc5
4477c8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4477cb:	51                   	push   %ecx
4477cc:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4477cf:	51                   	push   %ecx
4477d0:	8b c8                	mov    %eax,%ecx
4477d2:	e8 85 fa ff ff       	call   0x44725c
4477d7:	68 3c b9 49 00       	push   $0x49b93c
4477dc:	8d 45 a0             	lea    -0x60(%ebp),%eax
4477df:	50                   	push   %eax
4477e0:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4477e3:	e8 da fa ff ff       	call   0x4472c2
4477e8:	50                   	push   %eax
4477e9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4477ec:	e8 15 fb ff ff       	call   0x447306
4477f1:	68 40 b9 49 00       	push   $0x49b940
4477f6:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4477f9:	e8 fe fb ff ff       	call   0x4473fc
4477fe:	8d 45 f0             	lea    -0x10(%ebp),%eax
447801:	50                   	push   %eax
447802:	e8 cb 14 00 00       	call   0x448cd2
447807:	59                   	pop    %ecx
447808:	8b 0d d4 b3 4b 00    	mov    0x4bb3d4,%ecx
44780e:	8b c1                	mov    %ecx,%eax
447810:	d1 e8                	shr    $1,%eax
447812:	f7 d0                	not    %eax
447814:	a8 01                	test   $0x1,%al
447816:	0f 84 cf 04 00 00    	je     0x447ceb
44781c:	8b c1                	mov    %ecx,%eax
44781e:	c1 e8 04             	shr    $0x4,%eax
447821:	f7 d0                	not    %eax
447823:	a8 01                	test   $0x1,%al
447825:	0f 84 c0 04 00 00    	je     0x447ceb
44782b:	85 ce                	test   %ecx,%esi
44782d:	0f 85 b8 04 00 00    	jne    0x447ceb
447833:	6a 20                	push   $0x20
447835:	8d 4d 98             	lea    -0x68(%ebp),%ecx
447838:	e8 88 f5 ff ff       	call   0x446dc5
44783d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
447840:	51                   	push   %ecx
447841:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
447844:	51                   	push   %ecx
447845:	8b c8                	mov    %eax,%ecx
447847:	e8 10 fa ff ff       	call   0x44725c
44784c:	6a 20                	push   $0x20
44784e:	8d 45 a0             	lea    -0x60(%ebp),%eax
447851:	50                   	push   %eax
447852:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
447855:	e8 24 fa ff ff       	call   0x44727e
44785a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44785d:	51                   	push   %ecx
44785e:	8d 4d 90             	lea    -0x70(%ebp),%ecx
447861:	51                   	push   %ecx
447862:	8b c8                	mov    %eax,%ecx
447864:	e8 f3 f9 ff ff       	call   0x44725c
447869:	8b 7d b0             	mov    -0x50(%ebp),%edi
44786c:	e9 08 07 00 00       	jmp    0x447f79
447871:	89 7d b4             	mov    %edi,-0x4c(%ebp)
447874:	89 7d b8             	mov    %edi,-0x48(%ebp)
447877:	89 7d f0             	mov    %edi,-0x10(%ebp)
44787a:	89 7d f4             	mov    %edi,-0xc(%ebp)
44787d:	89 7d a0             	mov    %edi,-0x60(%ebp)
447880:	89 7d a4             	mov    %edi,-0x5c(%ebp)
447883:	89 7d e4             	mov    %edi,-0x1c(%ebp)
447886:	89 7d c0             	mov    %edi,-0x40(%ebp)
447889:	89 7d 98             	mov    %edi,-0x68(%ebp)
44788c:	89 7d 9c             	mov    %edi,-0x64(%ebp)
44788f:	81 fa 00 08 00 00    	cmp    $0x800,%edx
447895:	74 02                	je     0x447899
447897:	8b c8                	mov    %eax,%ecx
447899:	8b f3                	mov    %ebx,%esi
44789b:	81 e6 00 07 00 00    	and    $0x700,%esi
4478a1:	89 75 ec             	mov    %esi,-0x14(%ebp)
4478a4:	85 c9                	test   %ecx,%ecx
4478a6:	0f 84 a5 00 00 00    	je     0x447951
4478ac:	b9 00 08 00 00       	mov    $0x800,%ecx
4478b1:	3b d1                	cmp    %ecx,%edx
4478b3:	75 4f                	jne    0x447904
4478b5:	81 fe 00 06 00 00    	cmp    $0x600,%esi
4478bb:	75 47                	jne    0x447904
4478bd:	8d 45 e0             	lea    -0x20(%ebp),%eax
4478c0:	6a 01                	push   $0x1
4478c2:	50                   	push   %eax
4478c3:	e8 00 1e 00 00       	call   0x4496c8
4478c8:	8b 45 e0             	mov    -0x20(%ebp),%eax
4478cb:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4478ce:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4478d1:	89 45 b8             	mov    %eax,-0x48(%ebp)
4478d4:	8d 45 e0             	lea    -0x20(%ebp),%eax
4478d7:	6a 01                	push   $0x1
4478d9:	50                   	push   %eax
4478da:	e8 e9 1d 00 00       	call   0x4496c8
4478df:	8b 45 e0             	mov    -0x20(%ebp),%eax
4478e2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4478e5:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4478e8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4478eb:	8d 45 e0             	lea    -0x20(%ebp),%eax
4478ee:	6a 01                	push   $0x1
4478f0:	50                   	push   %eax
4478f1:	e8 d2 1d 00 00       	call   0x4496c8
4478f6:	8b 45 e0             	mov    -0x20(%ebp),%eax
4478f9:	83 c4 18             	add    $0x18,%esp
4478fc:	89 45 a0             	mov    %eax,-0x60(%ebp)
4478ff:	8b 45 e4             	mov    -0x1c(%ebp),%eax
447902:	eb 2c                	jmp    0x447930
447904:	89 75 ec             	mov    %esi,-0x14(%ebp)
447907:	8b c6                	mov    %esi,%eax
447909:	3b d1                	cmp    %ecx,%edx
44790b:	75 26                	jne    0x447933
44790d:	89 75 ec             	mov    %esi,-0x14(%ebp)
447910:	3d 00 05 00 00       	cmp    $0x500,%eax
447915:	75 1c                	jne    0x447933
447917:	8d 45 bc             	lea    -0x44(%ebp),%eax
44791a:	6a 01                	push   $0x1
44791c:	50                   	push   %eax
44791d:	e8 a6 1d 00 00       	call   0x4496c8
447922:	8b 45 bc             	mov    -0x44(%ebp),%eax
447925:	59                   	pop    %ecx
447926:	89 45 a0             	mov    %eax,-0x60(%ebp)
447929:	8b 45 c0             	mov    -0x40(%ebp),%eax
44792c:	59                   	pop    %ecx
44792d:	89 75 ec             	mov    %esi,-0x14(%ebp)
447930:	89 45 a4             	mov    %eax,-0x5c(%ebp)
447933:	8d 45 bc             	lea    -0x44(%ebp),%eax
447936:	6a 01                	push   $0x1
447938:	50                   	push   %eax
447939:	e8 8a 1d 00 00       	call   0x4496c8
44793e:	8b 45 bc             	mov    -0x44(%ebp),%eax
447941:	8b 55 dc             	mov    -0x24(%ebp),%edx
447944:	59                   	pop    %ecx
447945:	89 45 e4             	mov    %eax,-0x1c(%ebp)
447948:	8b 45 c0             	mov    -0x40(%ebp),%eax
44794b:	59                   	pop    %ecx
44794c:	89 45 c0             	mov    %eax,-0x40(%ebp)
44794f:	eb 03                	jmp    0x447954
447951:	89 75 ec             	mov    %esi,-0x14(%ebp)
447954:	81 fa 00 08 00 00    	cmp    $0x800,%edx
44795a:	75 3a                	jne    0x447996
44795c:	81 fe 00 02 00 00    	cmp    $0x200,%esi
447962:	74 32                	je     0x447996
447964:	a1 d4 b3 4b 00       	mov    0x4bb3d4,%eax
447969:	83 e0 60             	and    $0x60,%eax
44796c:	3c 60                	cmp    $0x60,%al
44796e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
447971:	50                   	push   %eax
447972:	74 13                	je     0x447987
447974:	e8 2a 43 00 00       	call   0x44bca3
447979:	59                   	pop    %ecx
44797a:	8b 08                	mov    (%eax),%ecx
44797c:	8b 40 04             	mov    0x4(%eax),%eax
44797f:	89 4d 98             	mov    %ecx,-0x68(%ebp)
447982:	89 45 9c             	mov    %eax,-0x64(%ebp)
447985:	eb 0f                	jmp    0x447996
447987:	e8 17 43 00 00       	call   0x44bca3
44798c:	59                   	pop    %ecx
44798d:	50                   	push   %eax
44798e:	8d 4d 98             	lea    -0x68(%ebp),%ecx
447991:	e8 51 fb ff ff       	call   0x4474e7
447996:	8b 0d d4 b3 4b 00    	mov    0x4bb3d4,%ecx
44799c:	8b c1                	mov    %ecx,%eax
44799e:	d1 e8                	shr    $1,%eax
4479a0:	f7 d0                	not    %eax
4479a2:	a8 01                	test   $0x1,%al
4479a4:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4479a7:	50                   	push   %eax
4479a8:	74 2c                	je     0x4479d6
4479aa:	c1 e9 04             	shr    $0x4,%ecx
4479ad:	f7 d1                	not    %ecx
4479af:	f6 c1 01             	test   $0x1,%cl
4479b2:	74 22                	je     0x4479d6
4479b4:	e8 19 13 00 00       	call   0x448cd2
4479b9:	59                   	pop    %ecx
4479ba:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4479bd:	51                   	push   %ecx
4479be:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4479c1:	51                   	push   %ecx
4479c2:	8b c8                	mov    %eax,%ecx
4479c4:	e8 93 f8 ff ff       	call   0x44725c
4479c9:	8b 08                	mov    (%eax),%ecx
4479cb:	8b 40 04             	mov    0x4(%eax),%eax
4479ce:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4479d1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4479d4:	eb 0f                	jmp    0x4479e5
4479d6:	e8 f7 12 00 00       	call   0x448cd2
4479db:	59                   	pop    %ecx
4479dc:	50                   	push   %eax
4479dd:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4479e0:	e8 02 fb ff ff       	call   0x4474e7
4479e5:	8b 75 0c             	mov    0xc(%ebp),%esi
4479e8:	8b 06                	mov    (%esi),%eax
4479ea:	85 c0                	test   %eax,%eax
4479ec:	74 3e                	je     0x447a2c
4479ee:	39 7d f8             	cmp    %edi,-0x8(%ebp)
4479f1:	74 30                	je     0x447a23
4479f3:	f7 05 d4 b3 4b 00 00 	testl  $0x1000,0x4bb3d4
4479fa:	10 00 00
4479fd:	75 24                	jne    0x447a23
4479ff:	6a 20                	push   $0x20
447a01:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
447a04:	e8 bc f3 ff ff       	call   0x446dc5
447a09:	56                   	push   %esi
447a0a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
447a0d:	51                   	push   %ecx
447a0e:	8b c8                	mov    %eax,%ecx
447a10:	e8 47 f8 ff ff       	call   0x44725c
447a15:	8d 45 d4             	lea    -0x2c(%ebp),%eax
447a18:	50                   	push   %eax