477859:	8b 07                	mov    (%edi),%eax
47785b:	8b 00                	mov    (%eax),%eax
47785d:	88 08                	mov    %cl,(%eax)
47785f:	8b 07                	mov    (%edi),%eax
477861:	ff 00                	incl   (%eax)
477863:	e9 d0 00 00 00       	jmp    0x477938
477868:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
47786c:	89 5e 20             	mov    %ebx,0x20(%esi)
47786f:	88 5e 2c             	mov    %bl,0x2c(%esi)
477872:	89 5e 1c             	mov    %ebx,0x1c(%esi)
477875:	89 5e 28             	mov    %ebx,0x28(%esi)
477878:	88 5e 38             	mov    %bl,0x38(%esi)
47787b:	e9 b8 00 00 00       	jmp    0x477938
477880:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
477884:	83 e8 20             	sub    $0x20,%eax
477887:	74 37                	je     0x4778c0
477889:	83 e8 03             	sub    $0x3,%eax
47788c:	74 2c                	je     0x4778ba
47788e:	83 e8 08             	sub    $0x8,%eax
477891:	74 21                	je     0x4778b4
477893:	48                   	dec    %eax
477894:	83 e8 01             	sub    $0x1,%eax
477897:	74 12                	je     0x4778ab
477899:	83 e8 03             	sub    $0x3,%eax
47789c:	0f 85 96 00 00 00    	jne    0x477938
4778a2:	83 4e 1c 08          	orl    $0x8,0x1c(%esi)
4778a6:	e9 8d 00 00 00       	jmp    0x477938
4778ab:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
4778af:	e9 84 00 00 00       	jmp    0x477938
4778b4:	83 4e 1c 01          	orl    $0x1,0x1c(%esi)
4778b8:	eb 7e                	jmp    0x477938
4778ba:	83 4e 1c 20          	orl    $0x20,0x1c(%esi)
4778be:	eb 78                	jmp    0x477938
4778c0:	83 4e 1c 02          	orl    $0x2,0x1c(%esi)
4778c4:	eb 72                	jmp    0x477938
4778c6:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
4778ca:	74 0d                	je     0x4778d9
4778cc:	8d 46 20             	lea    0x20(%esi),%eax
4778cf:	50                   	push   %eax
4778d0:	8b ce                	mov    %esi,%ecx
4778d2:	e8 05 fd ff ff       	call   0x4775dc
4778d7:	eb 57                	jmp    0x477930
4778d9:	8b 4e 10             	mov    0x10(%esi),%ecx
4778dc:	8d 41 04             	lea    0x4(%ecx),%eax
4778df:	89 46 10             	mov    %eax,0x10(%esi)
4778e2:	8b 01                	mov    (%ecx),%eax
4778e4:	89 46 20             	mov    %eax,0x20(%esi)
4778e7:	85 c0                	test   %eax,%eax
4778e9:	79 09                	jns    0x4778f4
4778eb:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
4778ef:	f7 d8                	neg    %eax
4778f1:	89 46 20             	mov    %eax,0x20(%esi)
4778f4:	b0 01                	mov    $0x1,%al
4778f6:	eb 38                	jmp    0x477930
4778f8:	89 5e 24             	mov    %ebx,0x24(%esi)
4778fb:	eb 3b                	jmp    0x477938
4778fd:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
477901:	74 05                	je     0x477908
477903:	8d 46 24             	lea    0x24(%esi),%eax
477906:	eb c7                	jmp    0x4778cf
477908:	8b 4e 10             	mov    0x10(%esi),%ecx
47790b:	8d 41 04             	lea    0x4(%ecx),%eax
47790e:	89 46 10             	mov    %eax,0x10(%esi)
477911:	8b 01                	mov    (%ecx),%eax
477913:	89 46 24             	mov    %eax,0x24(%esi)
477916:	85 c0                	test   %eax,%eax
477918:	79 da                	jns    0x4778f4
47791a:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
47791e:	eb d4                	jmp    0x4778f4
477920:	8b ce                	mov    %esi,%ecx
477922:	e8 9f 05 00 00       	call   0x477ec6
477927:	eb 07                	jmp    0x477930
477929:	8b ce                	mov    %esi,%ecx
47792b:	e8 79 08 00 00       	call   0x4781a9
477930:	84 c0                	test   %al,%al
477932:	0f 84 db fd ff ff    	je     0x477713
477938:	8b 46 0c             	mov    0xc(%esi),%eax
47793b:	8a 10                	mov    (%eax),%dl
47793d:	8d 48 01             	lea    0x1(%eax),%ecx
477940:	89 4e 0c             	mov    %ecx,0xc(%esi)
477943:	88 55 ff             	mov    %dl,-0x1(%ebp)
477946:	88 56 2d             	mov    %dl,0x2d(%esi)
477949:	88 55 fb             	mov    %dl,-0x5(%ebp)
47794c:	84 d2                	test   %dl,%dl
47794e:	0f 85 fc fd ff ff    	jne    0x477750
477954:	8a 46 18             	mov    0x18(%esi),%al
477957:	84 c0                	test   %al,%al
477959:	74 08                	je     0x477963
47795b:	3c 07                	cmp    $0x7,%al
47795d:	0f 85 92 fd ff ff    	jne    0x4776f5
477963:	ff 86 50 04 00 00    	incl   0x450(%esi)
477969:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
477970:	0f 85 bd fd ff ff    	jne    0x477733
477976:	8b 46 14             	mov    0x14(%esi),%eax
477979:	e9 98 fd ff ff       	jmp    0x477716
47797e:	8b 4e 08             	mov    0x8(%esi),%ecx
477981:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
477985:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
47798c:	e9 72 fd ff ff       	jmp    0x477703
477991:	90                   	nop
477992:	82 77 47 00          	xorb   $0x0,0x47(%edi)
477996:	68 78 47 00 80       	push   $0x80004778
47799b:	78 47                	js     0x4779e4
47799d:	00 c6                	add    %al,%dh
47799f:	78 47                	js     0x4779e8
4779a1:	00 f8                	add    %bh,%al
4779a3:	78 47                	js     0x4779ec
4779a5:	00 fd                	add    %bh,%ch
4779a7:	78 47                	js     0x4779f0
4779a9:	00 20                	add    %ah,(%eax)
4779ab:	79 47                	jns    0x4779f4
4779ad:	00 29                	add    %ch,(%ecx)
4779af:	79 47                	jns    0x4779f8
4779b1:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
4779b7:	51                   	push   %ecx
4779b8:	51                   	push   %ecx
4779b9:	53                   	push   %ebx
4779ba:	56                   	push   %esi
4779bb:	8b f1                	mov    %ecx,%esi
4779bd:	57                   	push   %edi
4779be:	ff 76 08             	push   0x8(%esi)
4779c1:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
4779c7:	e8 ba 17 00 00       	call   0x479186
4779cc:	84 c0                	test   %al,%al
4779ce:	74 27                	je     0x4779f7
4779d0:	8b 4e 0c             	mov    0xc(%esi),%ecx
4779d3:	85 c9                	test   %ecx,%ecx
4779d5:	75 28                	jne    0x4779ff
4779d7:	8b 46 08             	mov    0x8(%esi),%eax
4779da:	33 db                	xor    %ebx,%ebx
4779dc:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4779e0:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
4779e7:	ff 76 08             	push   0x8(%esi)
4779ea:	53                   	push   %ebx
4779eb:	53                   	push   %ebx
4779ec:	53                   	push   %ebx
4779ed:	53                   	push   %ebx
4779ee:	53                   	push   %ebx
4779ef:	e8 b0 1b 00 00       	call   0x4795a4
4779f4:	83 c4 18             	add    $0x18,%esp
4779f7:	83 c8 ff             	or     $0xffffffff,%eax
4779fa:	5f                   	pop    %edi
4779fb:	5e                   	pop    %esi
4779fc:	5b                   	pop    %ebx
4779fd:	c9                   	leave
4779fe:	c3                   	ret
4779ff:	8b 86 50 04 00 00    	mov    0x450(%esi),%eax
477a05:	40                   	inc    %eax
477a06:	89 86 50 04 00 00    	mov    %eax,0x450(%esi)
477a0c:	83 f8 02             	cmp    $0x2,%eax
477a0f:	0f 84 36 02 00 00    	je     0x477c4b
477a15:	33 db                	xor    %ebx,%ebx
477a17:	89 5e 34             	mov    %ebx,0x34(%esi)
477a1a:	88 5e 18             	mov    %bl,0x18(%esi)
477a1d:	8a 11                	mov    (%ecx),%dl
477a1f:	41                   	inc    %ecx
477a20:	88 55 ff             	mov    %dl,-0x1(%ebp)
477a23:	89 4e 0c             	mov    %ecx,0xc(%esi)
477a26:	88 56 2d             	mov    %dl,0x2d(%esi)
477a29:	84 d2                	test   %dl,%dl
477a2b:	0f 84 07 02 00 00    	je     0x477c38
477a31:	88 55 fb             	mov    %dl,-0x5(%ebp)
477a34:	39 5e 14             	cmp    %ebx,0x14(%esi)
477a37:	0f 8c fb 01 00 00    	jl     0x477c38
477a3d:	0f b6 46 18          	movzbl 0x18(%esi),%eax
477a41:	8b ce                	mov    %esi,%ecx
477a43:	50                   	push   %eax
477a44:	ff 75 fb             	push   -0x5(%ebp)
477a47:	e8 0b fa ff ff       	call   0x477457
477a4c:	88 46 18             	mov    %al,0x18(%esi)
477a4f:	3c 08                	cmp    $0x8,%al
477a51:	0f 83 fc 01 00 00    	jae    0x477c53
477a57:	0f b6 c0             	movzbl %al,%eax
477a5a:	83 f8 07             	cmp    $0x7,%eax
477a5d:	77 98                	ja     0x4779f7
477a5f:	ff 24 85 66 7c 47 00 	jmp    *0x477c66(,%eax,4)
477a66:	8b 7e 08             	mov    0x8(%esi),%edi
477a69:	88 5e 38             	mov    %bl,0x38(%esi)
477a6c:	38 5f 14             	cmp    %bl,0x14(%edi)
477a6f:	75 07                	jne    0x477a78
477a71:	8b cf                	mov    %edi,%ecx
477a73:	e8 98 16 00 00       	call   0x479110
477a78:	8a 46 2d             	mov    0x2d(%esi),%al
477a7b:	88 45 ff             	mov    %al,-0x1(%ebp)
477a7e:	0f be c0             	movsbl %al,%eax
477a81:	68 00 80 00 00       	push   $0x8000
477a86:	50                   	push   %eax
477a87:	8b 47 0c             	mov    0xc(%edi),%eax
477a8a:	ff 30                	push   (%eax)
477a8c:	e8 fe 17 00 00       	call   0x47928f
477a91:	83 c4 0c             	add    $0xc,%esp
477a94:	8d be 48 04 00 00    	lea    0x448(%esi),%edi
477a9a:	85 c0                	test   %eax,%eax
477a9c:	74 76                	je     0x477b14
477a9e:	8b 0f                	mov    (%edi),%ecx
477aa0:	8b 41 08             	mov    0x8(%ecx),%eax
477aa3:	3b 41 04             	cmp    0x4(%ecx),%eax
477aa6:	75 10                	jne    0x477ab8
477aa8:	38 59 0c             	cmp    %bl,0xc(%ecx)
477aab:	74 05                	je     0x477ab2
477aad:	ff 46 14             	incl   0x14(%esi)
477ab0:	eb 19                	jmp    0x477acb
477ab2:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
477ab6:	eb 13                	jmp    0x477acb
477ab8:	ff 46 14             	incl   0x14(%esi)
477abb:	ff 41 08             	incl   0x8(%ecx)
477abe:	8b 07                	mov    (%edi),%eax
477ac0:	8a 4d ff             	mov    -0x1(%ebp),%cl
477ac3:	8b 00                	mov    (%eax),%eax
477ac5:	88 08                	mov    %cl,(%eax)
477ac7:	8b 07                	mov    (%edi),%eax
477ac9:	ff 00                	incl   (%eax)
477acb:	8b 46 0c             	mov    0xc(%esi),%eax
477ace:	8a 08                	mov    (%eax),%cl
477ad0:	40                   	inc    %eax
477ad1:	89 46 0c             	mov    %eax,0xc(%esi)
477ad4:	88 4e 2d             	mov    %cl,0x2d(%esi)
477ad7:	84 c9                	test   %cl,%cl
477ad9:	75 3c                	jne    0x477b17
477adb:	8b 46 08             	mov    0x8(%esi),%eax
477ade:	6a 16                	push   $0x16
477ae0:	5f                   	pop    %edi
477ae1:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
477ae5:	89 78 18             	mov    %edi,0x18(%eax)
477ae8:	ff 76 08             	push   0x8(%esi)
477aeb:	53                   	push   %ebx
477aec:	53                   	push   %ebx
477aed:	53                   	push   %ebx
477aee:	53                   	push   %ebx
477aef:	53                   	push   %ebx
477af0:	e8 af 1a 00 00       	call   0x4795a4
477af5:	8b 46 08             	mov    0x8(%esi),%eax
477af8:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
477afc:	89 78 18             	mov    %edi,0x18(%eax)
477aff:	ff 76 08             	push   0x8(%esi)
477b02:	53                   	push   %ebx
477b03:	53                   	push   %ebx
477b04:	53                   	push   %ebx
477b05:	53                   	push   %ebx
477b06:	53                   	push   %ebx
477b07:	e8 98 1a 00 00       	call   0x4795a4
477b0c:	83 c4 30             	add    $0x30,%esp
477b0f:	e9 e3 fe ff ff       	jmp    0x4779f7
477b14:	8a 4d ff             	mov    -0x1(%ebp),%cl
477b17:	8b 17                	mov    (%edi),%edx
477b19:	8b 42 08             	mov    0x8(%edx),%eax
477b1c:	3b 42 04             	cmp    0x4(%edx),%eax
477b1f:	75 16                	jne    0x477b37
477b21:	38 5a 0c             	cmp    %bl,0xc(%edx)
477b24:	74 08                	je     0x477b2e
477b26:	ff 46 14             	incl   0x14(%esi)
477b29:	e9 ee 00 00 00       	jmp    0x477c1c
477b2e:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
477b32:	e9 e5 00 00 00       	jmp    0x477c1c
477b37:	ff 46 14             	incl   0x14(%esi)
477b3a:	ff 42 08             	incl   0x8(%edx)
477b3d:	8b 07                	mov    (%edi),%eax
477b3f:	8b 00                	mov    (%eax),%eax
477b41:	88 08                	mov    %cl,(%eax)
477b43:	8b 07                	mov    (%edi),%eax
477b45:	ff 00                	incl   (%eax)
477b47:	e9 d0 00 00 00       	jmp    0x477c1c
477b4c:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
477b50:	89 5e 20             	mov    %ebx,0x20(%esi)
477b53:	88 5e 2c             	mov    %bl,0x2c(%esi)
477b56:	89 5e 1c             	mov    %ebx,0x1c(%esi)
477b59:	89 5e 28             	mov    %ebx,0x28(%esi)
477b5c:	88 5e 38             	mov    %bl,0x38(%esi)
477b5f:	e9 b8 00 00 00       	jmp    0x477c1c
477b64:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
477b68:	83 e8 20             	sub    $0x20,%eax
477b6b:	74 37                	je     0x477ba4
477b6d:	83 e8 03             	sub    $0x3,%eax
477b70:	74 2c                	je     0x477b9e
477b72:	83 e8 08             	sub    $0x8,%eax
477b75:	74 21                	je     0x477b98
477b77:	48                   	dec    %eax
477b78:	83 e8 01             	sub    $0x1,%eax
477b7b:	74 12                	je     0x477b8f
477b7d:	83 e8 03             	sub    $0x3,%eax
477b80:	0f 85 96 00 00 00    	jne    0x477c1c
477b86:	83 4e 1c 08          	orl    $0x8,0x1c(%esi)
477b8a:	e9 8d 00 00 00       	jmp    0x477c1c
477b8f:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
477b93:	e9 84 00 00 00       	jmp    0x477c1c
477b98:	83 4e 1c 01          	orl    $0x1,0x1c(%esi)
477b9c:	eb 7e                	jmp    0x477c1c
477b9e:	83 4e 1c 20          	orl    $0x20,0x1c(%esi)
477ba2:	eb 78                	jmp    0x477c1c
477ba4:	83 4e 1c 02          	orl    $0x2,0x1c(%esi)
477ba8:	eb 72                	jmp    0x477c1c
477baa:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
477bae:	74 0d                	je     0x477bbd
477bb0:	8d 46 20             	lea    0x20(%esi),%eax
477bb3:	50                   	push   %eax
477bb4:	8b ce                	mov    %esi,%ecx
477bb6:	e8 21 fa ff ff       	call   0x4775dc
477bbb:	eb 57                	jmp    0x477c14
477bbd:	8b 4e 10             	mov    0x10(%esi),%ecx
477bc0:	8d 41 04             	lea    0x4(%ecx),%eax
477bc3:	89 46 10             	mov    %eax,0x10(%esi)
477bc6:	8b 01                	mov    (%ecx),%eax
477bc8:	89 46 20             	mov    %eax,0x20(%esi)
477bcb:	85 c0                	test   %eax,%eax
477bcd:	79 09                	jns    0x477bd8
477bcf:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
477bd3:	f7 d8                	neg    %eax
477bd5:	89 46 20             	mov    %eax,0x20(%esi)
477bd8:	b0 01                	mov    $0x1,%al
477bda:	eb 38                	jmp    0x477c14
477bdc:	89 5e 24             	mov    %ebx,0x24(%esi)
477bdf:	eb 3b                	jmp    0x477c1c
477be1:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
477be5:	74 05                	je     0x477bec
477be7:	8d 46 24             	lea    0x24(%esi),%eax
477bea:	eb c7                	jmp    0x477bb3
477bec:	8b 4e 10             	mov    0x10(%esi),%ecx
477bef:	8d 41 04             	lea    0x4(%ecx),%eax
477bf2:	89 46 10             	mov    %eax,0x10(%esi)
477bf5:	8b 01                	mov    (%ecx),%eax
477bf7:	89 46 24             	mov    %eax,0x24(%esi)
477bfa:	85 c0                	test   %eax,%eax
477bfc:	79 da                	jns    0x477bd8
477bfe:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
477c02:	eb d4                	jmp    0x477bd8
477c04:	8b ce                	mov    %esi,%ecx
477c06:	e8 bb 02 00 00       	call   0x477ec6
477c0b:	eb 07                	jmp    0x477c14
477c0d:	8b ce                	mov    %esi,%ecx
477c0f:	e8 95 05 00 00       	call   0x4781a9
477c14:	84 c0                	test   %al,%al
477c16:	0f 84 db fd ff ff    	je     0x4779f7
477c1c:	8b 46 0c             	mov    0xc(%esi),%eax
477c1f:	8a 10                	mov    (%eax),%dl
477c21:	8d 48 01             	lea    0x1(%eax),%ecx
477c24:	89 4e 0c             	mov    %ecx,0xc(%esi)
477c27:	88 55 ff             	mov    %dl,-0x1(%ebp)
477c2a:	88 56 2d             	mov    %dl,0x2d(%esi)
477c2d:	88 55 fb             	mov    %dl,-0x5(%ebp)
477c30:	84 d2                	test   %dl,%dl
477c32:	0f 85 fc fd ff ff    	jne    0x477a34
477c38:	ff 86 50 04 00 00    	incl   0x450(%esi)
477c3e:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
477c45:	0f 85 cc fd ff ff    	jne    0x477a17
477c4b:	8b 46 14             	mov    0x14(%esi),%eax
477c4e:	e9 a7 fd ff ff       	jmp    0x4779fa
477c53:	8b 4e 08             	mov    0x8(%esi),%ecx
477c56:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
477c5a:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
477c61:	e9 81 fd ff ff       	jmp    0x4779e7