470de1:	53                   	push   %ebx
470de2:	8b ca                	mov    %edx,%ecx
470de4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
470de7:	51                   	push   %ecx
470de8:	50                   	push   %eax
470de9:	6a ff                	push   $0xffffffff
470deb:	6a ff                	push   $0xffffffff
470ded:	89 4d d8             	mov    %ecx,-0x28(%ebp)
470df0:	e8 2b ef fc ff       	call   0x43fd20
470df5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
470df8:	5b                   	pop    %ebx
470df9:	89 4d dc             	mov    %ecx,-0x24(%ebp)
470dfc:	33 db                	xor    %ebx,%ebx
470dfe:	8a 4d ff             	mov    -0x1(%ebp),%cl
470e01:	89 45 e8             	mov    %eax,-0x18(%ebp)
470e04:	89 55 e4             	mov    %edx,-0x1c(%ebp)
470e07:	8a c1                	mov    %cl,%al
470e09:	2c 30                	sub    $0x30,%al
470e0b:	3c 09                	cmp    $0x9,%al
470e0d:	77 08                	ja     0x470e17
470e0f:	0f be d1             	movsbl %cl,%edx
470e12:	83 c2 d0             	add    $0xffffffd0,%edx
470e15:	eb 23                	jmp    0x470e3a
470e17:	8a c1                	mov    %cl,%al
470e19:	2c 61                	sub    $0x61,%al
470e1b:	3c 19                	cmp    $0x19,%al
470e1d:	77 08                	ja     0x470e27
470e1f:	0f be d1             	movsbl %cl,%edx
470e22:	83 c2 a9             	add    $0xffffffa9,%edx
470e25:	eb 13                	jmp    0x470e3a
470e27:	8a c1                	mov    %cl,%al
470e29:	2c 41                	sub    $0x41,%al
470e2b:	3c 19                	cmp    $0x19,%al
470e2d:	77 08                	ja     0x470e37
470e2f:	0f be d1             	movsbl %cl,%edx
470e32:	83 c2 c9             	add    $0xffffffc9,%edx
470e35:	eb 03                	jmp    0x470e3a
470e37:	83 ca ff             	or     $0xffffffff,%edx
470e3a:	89 55 ec             	mov    %edx,-0x14(%ebp)
470e3d:	83 fa ff             	cmp    $0xffffffff,%edx
470e40:	74 60                	je     0x470ea2
470e42:	3b 55 14             	cmp    0x14(%ebp),%edx
470e45:	73 5b                	jae    0x470ea2
470e47:	8b 4d f8             	mov    -0x8(%ebp),%ecx
470e4a:	8b 45 f0             	mov    -0x10(%ebp),%eax
470e4d:	83 c9 08             	or     $0x8,%ecx
470e50:	89 4d f8             	mov    %ecx,-0x8(%ebp)
470e53:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
470e56:	72 25                	jb     0x470e7d
470e58:	77 05                	ja     0x470e5f
470e5a:	3b 45 e8             	cmp    -0x18(%ebp),%eax
470e5d:	72 1e                	jb     0x470e7d
470e5f:	3b 45 e8             	cmp    -0x18(%ebp),%eax
470e62:	75 11                	jne    0x470e75
470e64:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
470e67:	75 0c                	jne    0x470e75
470e69:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
470e6c:	72 0f                	jb     0x470e7d
470e6e:	77 05                	ja     0x470e75
470e70:	3b 55 dc             	cmp    -0x24(%ebp),%edx
470e73:	76 08                	jbe    0x470e7d
470e75:	83 c9 04             	or     $0x4,%ecx
470e78:	89 4d f8             	mov    %ecx,-0x8(%ebp)
470e7b:	eb 17                	jmp    0x470e94
470e7d:	56                   	push   %esi
470e7e:	50                   	push   %eax
470e7f:	ff 75 d8             	push   -0x28(%ebp)
470e82:	ff 75 d4             	push   -0x2c(%ebp)
470e85:	e8 36 ee fc ff       	call   0x43fcc0
470e8a:	03 45 ec             	add    -0x14(%ebp),%eax
470e8d:	8b f2                	mov    %edx,%esi
470e8f:	89 45 f0             	mov    %eax,-0x10(%ebp)
470e92:	13 f3                	adc    %ebx,%esi
470e94:	8a 0f                	mov    (%edi),%cl
470e96:	47                   	inc    %edi
470e97:	88 4d f4             	mov    %cl,-0xc(%ebp)
470e9a:	89 7d 0c             	mov    %edi,0xc(%ebp)
470e9d:	e9 65 ff ff ff       	jmp    0x470e07
470ea2:	ff 75 f4             	push   -0xc(%ebp)
470ea5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470ea8:	e8 13 25 fe ff       	call   0x4533c0
470ead:	8b 45 f8             	mov    -0x8(%ebp),%eax
470eb0:	a8 08                	test   $0x8,%al
470eb2:	75 0c                	jne    0x470ec0
470eb4:	8b 45 d0             	mov    -0x30(%ebp),%eax
470eb7:	89 45 0c             	mov    %eax,0xc(%ebp)
470eba:	33 c0                	xor    %eax,%eax
470ebc:	8b f0                	mov    %eax,%esi
470ebe:	eb 41                	jmp    0x470f01
470ec0:	8b 7d f0             	mov    -0x10(%ebp),%edi
470ec3:	56                   	push   %esi
470ec4:	57                   	push   %edi
470ec5:	50                   	push   %eax
470ec6:	e8 32 f4 ff ff       	call   0x4702fd
470ecb:	83 c4 0c             	add    $0xc,%esp
470ece:	84 c0                	test   %al,%al
470ed0:	74 33                	je     0x470f05
470ed2:	e8 58 bf fd ff       	call   0x44ce2f
470ed7:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
470edd:	8b 45 f8             	mov    -0x8(%ebp),%eax
470ee0:	a8 01                	test   $0x1,%al
470ee2:	75 08                	jne    0x470eec
470ee4:	83 cf ff             	or     $0xffffffff,%edi
470ee7:	83 ce ff             	or     $0xffffffff,%esi
470eea:	eb 25                	jmp    0x470f11
470eec:	a8 02                	test   $0x2,%al
470eee:	74 09                	je     0x470ef9
470ef0:	33 c0                	xor    %eax,%eax
470ef2:	be 00 00 00 80       	mov    $0x80000000,%esi
470ef7:	eb 08                	jmp    0x470f01
470ef9:	83 c8 ff             	or     $0xffffffff,%eax
470efc:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
470f01:	8b f8                	mov    %eax,%edi
470f03:	eb 0c                	jmp    0x470f11
470f05:	f6 45 f8 02          	testb  $0x2,-0x8(%ebp)
470f09:	74 06                	je     0x470f11
470f0b:	f7 df                	neg    %edi
470f0d:	13 f3                	adc    %ebx,%esi
470f0f:	f7 de                	neg    %esi
470f11:	80 7d cc 00          	cmpb   $0x0,-0x34(%ebp)
470f15:	5b                   	pop    %ebx
470f16:	0f 84 a4 fd ff ff    	je     0x470cc0
470f1c:	8b 45 c0             	mov    -0x40(%ebp),%eax
470f1f:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
470f26:	e9 95 fd ff ff       	jmp    0x470cc0
470f2b:	8b ff                	mov    %edi,%edi
470f2d:	55                   	push   %ebp
470f2e:	8b ec                	mov    %esp,%ebp
470f30:	83 ec 38             	sub    $0x38,%esp
470f33:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470f36:	53                   	push   %ebx
470f37:	56                   	push   %esi
470f38:	57                   	push   %edi
470f39:	e8 f1 24 fe ff       	call   0x45342f
470f3e:	84 c0                	test   %al,%al
470f40:	74 23                	je     0x470f65
470f42:	8b 5d 14             	mov    0x14(%ebp),%ebx
470f45:	6a 02                	push   $0x2
470f47:	5f                   	pop    %edi
470f48:	85 db                	test   %ebx,%ebx
470f4a:	74 36                	je     0x470f82
470f4c:	3b df                	cmp    %edi,%ebx
470f4e:	7c 05                	jl     0x470f55
470f50:	83 fb 24             	cmp    $0x24,%ebx
470f53:	7e 2d                	jle    0x470f82
470f55:	e8 d5 be fd ff       	call   0x44ce2f
470f5a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
470f60:	e8 71 bd fd ff       	call   0x44ccd6
470f65:	33 c0                	xor    %eax,%eax
470f67:	8b f8                	mov    %eax,%edi
470f69:	8b d8                	mov    %eax,%ebx
470f6b:	8b 75 10             	mov    0x10(%ebp),%esi
470f6e:	85 f6                	test   %esi,%esi
470f70:	74 05                	je     0x470f77
470f72:	8b 4d 0c             	mov    0xc(%ebp),%ecx
470f75:	89 0e                	mov    %ecx,(%esi)
470f77:	8b c7                	mov    %edi,%eax
470f79:	8b d3                	mov    %ebx,%edx
470f7b:	5f                   	pop    %edi
470f7c:	5e                   	pop    %esi
470f7d:	5b                   	pop    %ebx
470f7e:	8b e5                	mov    %ebp,%esp
470f80:	5d                   	pop    %ebp
470f81:	c3                   	ret
470f82:	ff 75 08             	push   0x8(%ebp)
470f85:	8d 4d c8             	lea    -0x38(%ebp),%ecx
470f88:	e8 7b e0 fd ff       	call   0x44f008
470f8d:	33 c0                	xor    %eax,%eax
470f8f:	89 45 f8             	mov    %eax,-0x8(%ebp)
470f92:	89 45 f4             	mov    %eax,-0xc(%ebp)
470f95:	8b 45 0c             	mov    0xc(%ebp),%eax
470f98:	89 45 d8             	mov    %eax,-0x28(%ebp)
470f9b:	eb 03                	jmp    0x470fa0
470f9d:	8b 45 0c             	mov    0xc(%ebp),%eax
470fa0:	0f b7 30             	movzwl (%eax),%esi
470fa3:	03 c7                	add    %edi,%eax
470fa5:	6a 08                	push   $0x8
470fa7:	56                   	push   %esi
470fa8:	89 45 0c             	mov    %eax,0xc(%ebp)
470fab:	e8 40 14 00 00       	call   0x4723f0
470fb0:	59                   	pop    %ecx
470fb1:	59                   	pop    %ecx
470fb2:	85 c0                	test   %eax,%eax
470fb4:	75 e7                	jne    0x470f9d
470fb6:	33 c0                	xor    %eax,%eax
470fb8:	38 45 18             	cmp    %al,0x18(%ebp)
470fbb:	0f 95 c0             	setne  %al
470fbe:	89 45 fc             	mov    %eax,-0x4(%ebp)
470fc1:	66 83 fe 2d          	cmp    $0x2d,%si
470fc5:	75 07                	jne    0x470fce
470fc7:	0b c7                	or     %edi,%eax
470fc9:	89 45 fc             	mov    %eax,-0x4(%ebp)
470fcc:	eb 06                	jmp    0x470fd4
470fce:	66 83 fe 2b          	cmp    $0x2b,%si
470fd2:	75 0d                	jne    0x470fe1
470fd4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
470fd7:	0f b7 31             	movzwl (%ecx),%esi
470fda:	03 cf                	add    %edi,%ecx
470fdc:	89 4d 0c             	mov    %ecx,0xc(%ebp)
470fdf:	eb 03                	jmp    0x470fe4
470fe1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
470fe4:	6a 30                	push   $0x30
470fe6:	5a                   	pop    %edx
470fe7:	85 db                	test   %ebx,%ebx
470fe9:	74 09                	je     0x470ff4
470feb:	83 fb 10             	cmp    $0x10,%ebx
470fee:	0f 85 27 02 00 00    	jne    0x47121b
470ff4:	66 3b f2             	cmp    %dx,%si
470ff7:	0f 82 a1 01 00 00    	jb     0x47119e
470ffd:	6a 3a                	push   $0x3a
470fff:	58                   	pop    %eax
471000:	66 3b f0             	cmp    %ax,%si
471003:	73 0a                	jae    0x47100f
471005:	0f b7 c6             	movzwl %si,%eax
471008:	2b c2                	sub    %edx,%eax
47100a:	e9 8a 01 00 00       	jmp    0x471199
47100f:	ba 10 ff 00 00       	mov    $0xff10,%edx
471014:	66 3b f2             	cmp    %dx,%si
471017:	0f 83 6b 01 00 00    	jae    0x471188
47101d:	ba 60 06 00 00       	mov    $0x660,%edx
471022:	66 3b f2             	cmp    %dx,%si
471025:	0f 82 73 01 00 00    	jb     0x47119e
47102b:	8d 42 0a             	lea    0xa(%edx),%eax
47102e:	66 3b f0             	cmp    %ax,%si
471031:	72 d2                	jb     0x471005
471033:	ba f0 06 00 00       	mov    $0x6f0,%edx
471038:	66 3b f2             	cmp    %dx,%si
47103b:	0f 82 5d 01 00 00    	jb     0x47119e
471041:	8d 42 0a             	lea    0xa(%edx),%eax
471044:	66 3b f0             	cmp    %ax,%si
471047:	72 bc                	jb     0x471005
471049:	ba 66 09 00 00       	mov    $0x966,%edx
47104e:	66 3b f2             	cmp    %dx,%si
471051:	0f 82 47 01 00 00    	jb     0x47119e
471057:	8d 42 0a             	lea    0xa(%edx),%eax
47105a:	66 3b f0             	cmp    %ax,%si
47105d:	72 a6                	jb     0x471005
47105f:	8d 50 76             	lea    0x76(%eax),%edx
471062:	66 3b f2             	cmp    %dx,%si
471065:	0f 82 33 01 00 00    	jb     0x47119e
47106b:	8d 42 0a             	lea    0xa(%edx),%eax
47106e:	66 3b f0             	cmp    %ax,%si
471071:	72 92                	jb     0x471005
471073:	8d 50 76             	lea    0x76(%eax),%edx
471076:	66 3b f2             	cmp    %dx,%si
471079:	0f 82 1f 01 00 00    	jb     0x47119e
47107f:	8d 42 0a             	lea    0xa(%edx),%eax
471082:	66 3b f0             	cmp    %ax,%si
471085:	0f 82 7a ff ff ff    	jb     0x471005
47108b:	8d 50 76             	lea    0x76(%eax),%edx
47108e:	66 3b f2             	cmp    %dx,%si
471091:	0f 82 07 01 00 00    	jb     0x47119e
471097:	8d 42 0a             	lea    0xa(%edx),%eax
47109a:	66 3b f0             	cmp    %ax,%si
47109d:	0f 82 62 ff ff ff    	jb     0x471005
4710a3:	8d 50 76             	lea    0x76(%eax),%edx
4710a6:	66 3b f2             	cmp    %dx,%si
4710a9:	0f 82 ef 00 00 00    	jb     0x47119e
4710af:	8d 42 0a             	lea    0xa(%edx),%eax
4710b2:	66 3b f0             	cmp    %ax,%si
4710b5:	0f 82 4a ff ff ff    	jb     0x471005
4710bb:	ba 66 0c 00 00       	mov    $0xc66,%edx
4710c0:	66 3b f2             	cmp    %dx,%si
4710c3:	0f 82 d5 00 00 00    	jb     0x47119e
4710c9:	8d 42 0a             	lea    0xa(%edx),%eax
4710cc:	66 3b f0             	cmp    %ax,%si
4710cf:	0f 82 30 ff ff ff    	jb     0x471005
4710d5:	8d 50 76             	lea    0x76(%eax),%edx
4710d8:	66 3b f2             	cmp    %dx,%si
4710db:	0f 82 bd 00 00 00    	jb     0x47119e
4710e1:	8d 42 0a             	lea    0xa(%edx),%eax
4710e4:	66 3b f0             	cmp    %ax,%si
4710e7:	0f 82 18 ff ff ff    	jb     0x471005
4710ed:	8d 50 76             	lea    0x76(%eax),%edx
4710f0:	66 3b f2             	cmp    %dx,%si
4710f3:	0f 82 a5 00 00 00    	jb     0x47119e
4710f9:	8d 42 0a             	lea    0xa(%edx),%eax
4710fc:	66 3b f0             	cmp    %ax,%si
4710ff:	0f 82 00 ff ff ff    	jb     0x471005
471105:	ba 50 0e 00 00       	mov    $0xe50,%edx
47110a:	66 3b f2             	cmp    %dx,%si
47110d:	0f 82 8b 00 00 00    	jb     0x47119e
471113:	8d 42 0a             	lea    0xa(%edx),%eax
471116:	66 3b f0             	cmp    %ax,%si
471119:	0f 82 e6 fe ff ff    	jb     0x471005
47111f:	8d 50 76             	lea    0x76(%eax),%edx
471122:	66 3b f2             	cmp    %dx,%si
471125:	72 77                	jb     0x47119e
471127:	8d 42 0a             	lea    0xa(%edx),%eax
47112a:	66 3b f0             	cmp    %ax,%si
47112d:	0f 82 d2 fe ff ff    	jb     0x471005
471133:	83 c2 50             	add    $0x50,%edx
471136:	66 3b f2             	cmp    %dx,%si
471139:	72 63                	jb     0x47119e
47113b:	83 c0 50             	add    $0x50,%eax
47113e:	66 3b f0             	cmp    %ax,%si
471141:	0f 82 be fe ff ff    	jb     0x471005
471147:	ba 40 10 00 00       	mov    $0x1040,%edx
47114c:	66 3b f2             	cmp    %dx,%si
47114f:	72 4d                	jb     0x47119e
471151:	8d 42 0a             	lea    0xa(%edx),%eax
471154:	66 3b f0             	cmp    %ax,%si
471157:	0f 82 a8 fe ff ff    	jb     0x471005
47115d:	ba e0 17 00 00       	mov    $0x17e0,%edx
471162:	66 3b f2             	cmp    %dx,%si
471165:	72 37                	jb     0x47119e
471167:	8d 42 0a             	lea    0xa(%edx),%eax
47116a:	66 3b f0             	cmp    %ax,%si
47116d:	0f 82 92 fe ff ff    	jb     0x471005
471173:	83 c2 30             	add    $0x30,%edx
471176:	66 3b f2             	cmp    %dx,%si
471179:	72 23                	jb     0x47119e
47117b:	83 c0 30             	add    $0x30,%eax
47117e:	66 3b f0             	cmp    %ax,%si
471181:	73 1b                	jae    0x47119e
471183:	e9 7d fe ff ff       	jmp    0x471005
471188:	b8 1a ff 00 00       	mov    $0xff1a,%eax
47118d:	66 3b f0             	cmp    %ax,%si
471190:	0f 82 6f fe ff ff    	jb     0x471005
471196:	83 c8 ff             	or     $0xffffffff,%eax
471199:	83 f8 ff             	cmp    $0xffffffff,%eax
47119c:	75 1e                	jne    0x4711bc
47119e:	6a 41                	push   $0x41
4711a0:	58                   	pop    %eax
4711a1:	66 3b c6             	cmp    %si,%ax
4711a4:	77 08                	ja     0x4711ae
4711a6:	6a 5a                	push   $0x5a
4711a8:	58                   	pop    %eax
4711a9:	66 3b f0             	cmp    %ax,%si
4711ac:	76 1e                	jbe    0x4711cc
4711ae:	6a 19                	push   $0x19
4711b0:	8d 46 9f             	lea    -0x61(%esi),%eax
4711b3:	5a                   	pop    %edx
4711b4:	66 3b c2             	cmp    %dx,%ax
4711b7:	76 16                	jbe    0x4711cf
4711b9:	83 c8 ff             	or     $0xffffffff,%eax
4711bc:	85 c0                	test   %eax,%eax
4711be:	74 22                	je     0x4711e2
4711c0:	85 db                	test   %ebx,%ebx
4711c2:	75 57                	jne    0x47121b
4711c4:	6a 0a                	push   $0xa
4711c6:	5b                   	pop    %ebx
4711c7:	89 5d 14             	mov    %ebx,0x14(%ebp)
4711ca:	eb 4f                	jmp    0x47121b
4711cc:	6a 19                	push   $0x19
4711ce:	5a                   	pop    %edx
4711cf:	8d 46 9f             	lea    -0x61(%esi),%eax
4711d2:	66 3b c2             	cmp    %dx,%ax
4711d5:	0f b7 c6             	movzwl %si,%eax
4711d8:	77 03                	ja     0x4711dd