4895e7:	c7 45 f4 ff 00 00 00 	movl   $0xff,-0xc(%ebp)
4895ee:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
4895f2:	77 12                	ja     0x489606
4895f4:	8b c8                	mov    %eax,%ecx
4895f6:	8b 43 44             	mov    0x44(%ebx),%eax
4895f9:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
4895fd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489600:	0f 85 fc 00 00 00    	jne    0x489702
489606:	83 c1 02             	add    $0x2,%ecx
489609:	42                   	inc    %edx
48960a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48960d:	3b 55 dc             	cmp    -0x24(%ebp),%edx
489610:	7c c9                	jl     0x4895db
489612:	e9 eb 00 00 00       	jmp    0x489702
489617:	8b 55 f0             	mov    -0x10(%ebp),%edx
48961a:	3b 55 dc             	cmp    -0x24(%ebp),%edx
48961d:	0f 8d df 00 00 00    	jge    0x489702
489623:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
489626:	0f 83 72 fc ff ff    	jae    0x48929e
48962c:	0f b7 01             	movzwl (%ecx),%eax
48962f:	c7 45 f4 ff 00 00 00 	movl   $0xff,-0xc(%ebp)
489636:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
48963a:	0f 87 c2 00 00 00    	ja     0x489702
489640:	8b c8                	mov    %eax,%ecx
489642:	8b 43 44             	mov    0x44(%ebx),%eax
489645:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
489649:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48964c:	0f 84 b0 00 00 00    	je     0x489702
489652:	83 c1 02             	add    $0x2,%ecx
489655:	42                   	inc    %edx
489656:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489659:	3b 55 dc             	cmp    -0x24(%ebp),%edx
48965c:	7c c5                	jl     0x489623
48965e:	e9 9f 00 00 00       	jmp    0x489702
489663:	8b 55 f0             	mov    -0x10(%ebp),%edx
489666:	3b 55 dc             	cmp    -0x24(%ebp),%edx
489669:	0f 8d 93 00 00 00    	jge    0x489702
48966f:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
489672:	0f 83 26 fc ff ff    	jae    0x48929e
489678:	0f b7 01             	movzwl (%ecx),%eax
48967b:	c7 45 f4 ff 00 00 00 	movl   $0xff,-0xc(%ebp)
489682:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
489686:	77 0e                	ja     0x489696
489688:	8b c8                	mov    %eax,%ecx
48968a:	8b 43 44             	mov    0x44(%ebx),%eax
48968d:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
489691:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489694:	75 6c                	jne    0x489702
489696:	83 c1 02             	add    $0x2,%ecx
489699:	42                   	inc    %edx
48969a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48969d:	3b 55 dc             	cmp    -0x24(%ebp),%edx
4896a0:	7c cd                	jl     0x48966f
4896a2:	eb 5e                	jmp    0x489702
4896a4:	8b 55 f0             	mov    -0x10(%ebp),%edx
4896a7:	3b 55 dc             	cmp    -0x24(%ebp),%edx
4896aa:	7d 56                	jge    0x489702
4896ac:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
4896af:	73 2c                	jae    0x4896dd
4896b1:	0f b7 01             	movzwl (%ecx),%eax
4896b4:	c7 45 f4 ff 00 00 00 	movl   $0xff,-0xc(%ebp)
4896bb:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
4896bf:	77 41                	ja     0x489702
4896c1:	8b c8                	mov    %eax,%ecx
4896c3:	8b 43 44             	mov    0x44(%ebx),%eax
4896c6:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
4896ca:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4896cd:	74 33                	je     0x489702
4896cf:	83 c1 02             	add    $0x2,%ecx
4896d2:	42                   	inc    %edx
4896d3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4896d6:	3b 55 dc             	cmp    -0x24(%ebp),%edx
4896d9:	7c d1                	jl     0x4896ac
4896db:	eb 25                	jmp    0x489702
4896dd:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
4896e4:	74 1c                	je     0x489702
4896e6:	3b 8b 88 00 00 00    	cmp    0x88(%ebx),%ecx
4896ec:	76 14                	jbe    0x489702
4896ee:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
4896f5:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4896fc:	0f 8f 2b aa ff ff    	jg     0x48412d
489702:	85 f6                	test   %esi,%esi
489704:	0f 85 56 0c f8 ff    	jne    0x40a360
48970a:	8b 75 c8             	mov    -0x38(%ebp),%esi
48970d:	3b ce                	cmp    %esi,%ecx
48970f:	0f 84 bc 0c f8 ff    	je     0x40a3d1
489715:	8b 45 18             	mov    0x18(%ebp),%eax
489718:	40                   	inc    %eax
489719:	50                   	push   %eax
48971a:	ff 75 14             	push   0x14(%ebp)
48971d:	8b d7                	mov    %edi,%edx
48971f:	53                   	push   %ebx
489720:	ff 75 0c             	push   0xc(%ebp)
489723:	ff 75 08             	push   0x8(%ebp)
489726:	e8 d5 0b f8 ff       	call   0x40a300
48972b:	83 c4 14             	add    $0x14,%esp
48972e:	85 c0                	test   %eax,%eax
489730:	0f 85 91 0d f8 ff    	jne    0x40a4c7
489736:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489739:	83 e9 02             	sub    $0x2,%ecx
48973c:	83 7d d8 11          	cmpl   $0x11,-0x28(%ebp)
489740:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489743:	75 17                	jne    0x48975c
489745:	3b ce                	cmp    %esi,%ecx
489747:	76 15                	jbe    0x48975e
489749:	66 83 39 0a          	cmpw   $0xa,(%ecx)
48974d:	75 0d                	jne    0x48975c
48974f:	66 83 79 fe 0d       	cmpw   $0xd,-0x2(%ecx)
489754:	75 06                	jne    0x48975c
489756:	83 c1 fe             	add    $0xfffffffe,%ecx
489759:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48975c:	3b ce                	cmp    %esi,%ecx
48975e:	75 b5                	jne    0x489715
489760:	e9 6c 0c f8 ff       	jmp    0x40a3d1
489765:	8b 45 18             	mov    0x18(%ebp),%eax
489768:	40                   	inc    %eax
489769:	66 83 3f 7a          	cmpw   $0x7a,(%edi)
48976d:	50                   	push   %eax
48976e:	ff 75 14             	push   0x14(%ebp)
489771:	53                   	push   %ebx
489772:	52                   	push   %edx
489773:	51                   	push   %ecx
489774:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489777:	75 1b                	jne    0x489794
489779:	8d 57 04             	lea    0x4(%edi),%edx
48977c:	e8 7f 0b f8 ff       	call   0x40a300
489781:	83 c4 14             	add    $0x14,%esp
489784:	85 c0                	test   %eax,%eax
489786:	0f 85 3b 0d f8 ff    	jne    0x40a4c7
48978c:	8b 7d f4             	mov    -0xc(%ebp),%edi
48978f:	e9 3a 0c f8 ff       	jmp    0x40a3ce
489794:	8b 55 f4             	mov    -0xc(%ebp),%edx
489797:	e8 64 0b f8 ff       	call   0x40a300
48979c:	83 c4 14             	add    $0x14,%esp
48979f:	85 c0                	test   %eax,%eax
4897a1:	0f 85 20 0d f8 ff    	jne    0x40a4c7
4897a7:	83 c7 04             	add    $0x4,%edi
4897aa:	e9 1f 0c f8 ff       	jmp    0x40a3ce
4897af:	8b d6                	mov    %esi,%edx
4897b1:	8b 75 f8             	mov    -0x8(%ebp),%esi
4897b4:	8b ce                	mov    %esi,%ecx
4897b6:	e8 45 0b f8 ff       	call   0x40a300
4897bb:	83 c4 14             	add    $0x14,%esp
4897be:	3d 1b fc ff ff       	cmp    $0xfffffc1b,%eax
4897c3:	75 11                	jne    0x4897d6
4897c5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4897c8:	39 8b b8 00 00 00    	cmp    %ecx,0xb8(%ebx)
4897ce:	0f 85 f3 0c f8 ff    	jne    0x40a4c7
4897d4:	eb 0b                	jmp    0x4897e1
4897d6:	85 c0                	test   %eax,%eax
4897d8:	0f 85 e9 0c f8 ff    	jne    0x40a4c7
4897de:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4897e1:	b8 81 00 00 00       	mov    $0x81,%eax
4897e6:	66 39 01             	cmp    %ax,(%ecx)
4897e9:	0f 84 55 02 00 00    	je     0x489a44
4897ef:	83 c7 04             	add    $0x4,%edi
4897f2:	e9 d7 0b f8 ff       	jmp    0x40a3ce
4897f7:	66 8b 01             	mov    (%ecx),%ax
4897fa:	ba 00 fc 00 00       	mov    $0xfc00,%edx
4897ff:	66 23 c2             	and    %dx,%ax
489802:	ba 00 dc 00 00       	mov    $0xdc00,%edx
489807:	66 3b c2             	cmp    %dx,%ax
48980a:	75 06                	jne    0x489812
48980c:	83 e9 02             	sub    $0x2,%ecx
48980f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489812:	0f b7 11             	movzwl (%ecx),%edx
489815:	8b c2                	mov    %edx,%eax
489817:	25 00 fc 00 00       	and    $0xfc00,%eax
48981c:	89 55 ec             	mov    %edx,-0x14(%ebp)
48981f:	3d 00 d8 00 00       	cmp    $0xd800,%eax
489824:	75 1d                	jne    0x489843
489826:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
48982a:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
489830:	25 ff 03 00 00       	and    $0x3ff,%eax
489835:	c1 e2 0a             	shl    $0xa,%edx
489838:	0b d0                	or     %eax,%edx
48983a:	81 c2 00 00 01 00    	add    $0x10000,%edx
489840:	89 55 ec             	mov    %edx,-0x14(%ebp)
489843:	8b c2                	mov    %edx,%eax
489845:	99                   	cltd
489846:	83 e2 7f             	and    $0x7f,%edx
489849:	03 c2                	add    %edx,%eax
48984b:	8b 55 ec             	mov    -0x14(%ebp),%edx
48984e:	c1 f8 07             	sar    $0x7,%eax
489851:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
489858:	c1 e0 07             	shl    $0x7,%eax
48985b:	81 e2 7f 00 00 80    	and    $0x8000007f,%edx
489861:	79 05                	jns    0x489868
489863:	4a                   	dec    %edx
489864:	83 ca 80             	or     $0xffffff80,%edx
489867:	42                   	inc    %edx
489868:	03 c2                	add    %edx,%eax
48986a:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
489871:	00
489872:	0f b6 04 c5 0a b1 4a 	movzbl 0x4ab10a(,%eax,8),%eax
489879:	00
48987a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
48987d:	3b 4d c8             	cmp    -0x38(%ebp),%ecx
489880:	0f 84 4b 0b f8 ff    	je     0x40a3d1
489886:	8d 51 fe             	lea    -0x2(%ecx),%edx
489889:	89 55 f4             	mov    %edx,-0xc(%ebp)
48988c:	85 f6                	test   %esi,%esi
48988e:	75 05                	jne    0x489895
489890:	0f b7 0a             	movzwl (%edx),%ecx
489893:	eb 46                	jmp    0x4898db
489895:	66 8b 02             	mov    (%edx),%ax
489898:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
48989d:	66 23 c1             	and    %cx,%ax
4898a0:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
4898a5:	66 3b c1             	cmp    %cx,%ax
4898a8:	75 06                	jne    0x4898b0
4898aa:	83 ea 02             	sub    $0x2,%edx
4898ad:	89 55 f4             	mov    %edx,-0xc(%ebp)
4898b0:	0f b7 0a             	movzwl (%edx),%ecx
4898b3:	8b c1                	mov    %ecx,%eax
4898b5:	25 00 fc 00 00       	and    $0xfc00,%eax
4898ba:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4898bf:	75 1a                	jne    0x4898db
4898c1:	0f b7 42 02          	movzwl 0x2(%edx),%eax
4898c5:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4898cb:	25 ff 03 00 00       	and    $0x3ff,%eax
4898d0:	c1 e1 0a             	shl    $0xa,%ecx
4898d3:	0b c8                	or     %eax,%ecx
4898d5:	81 c1 00 00 01 00    	add    $0x10000,%ecx
4898db:	8b c1                	mov    %ecx,%eax
4898dd:	99                   	cltd
4898de:	83 e2 7f             	and    $0x7f,%edx
4898e1:	03 c2                	add    %edx,%eax
4898e3:	c1 f8 07             	sar    $0x7,%eax
4898e6:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
4898ed:	c1 e0 07             	shl    $0x7,%eax
4898f0:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
4898f6:	79 05                	jns    0x4898fd
4898f8:	49                   	dec    %ecx
4898f9:	83 c9 80             	or     $0xffffff80,%ecx
4898fc:	41                   	inc    %ecx
4898fd:	03 c1                	add    %ecx,%eax
4898ff:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
489902:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
489909:	00
48990a:	0f b6 14 c5 0a b1 4a 	movzbl 0x4ab10a(,%eax,8),%edx
489911:	00
489912:	b8 01 00 00 00       	mov    $0x1,%eax
489917:	d3 e0                	shl    %cl,%eax
489919:	85 04 95 2c e5 49 00 	test   %eax,0x49e52c(,%edx,4)
489920:	74 0e                	je     0x489930
489922:	8b 4d f4             	mov    -0xc(%ebp),%ecx
489925:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489928:	89 55 d4             	mov    %edx,-0x2c(%ebp)
48992b:	e9 4d ff ff ff       	jmp    0x48987d
489930:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489933:	e9 2c ef ff ff       	jmp    0x488864
489938:	c7 83 9c 00 00 00 02 	movl   $0x2,0x9c(%ebx)
48993f:	00 00 00
489942:	e9 0f 13 f8 ff       	jmp    0x40ac56
489947:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
48994b:	8d 04 4f             	lea    (%edi,%ecx,2),%eax
48994e:	39 83 80 00 00 00    	cmp    %eax,0x80(%ebx)
489954:	0f 83 70 1c 00 00    	jae    0x48b5ca
48995a:	66 83 3f 77          	cmpw   $0x77,(%edi)
48995e:	0f 84 41 13 f8 ff    	je     0x40aca5
489964:	66 83 38 77          	cmpw   $0x77,(%eax)
489968:	0f 85 5c 1c 00 00    	jne    0x48b5ca
48996e:	e9 32 13 f8 ff       	jmp    0x40aca5
489973:	8b 45 18             	mov    0x18(%ebp),%eax
489976:	40                   	inc    %eax
489977:	50                   	push   %eax
489978:	0f b7 07             	movzwl (%edi),%eax
48997b:	ff 75 14             	push   0x14(%ebp)
48997e:	0f b6 88 60 e5 49 00 	movzbl 0x49e560(%eax),%ecx
489985:	0f b7 47 02          	movzwl 0x2(%edi),%eax
489989:	53                   	push   %ebx
48998a:	ff 75 0c             	push   0xc(%ebp)
48998d:	03 c8                	add    %eax,%ecx
48998f:	ff 75 08             	push   0x8(%ebp)
489992:	8d 14 4f             	lea    (%edi,%ecx,2),%edx
489995:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489998:	e8 63 09 f8 ff       	call   0x40a300
48999d:	83 c4 14             	add    $0x14,%esp
4899a0:	85 c0                	test   %eax,%eax
4899a2:	0f 85 1f 0b f8 ff    	jne    0x40a4c7
4899a8:	8d 47 04             	lea    0x4(%edi),%eax
4899ab:	89 83 80 00 00 00    	mov    %eax,0x80(%ebx)
4899b1:	b8 1f fc ff ff       	mov    $0xfffffc1f,%eax
4899b6:	e9 0c 0b f8 ff       	jmp    0x40a4c7
4899bb:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4899be:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
4899c4:	8b 45 ac             	mov    -0x54(%ebp),%eax
4899c7:	8d 8d ac fe ff ff    	lea    -0x154(%ebp),%ecx
4899cd:	3b c1                	cmp    %ecx,%eax
4899cf:	0f 84 9f 0b f8 ff    	je     0x40a574
4899d5:	50                   	push   %eax
4899d6:	ff 15 0c b8 4b 00    	call   *0x4bb80c
4899dc:	83 c4 04             	add    $0x4,%esp
4899df:	e9 90 0b f8 ff       	jmp    0x40a574
4899e4:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4899e7:	8d 95 ac fe ff ff    	lea    -0x154(%ebp),%edx
4899ed:	3b ca                	cmp    %edx,%ecx
4899ef:	0f 84 d2 0a f8 ff    	je     0x40a4c7
4899f5:	51                   	push   %ecx
4899f6:	ff 15 0c b8 4b 00    	call   *0x4bb80c
4899fc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4899ff:	83 c4 04             	add    $0x4,%esp
489a02:	e9 c0 0a f8 ff       	jmp    0x40a4c7
489a07:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
489a0c:	e9 b6 0a f8 ff       	jmp    0x40a4c7
489a11:	8b 45 18             	mov    0x18(%ebp),%eax
489a14:	40                   	inc    %eax
489a15:	50                   	push   %eax
489a16:	ff 75 14             	push   0x14(%ebp)
489a19:	8b d7                	mov    %edi,%edx
489a1b:	53                   	push   %ebx
489a1c:	ff 75 0c             	push   0xc(%ebp)
489a1f:	8b ce                	mov    %esi,%ecx
489a21:	ff 75 08             	push   0x8(%ebp)
489a24:	e8 d7 08 f8 ff       	call   0x40a300
489a29:	83 c4 14             	add    $0x14,%esp
489a2c:	85 c0                	test   %eax,%eax
489a2e:	0f 85 93 0a f8 ff    	jne    0x40a4c7
489a34:	89 bb b8 00 00 00    	mov    %edi,0xb8(%ebx)
489a3a:	b8 1b fc ff ff       	mov    $0xfffffc1b,%eax
489a3f:	e9 83 0a f8 ff       	jmp    0x40a4c7
489a44:	8b 45 18             	mov    0x18(%ebp),%eax
489a47:	40                   	inc    %eax
489a48:	50                   	push   %eax
489a49:	ff 75 14             	push   0x14(%ebp)
489a4c:	8d 57 04             	lea    0x4(%edi),%edx
489a4f:	53                   	push   %ebx
489a50:	ff 75 0c             	push   0xc(%ebp)
489a53:	8b ce                	mov    %esi,%ecx
489a55:	ff 75 08             	push   0x8(%ebp)
489a58:	e8 a3 08 f8 ff       	call   0x40a300
489a5d:	83 c4 14             	add    $0x14,%esp
489a60:	85 c0                	test   %eax,%eax
489a62:	0f 85 5f 0a f8 ff    	jne    0x40a4c7
489a68:	8b 45 e0             	mov    -0x20(%ebp),%eax
489a6b:	89 83 b8 00 00 00    	mov    %eax,0xb8(%ebx)
489a71:	b8 1b fc ff ff       	mov    $0xfffffc1b,%eax
489a76:	e9 4c 0a f8 ff       	jmp    0x40a4c7
489a7b:	8b 75 08             	mov    0x8(%ebp),%esi
489a7e:	89 b3 80 00 00 00    	mov    %esi,0x80(%ebx)
489a84:	89 83 84 00 00 00    	mov    %eax,0x84(%ebx)
489a8a:	89 93 90 00 00 00    	mov    %edx,0x90(%ebx)
489a90:	b8 1a fc ff ff       	mov    $0xfffffc1a,%eax
489a95:	e9 2d 0a f8 ff       	jmp    0x40a4c7
489a9a:	8b 45 18             	mov    0x18(%ebp),%eax
489a9d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489aa0:	40                   	inc    %eax
489aa1:	50                   	push   %eax
489aa2:	ff 75 14             	push   0x14(%ebp)