470a7f:	85 c0                	test   %eax,%eax
470a81:	74 0e                	je     0x470a91
470a83:	8b 36                	mov    (%esi),%esi
470a85:	85 f6                	test   %esi,%esi
470a87:	75 dd                	jne    0x470a66
470a89:	33 c0                	xor    %eax,%eax
470a8b:	40                   	inc    %eax
470a8c:	5f                   	pop    %edi
470a8d:	5e                   	pop    %esi
470a8e:	5b                   	pop    %ebx
470a8f:	5d                   	pop    %ebp
470a90:	c3                   	ret
470a91:	33 c0                	xor    %eax,%eax
470a93:	eb f7                	jmp    0x470a8c
470a95:	53                   	push   %ebx
470a96:	56                   	push   %esi
470a97:	8b f1                	mov    %ecx,%esi
470a99:	57                   	push   %edi
470a9a:	8b 4e 3c             	mov    0x3c(%esi),%ecx
470a9d:	b8 00 20 03 00       	mov    $0x32000,%eax
470aa2:	8d 3c 09             	lea    (%ecx,%ecx,1),%edi
470aa5:	3b f8                	cmp    %eax,%edi
470aa7:	7e 02                	jle    0x470aab
470aa9:	8b f8                	mov    %eax,%edi
470aab:	3b c8                	cmp    %eax,%ecx
470aad:	7d 5b                	jge    0x470b0a
470aaf:	8b c7                	mov    %edi,%eax
470ab1:	2b c1                	sub    %ecx,%eax
470ab3:	83 f8 64             	cmp    $0x64,%eax
470ab6:	7c 52                	jl     0x470b0a
470ab8:	8d 04 3f             	lea    (%edi,%edi,1),%eax
470abb:	50                   	push   %eax
470abc:	ff 15 dc bd 4b 00    	call   *0x4bbddc
470ac2:	8b d8                	mov    %eax,%ebx
470ac4:	59                   	pop    %ecx
470ac5:	85 db                	test   %ebx,%ebx
470ac7:	75 04                	jne    0x470acd
470ac9:	6a 15                	push   $0x15
470acb:	eb 3f                	jmp    0x470b0c
470acd:	8b 46 3c             	mov    0x3c(%esi),%eax
470ad0:	03 c0                	add    %eax,%eax
470ad2:	50                   	push   %eax
470ad3:	ff 76 10             	push   0x10(%esi)
470ad6:	53                   	push   %ebx
470ad7:	e8 a4 e3 fa ff       	call   0x41ee80
470adc:	8b 46 20             	mov    0x20(%esi),%eax
470adf:	2b 46 10             	sub    0x10(%esi),%eax
470ae2:	83 c4 0c             	add    $0xc,%esp
470ae5:	d1 f8                	sar    $1,%eax
470ae7:	81 7e 3c 00 08 00 00 	cmpl   $0x800,0x3c(%esi)
470aee:	8d 04 43             	lea    (%ebx,%eax,2),%eax
470af1:	89 46 20             	mov    %eax,0x20(%esi)
470af4:	7e 0a                	jle    0x470b00
470af6:	ff 76 10             	push   0x10(%esi)
470af9:	ff 15 0c b8 4b 00    	call   *0x4bb80c
470aff:	59                   	pop    %ecx
470b00:	89 5e 10             	mov    %ebx,0x10(%esi)
470b03:	89 7e 3c             	mov    %edi,0x3c(%esi)
470b06:	33 c0                	xor    %eax,%eax
470b08:	eb 03                	jmp    0x470b0d
470b0a:	6a 48                	push   $0x48
470b0c:	58                   	pop    %eax
470b0d:	5f                   	pop    %edi
470b0e:	5e                   	pop    %esi
470b0f:	5b                   	pop    %ebx
470b10:	c3                   	ret
470b11:	ba 48 52 4b 00       	mov    $0x4b5248,%edx
470b16:	eb 0c                	jmp    0x470b24
470b18:	8a 02                	mov    (%edx),%al
470b1a:	42                   	inc    %edx
470b1b:	84 c0                	test   %al,%al
470b1d:	75 f9                	jne    0x470b18
470b1f:	38 02                	cmp    %al,(%edx)
470b21:	74 08                	je     0x470b2b
470b23:	49                   	dec    %ecx
470b24:	85 c9                	test   %ecx,%ecx
470b26:	7f f0                	jg     0x470b18
470b28:	8b c2                	mov    %edx,%eax
470b2a:	c3                   	ret
470b2b:	b8 a0 4c 4b 00       	mov    $0x4b4ca0,%eax
470b30:	c3                   	ret
470b31:	55                   	push   %ebp
470b32:	8b ec                	mov    %esp,%ebp
470b34:	51                   	push   %ecx
470b35:	51                   	push   %ecx
470b36:	53                   	push   %ebx
470b37:	56                   	push   %esi
470b38:	83 cb ff             	or     $0xffffffff,%ebx
470b3b:	57                   	push   %edi
470b3c:	89 55 f8             	mov    %edx,-0x8(%ebp)
470b3f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
470b42:	8d 71 04             	lea    0x4(%ecx),%esi
470b45:	33 ff                	xor    %edi,%edi
470b47:	0f b7 0e             	movzwl (%esi),%ecx
470b4a:	8b d1                	mov    %ecx,%edx
470b4c:	8b c2                	mov    %edx,%eax
470b4e:	3d a1 00 00 00       	cmp    $0xa1,%eax
470b53:	0f 87 c3 01 00 00    	ja     0x470d1c
470b59:	0f b6 80 61 0d 47 00 	movzbl 0x470d61(%eax),%eax
470b60:	ff 24 85 25 0d 47 00 	jmp    *0x470d25(,%eax,4)
470b67:	ff 75 0c             	push   0xc(%ebp)
470b6a:	33 c0                	xor    %eax,%eax
470b6c:	ff 75 08             	push   0x8(%ebp)
470b6f:	b9 85 00 00 00       	mov    $0x85,%ecx
470b74:	66 3b d1             	cmp    %cx,%dx
470b77:	8b 55 f8             	mov    -0x8(%ebp),%edx
470b7a:	0f 94 c0             	sete   %al
470b7d:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
470b80:	e8 ac ff ff ff       	call   0x470b31
470b85:	59                   	pop    %ecx
470b86:	59                   	pop    %ecx
470b87:	85 c0                	test   %eax,%eax
470b89:	0f 88 90 01 00 00    	js     0x470d1f
470b8f:	6a 77                	push   $0x77
470b91:	03 f8                	add    %eax,%edi
470b93:	5b                   	pop    %ebx
470b94:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470b98:	8d 34 46             	lea    (%esi,%eax,2),%esi
470b9b:	66 39 1e             	cmp    %bx,(%esi)
470b9e:	74 f4                	je     0x470b94
470ba0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
470ba3:	83 c6 04             	add    $0x4,%esi
470ba6:	eb 9f                	jmp    0x470b47
470ba8:	85 db                	test   %ebx,%ebx
470baa:	79 07                	jns    0x470bb3
470bac:	8b df                	mov    %edi,%ebx
470bae:	89 5d fc             	mov    %ebx,-0x4(%ebp)
470bb1:	eb 08                	jmp    0x470bbb
470bb3:	3b df                	cmp    %edi,%ebx
470bb5:	0f 85 54 01 00 00    	jne    0x470d0f
470bbb:	6a 77                	push   $0x77
470bbd:	58                   	pop    %eax
470bbe:	66 3b c8             	cmp    %ax,%cx
470bc1:	0f 85 44 01 00 00    	jne    0x470d0b
470bc7:	83 c6 04             	add    $0x4,%esi
470bca:	e9 76 ff ff ff       	jmp    0x470b45
470bcf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
470bd3:	0f 84 3b 01 00 00    	je     0x470d14
470bd9:	8b 45 0c             	mov    0xc(%ebp),%eax
470bdc:	0f b7 4e 02          	movzwl 0x2(%esi),%ecx
470be0:	8b 40 14             	mov    0x14(%eax),%eax
470be3:	6a 77                	push   $0x77
470be5:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
470be8:	8b d1                	mov    %ecx,%edx
470bea:	5b                   	pop    %ebx
470beb:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
470bef:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
470bf2:	66 39 19             	cmp    %bx,(%ecx)
470bf5:	74 f4                	je     0x470beb
470bf7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
470bfa:	3b f2                	cmp    %edx,%esi
470bfc:	76 08                	jbe    0x470c06
470bfe:	3b f1                	cmp    %ecx,%esi
470c00:	0f 82 09 01 00 00    	jb     0x470d0f
470c06:	ff 75 0c             	push   0xc(%ebp)
470c09:	8d 4a 02             	lea    0x2(%edx),%ecx
470c0c:	ff 75 08             	push   0x8(%ebp)
470c0f:	8b 55 f8             	mov    -0x8(%ebp),%edx
470c12:	e8 1a ff ff ff       	call   0x470b31
470c17:	59                   	pop    %ecx
470c18:	59                   	pop    %ecx
470c19:	85 c0                	test   %eax,%eax
470c1b:	0f 88 fe 00 00 00    	js     0x470d1f
470c21:	03 f8                	add    %eax,%edi
470c23:	e9 7b ff ff ff       	jmp    0x470ba3
470c28:	6a 77                	push   $0x77
470c2a:	5b                   	pop    %ebx
470c2b:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470c2f:	8d 34 46             	lea    (%esi,%eax,2),%esi
470c32:	66 39 1e             	cmp    %bx,(%esi)
470c35:	74 f4                	je     0x470c2b
470c37:	0f b7 06             	movzwl (%esi),%eax
470c3a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
470c3d:	0f b6 80 60 e5 49 00 	movzbl 0x49e560(%eax),%eax
470c44:	8d 34 46             	lea    (%esi,%eax,2),%esi
470c47:	e9 fb fe ff ff       	jmp    0x470b47
470c4c:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470c50:	0f b6 89 60 e5 49 00 	movzbl 0x49e560(%ecx),%ecx
470c57:	03 c8                	add    %eax,%ecx
470c59:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
470c5c:	e9 e6 fe ff ff       	jmp    0x470b47
470c61:	0f b6 81 60 e5 49 00 	movzbl 0x49e560(%ecx),%eax
470c68:	eb da                	jmp    0x470c44
470c6a:	47                   	inc    %edi
470c6b:	83 c6 04             	add    $0x4,%esi
470c6e:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
470c72:	0f 84 cf fe ff ff    	je     0x470b47
470c78:	66 8b 46 fe          	mov    -0x2(%esi),%ax
470c7c:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
470c81:	66 23 c1             	and    %cx,%ax
470c84:	b9 00 d8 00 00       	mov    $0xd800,%ecx
470c89:	66 3b c1             	cmp    %cx,%ax
470c8c:	0f 85 b5 fe ff ff    	jne    0x470b47
470c92:	83 c6 02             	add    $0x2,%esi
470c95:	e9 ad fe ff ff       	jmp    0x470b47
470c9a:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470c9e:	03 f8                	add    %eax,%edi
470ca0:	83 c6 06             	add    $0x6,%esi
470ca3:	eb c9                	jmp    0x470c6e
470ca5:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470ca9:	03 f8                	add    %eax,%edi
470cab:	0f b7 46 04          	movzwl 0x4(%esi),%eax
470caf:	83 f8 10             	cmp    $0x10,%eax
470cb2:	74 05                	je     0x470cb9
470cb4:	83 f8 0f             	cmp    $0xf,%eax
470cb7:	75 44                	jne    0x470cfd
470cb9:	83 c6 04             	add    $0x4,%esi
470cbc:	eb 3f                	jmp    0x470cfd
470cbe:	83 c6 04             	add    $0x4,%esi
470cc1:	47                   	inc    %edi
470cc2:	eb ce                	jmp    0x470c92
470cc4:	83 fa 70             	cmp    $0x70,%edx
470cc7:	75 09                	jne    0x470cd2
470cc9:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470ccd:	8d 34 46             	lea    (%esi,%eax,2),%esi
470cd0:	eb 03                	jmp    0x470cd5
470cd2:	83 c6 22             	add    $0x22,%esi
470cd5:	0f b7 06             	movzwl (%esi),%eax
470cd8:	83 f8 62             	cmp    $0x62,%eax
470cdb:	7c 28                	jl     0x470d05
470cdd:	83 f8 67             	cmp    $0x67,%eax
470ce0:	7e 2d                	jle    0x470d0f
470ce2:	83 f8 69             	cmp    $0x69,%eax
470ce5:	7e 0a                	jle    0x470cf1
470ce7:	83 f8 6c             	cmp    $0x6c,%eax
470cea:	7e 23                	jle    0x470d0f
470cec:	83 f8 6d             	cmp    $0x6d,%eax
470cef:	75 14                	jne    0x470d05
470cf1:	0f b7 46 02          	movzwl 0x2(%esi),%eax
470cf5:	66 3b 46 04          	cmp    0x4(%esi),%ax
470cf9:	75 14                	jne    0x470d0f
470cfb:	03 f8                	add    %eax,%edi
470cfd:	83 c6 06             	add    $0x6,%esi
470d00:	e9 42 fe ff ff       	jmp    0x470b47
470d05:	47                   	inc    %edi
470d06:	e9 3c fe ff ff       	jmp    0x470b47
470d0b:	8b c3                	mov    %ebx,%eax
470d0d:	eb 10                	jmp    0x470d1f
470d0f:	83 c8 ff             	or     $0xffffffff,%eax
470d12:	eb 0b                	jmp    0x470d1f
470d14:	6a fd                	push   $0xfffffffd
470d16:	eb 06                	jmp    0x470d1e
470d18:	6a fe                	push   $0xfffffffe
470d1a:	eb 02                	jmp    0x470d1e
470d1c:	6a fc                	push   $0xfffffffc
470d1e:	58                   	pop    %eax
470d1f:	5f                   	pop    %edi
470d20:	5e                   	pop    %esi
470d21:	5b                   	pop    %ebx
470d22:	c9                   	leave
470d23:	c3                   	ret
470d24:	90                   	nop
470d25:	a8 0b                	test   $0xb,%al
470d27:	47                   	inc    %edi
470d28:	00 61 0c             	add    %ah,0xc(%ecx)
470d2b:	47                   	inc    %edi
470d2c:	00 c1                	add    %al,%cl
470d2e:	0c 47                	or     $0x47,%al
470d30:	00 18                	add    %bl,(%eax)
470d32:	0d 47 00 be 0c       	or     $0xcbe0047,%eax
470d37:	47                   	inc    %edi
470d38:	00 0f                	add    %cl,(%edi)
470d3a:	0d 47 00 6a 0c       	or     $0xc6a0047,%eax
470d3f:	47                   	inc    %edi
470d40:	00 9a 0c 47 00 a5    	add    %bl,-0x5affb8f4(%edx)
470d46:	0c 47                	or     $0x47,%al
470d48:	00 c4                	add    %al,%ah
470d4a:	0c 47                	or     $0x47,%al
470d4c:	00 cf                	add    %cl,%bh
470d4e:	0b 47 00             	or     0x0(%edi),%eax
470d51:	28 0c 47             	sub    %cl,(%edi,%eax,2)
470d54:	00 67 0b             	add    %ah,0xb(%edi)
470d57:	47                   	inc    %edi
470d58:	00 4c 0c 47          	add    %cl,0x47(%esp,%ecx,1)
470d5c:	00 1c 0d 47 00 00 01 	add    %bl,0x1000047(,%ecx,1)
470d63:	01 01                	add    %eax,(%ecx)
470d65:	01 01                	add    %eax,(%ecx)
470d67:	02 02                	add    (%edx),%al
470d69:	02 02                	add    (%edx),%al
470d6b:	02 02                	add    (%edx),%al
470d6d:	02 02                	add    (%edx),%al
470d6f:	03 04 04             	add    (%esp,%eax,1),%eax
470d72:	05 02 02 02 02       	add    $0x2020202,%eax
470d77:	05 01 01 01 01       	add    $0x1010101,%eax
470d7c:	01 01                	add    %eax,(%ecx)
470d7e:	06                   	push   %es
470d7f:	06                   	push   %es
470d80:	06                   	push   %es
470d81:	06                   	push   %es
470d82:	05 05 05 05 05       	add    $0x5050505,%eax
470d87:	05 05 05 07 05       	add    $0x5070505,%eax
470d8c:	05 05 05 05 05       	add    $0x5050505,%eax
470d91:	05 05 05 05 05       	add    $0x5050505,%eax
470d96:	05 07 05 05 05       	add    $0x5050507,%eax
470d9b:	05 05 05 05 05       	add    $0x5050505,%eax
470da0:	05 05 05 05 07       	add    $0x7050505,%eax
470da5:	05 05 05 05 05       	add    $0x5050505,%eax
470daa:	05 05 05 05 05       	add    $0x5050505,%eax
470daf:	05 05 07 05 05       	add    $0x5050705,%eax
470db4:	05 05 05 05 05       	add    $0x5050505,%eax
470db9:	05 05 05 05 05       	add    $0x5050505,%eax
470dbe:	08 05 05 05 05 0e    	or     %al,0xe050505
470dc4:	0e                   	push   %cs
470dc5:	0e                   	push   %cs
470dc6:	0e                   	push   %cs
470dc7:	0e                   	push   %cs
470dc8:	0e                   	push   %cs
470dc9:	0e                   	push   %cs
470dca:	0e                   	push   %cs
470dcb:	0e                   	push   %cs
470dcc:	0e                   	push   %cs
470dcd:	0e                   	push   %cs
470dce:	0e                   	push   %cs
470dcf:	09 09                	or     %ecx,(%ecx)
470dd1:	09 05 05 05 05 0a    	or     %eax,0xa050505
470dd7:	01 00                	add    %eax,(%eax)
470dd9:	00 05 05 05 01 0b    	add    %al,0xb010505
470ddf:	0b 0b                	or     (%ebx),%ecx
470de1:	0b 0c 0c             	or     (%esp,%ecx,1),%ecx
470de4:	0c 05                	or     $0x5,%al
470de6:	0c 05                	or     $0x5,%al
470de8:	0c 05                	or     $0x5,%al
470dea:	05 05 05 05 01       	add    $0x1050505,%eax
470def:	01 01                	add    %eax,(%ecx)
470df1:	01 01                	add    %eax,(%ecx)
470df3:	05 05 05 0d 01       	add    $0x10d0505,%eax
470df8:	0d 01 0d 01 0d       	or     $0xd010d01,%eax
470dfd:	01 01                	add    %eax,(%ecx)
470dff:	00 00                	add    %al,(%eax)
470e01:	01 05 55 8b ec 51    	add    %eax,0x51ec8b55
470e07:	53                   	push   %ebx
470e08:	56                   	push   %esi
470e09:	8b d9                	mov    %ecx,%ebx
470e0b:	57                   	push   %edi
470e0c:	8b 33                	mov    (%ebx),%esi
470e0e:	8b fa                	mov    %edx,%edi
470e10:	3b f7                	cmp    %edi,%esi
470e12:	0f 87 93 00 00 00    	ja     0x470eab
470e18:	c7 45 fc 80 00 00 00 	movl   $0x80,-0x4(%ebp)
470e1f:	8b c6                	mov    %esi,%eax
470e21:	99                   	cltd
470e22:	b9 80 00 00 00       	mov    $0x80,%ecx
470e27:	f7 f9                	idiv   %ecx
470e29:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
470e30:	c1 e0 07             	shl    $0x7,%eax
470e33:	03 c2                	add    %edx,%eax
470e35:	0f b7 0c 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%ecx
470e3c:	00
470e3d:	0f b6 04 cd 0b b1 4a 	movzbl 0x4ab10b(,%ecx,8),%eax
470e44:	00