47ecad:	3c 19                	cmp    $0x19,%al
47ecaf:	77 08                	ja     0x47ecb9
47ecb1:	0f be cb             	movsbl %bl,%ecx
47ecb4:	83 c1 a9             	add    $0xffffffa9,%ecx
47ecb7:	eb 13                	jmp    0x47eccc
47ecb9:	8a c3                	mov    %bl,%al
47ecbb:	2c 41                	sub    $0x41,%al
47ecbd:	3c 19                	cmp    $0x19,%al
47ecbf:	77 08                	ja     0x47ecc9
47ecc1:	0f be cb             	movsbl %bl,%ecx
47ecc4:	83 c1 c9             	add    $0xffffffc9,%ecx
47ecc7:	eb 03                	jmp    0x47eccc
47ecc9:	83 c9 ff             	or     $0xffffffff,%ecx
47eccc:	3b ce                	cmp    %esi,%ecx
47ecce:	73 31                	jae    0x47ed01
47ecd0:	8b 5d f4             	mov    -0xc(%ebp),%ebx
47ecd3:	8b c3                	mov    %ebx,%eax
47ecd5:	0f af c6             	imul   %esi,%eax
47ecd8:	8d 14 08             	lea    (%eax,%ecx,1),%edx
47ecdb:	3b d0                	cmp    %eax,%edx
47ecdd:	89 55 f4             	mov    %edx,-0xc(%ebp)
47ece0:	1b c9                	sbb    %ecx,%ecx
47ece2:	f7 d9                	neg    %ecx
47ece4:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
47ece7:	8a 1f                	mov    (%edi),%bl
47ece9:	1b c0                	sbb    %eax,%eax
47eceb:	88 5d fc             	mov    %bl,-0x4(%ebp)
47ecee:	f7 d8                	neg    %eax
47ecf0:	0b c8                	or     %eax,%ecx
47ecf2:	c1 e1 02             	shl    $0x2,%ecx
47ecf5:	83 c9 08             	or     $0x8,%ecx
47ecf8:	09 4d f8             	or     %ecx,-0x8(%ebp)
47ecfb:	47                   	inc    %edi
47ecfc:	89 7d 0c             	mov    %edi,0xc(%ebp)
47ecff:	eb 98                	jmp    0x47ec99
47ed01:	ff 75 fc             	push   -0x4(%ebp)
47ed04:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47ed07:	e8 a5 a3 ff ff       	call   0x4790b1
47ed0c:	8b 5d f8             	mov    -0x8(%ebp),%ebx
47ed0f:	5f                   	pop    %edi
47ed10:	f6 c3 08             	test   $0x8,%bl
47ed13:	75 10                	jne    0x47ed25
47ed15:	8b 45 10             	mov    0x10(%ebp),%eax
47ed18:	85 c0                	test   %eax,%eax
47ed1a:	74 05                	je     0x47ed21
47ed1c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
47ed1f:	89 08                	mov    %ecx,(%eax)
47ed21:	33 c0                	xor    %eax,%eax
47ed23:	eb 65                	jmp    0x47ed8a
47ed25:	8b 75 f4             	mov    -0xc(%ebp),%esi
47ed28:	56                   	push   %esi
47ed29:	53                   	push   %ebx
47ed2a:	e8 2f 6c ff ff       	call   0x47595e
47ed2f:	59                   	pop    %ecx
47ed30:	59                   	pop    %ecx
47ed31:	84 c0                	test   %al,%al
47ed33:	74 40                	je     0x47ed75
47ed35:	8b 45 08             	mov    0x8(%ebp),%eax
47ed38:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
47ed3c:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
47ed43:	f6 c3 01             	test   $0x1,%bl
47ed46:	75 05                	jne    0x47ed4d
47ed48:	83 ce ff             	or     $0xffffffff,%esi
47ed4b:	eb 2f                	jmp    0x47ed7c
47ed4d:	8b 4d 10             	mov    0x10(%ebp),%ecx
47ed50:	f6 c3 02             	test   $0x2,%bl
47ed53:	74 10                	je     0x47ed65
47ed55:	85 c9                	test   %ecx,%ecx
47ed57:	74 05                	je     0x47ed5e
47ed59:	8b 45 0c             	mov    0xc(%ebp),%eax
47ed5c:	89 01                	mov    %eax,(%ecx)
47ed5e:	b8 00 00 00 80       	mov    $0x80000000,%eax
47ed63:	eb 25                	jmp    0x47ed8a
47ed65:	85 c9                	test   %ecx,%ecx
47ed67:	74 05                	je     0x47ed6e
47ed69:	8b 45 0c             	mov    0xc(%ebp),%eax
47ed6c:	89 01                	mov    %eax,(%ecx)
47ed6e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
47ed73:	eb 15                	jmp    0x47ed8a
47ed75:	f6 c3 02             	test   $0x2,%bl
47ed78:	74 02                	je     0x47ed7c
47ed7a:	f7 de                	neg    %esi
47ed7c:	8b 55 10             	mov    0x10(%ebp),%edx
47ed7f:	85 d2                	test   %edx,%edx
47ed81:	74 05                	je     0x47ed88
47ed83:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47ed86:	89 0a                	mov    %ecx,(%edx)
47ed88:	8b c6                	mov    %esi,%eax
47ed8a:	5e                   	pop    %esi
47ed8b:	5b                   	pop    %ebx
47ed8c:	c9                   	leave
47ed8d:	c3                   	ret
47ed8e:	8b ff                	mov    %edi,%edi
47ed90:	55                   	push   %ebp
47ed91:	8b ec                	mov    %esp,%ebp
47ed93:	81 ec 90 00 00 00    	sub    $0x90,%esp
47ed99:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47ed9c:	53                   	push   %ebx
47ed9d:	56                   	push   %esi
47ed9e:	57                   	push   %edi
47ed9f:	e8 c7 a3 ff ff       	call   0x47916b
47eda4:	84 c0                	test   %al,%al
47eda6:	74 2f                	je     0x47edd7
47eda8:	8b 7d 14             	mov    0x14(%ebp),%edi
47edab:	85 ff                	test   %edi,%edi
47edad:	74 3d                	je     0x47edec
47edaf:	83 ff 02             	cmp    $0x2,%edi
47edb2:	7c 05                	jl     0x47edb9
47edb4:	83 ff 24             	cmp    $0x24,%edi
47edb7:	7e 33                	jle    0x47edec
47edb9:	8b 45 08             	mov    0x8(%ebp),%eax
47edbc:	50                   	push   %eax
47edbd:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
47edc1:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
47edc8:	33 c0                	xor    %eax,%eax
47edca:	50                   	push   %eax
47edcb:	50                   	push   %eax
47edcc:	50                   	push   %eax
47edcd:	50                   	push   %eax
47edce:	50                   	push   %eax
47edcf:	e8 d0 a7 ff ff       	call   0x4795a4
47edd4:	83 c4 18             	add    $0x18,%esp
47edd7:	8b 4d 10             	mov    0x10(%ebp),%ecx
47edda:	85 c9                	test   %ecx,%ecx
47eddc:	0f 84 4c 05 00 00    	je     0x47f32e
47ede2:	8b 45 0c             	mov    0xc(%ebp),%eax
47ede5:	89 01                	mov    %eax,(%ecx)
47ede7:	e9 42 05 00 00       	jmp    0x47f32e
47edec:	8b 45 0c             	mov    0xc(%ebp),%eax
47edef:	8b 4d 08             	mov    0x8(%ebp),%ecx
47edf2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47edf6:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
47edfc:	0f b7 30             	movzwl (%eax),%esi
47edff:	83 c0 02             	add    $0x2,%eax
47ee02:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
47ee06:	89 45 0c             	mov    %eax,0xc(%ebp)
47ee09:	75 13                	jne    0x47ee1e
47ee0b:	e8 00 a3 ff ff       	call   0x479110
47ee10:	eb 0c                	jmp    0x47ee1e
47ee12:	8b 45 0c             	mov    0xc(%ebp),%eax
47ee15:	0f b7 30             	movzwl (%eax),%esi
47ee18:	83 c0 02             	add    $0x2,%eax
47ee1b:	89 45 0c             	mov    %eax,0xc(%ebp)
47ee1e:	6a 08                	push   $0x8
47ee20:	56                   	push   %esi
47ee21:	e8 7a aa 00 00       	call   0x4898a0
47ee26:	59                   	pop    %ecx
47ee27:	59                   	pop    %ecx
47ee28:	85 c0                	test   %eax,%eax
47ee2a:	75 e6                	jne    0x47ee12
47ee2c:	0f b6 5d 18          	movzbl 0x18(%ebp),%ebx
47ee30:	66 83 fe 2d          	cmp    $0x2d,%si
47ee34:	75 05                	jne    0x47ee3b
47ee36:	83 cb 02             	or     $0x2,%ebx
47ee39:	eb 06                	jmp    0x47ee41
47ee3b:	66 83 fe 2b          	cmp    $0x2b,%si
47ee3f:	75 0e                	jne    0x47ee4f
47ee41:	8b 55 0c             	mov    0xc(%ebp),%edx
47ee44:	0f b7 32             	movzwl (%edx),%esi
47ee47:	83 c2 02             	add    $0x2,%edx
47ee4a:	89 55 0c             	mov    %edx,0xc(%ebp)
47ee4d:	eb 03                	jmp    0x47ee52
47ee4f:	8b 55 0c             	mov    0xc(%ebp),%edx
47ee52:	c7 85 74 ff ff ff 3a 	movl   $0x3a,-0x8c(%ebp)
47ee59:	00 00 00
47ee5c:	b8 10 ff 00 00       	mov    $0xff10,%eax
47ee61:	c7 45 f8 60 06 00 00 	movl   $0x660,-0x8(%ebp)
47ee68:	c7 45 f4 6a 06 00 00 	movl   $0x66a,-0xc(%ebp)
47ee6f:	c7 45 f0 f0 06 00 00 	movl   $0x6f0,-0x10(%ebp)
47ee76:	c7 45 ec fa 06 00 00 	movl   $0x6fa,-0x14(%ebp)
47ee7d:	c7 45 e8 66 09 00 00 	movl   $0x966,-0x18(%ebp)
47ee84:	c7 45 e4 70 09 00 00 	movl   $0x970,-0x1c(%ebp)
47ee8b:	c7 45 e0 e6 09 00 00 	movl   $0x9e6,-0x20(%ebp)
47ee92:	c7 45 dc f0 09 00 00 	movl   $0x9f0,-0x24(%ebp)
47ee99:	c7 45 d8 66 0a 00 00 	movl   $0xa66,-0x28(%ebp)
47eea0:	c7 45 d4 70 0a 00 00 	movl   $0xa70,-0x2c(%ebp)
47eea7:	c7 45 d0 e6 0a 00 00 	movl   $0xae6,-0x30(%ebp)
47eeae:	c7 45 cc f0 0a 00 00 	movl   $0xaf0,-0x34(%ebp)
47eeb5:	c7 45 c8 66 0b 00 00 	movl   $0xb66,-0x38(%ebp)
47eebc:	c7 45 c4 70 0b 00 00 	movl   $0xb70,-0x3c(%ebp)
47eec3:	c7 45 c0 66 0c 00 00 	movl   $0xc66,-0x40(%ebp)
47eeca:	c7 45 bc 70 0c 00 00 	movl   $0xc70,-0x44(%ebp)
47eed1:	c7 45 b8 e6 0c 00 00 	movl   $0xce6,-0x48(%ebp)
47eed8:	c7 45 b4 f0 0c 00 00 	movl   $0xcf0,-0x4c(%ebp)
47eedf:	c7 45 b0 66 0d 00 00 	movl   $0xd66,-0x50(%ebp)
47eee6:	c7 45 ac 70 0d 00 00 	movl   $0xd70,-0x54(%ebp)
47eeed:	c7 45 a8 50 0e 00 00 	movl   $0xe50,-0x58(%ebp)
47eef4:	c7 45 a4 5a 0e 00 00 	movl   $0xe5a,-0x5c(%ebp)
47eefb:	c7 45 a0 d0 0e 00 00 	movl   $0xed0,-0x60(%ebp)
47ef02:	c7 45 9c da 0e 00 00 	movl   $0xeda,-0x64(%ebp)
47ef09:	c7 45 98 20 0f 00 00 	movl   $0xf20,-0x68(%ebp)
47ef10:	c7 45 94 2a 0f 00 00 	movl   $0xf2a,-0x6c(%ebp)
47ef17:	c7 45 90 40 10 00 00 	movl   $0x1040,-0x70(%ebp)
47ef1e:	c7 45 8c 4a 10 00 00 	movl   $0x104a,-0x74(%ebp)
47ef25:	c7 45 88 e0 17 00 00 	movl   $0x17e0,-0x78(%ebp)
47ef2c:	c7 45 84 ea 17 00 00 	movl   $0x17ea,-0x7c(%ebp)
47ef33:	c7 45 80 10 18 00 00 	movl   $0x1810,-0x80(%ebp)
47ef3a:	c7 85 7c ff ff ff 1a 	movl   $0x181a,-0x84(%ebp)
47ef41:	18 00 00
47ef44:	c7 85 78 ff ff ff 1a 	movl   $0xff1a,-0x88(%ebp)
47ef4b:	ff 00 00
47ef4e:	6a 30                	push   $0x30
47ef50:	59                   	pop    %ecx
47ef51:	85 ff                	test   %edi,%edi
47ef53:	74 09                	je     0x47ef5e
47ef55:	83 ff 10             	cmp    $0x10,%edi
47ef58:	0f 85 e2 01 00 00    	jne    0x47f140
47ef5e:	66 3b f1             	cmp    %cx,%si
47ef61:	0f 82 66 01 00 00    	jb     0x47f0cd
47ef67:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
47ef6e:	73 0a                	jae    0x47ef7a
47ef70:	0f b7 c6             	movzwl %si,%eax
47ef73:	2b c1                	sub    %ecx,%eax
47ef75:	e9 4e 01 00 00       	jmp    0x47f0c8
47ef7a:	66 3b f0             	cmp    %ax,%si
47ef7d:	0f 83 34 01 00 00    	jae    0x47f0b7
47ef83:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47ef86:	66 3b f1             	cmp    %cx,%si
47ef89:	0f 82 3e 01 00 00    	jb     0x47f0cd
47ef8f:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
47ef93:	72 db                	jb     0x47ef70
47ef95:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47ef98:	66 3b f1             	cmp    %cx,%si
47ef9b:	0f 82 2c 01 00 00    	jb     0x47f0cd
47efa1:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
47efa5:	72 c9                	jb     0x47ef70
47efa7:	8b 4d e8             	mov    -0x18(%ebp),%ecx
47efaa:	66 3b f1             	cmp    %cx,%si
47efad:	0f 82 1a 01 00 00    	jb     0x47f0cd
47efb3:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
47efb7:	72 b7                	jb     0x47ef70
47efb9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
47efbc:	66 3b f1             	cmp    %cx,%si
47efbf:	0f 82 08 01 00 00    	jb     0x47f0cd
47efc5:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
47efc9:	72 a5                	jb     0x47ef70
47efcb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47efce:	66 3b f1             	cmp    %cx,%si
47efd1:	0f 82 f6 00 00 00    	jb     0x47f0cd
47efd7:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
47efdb:	72 93                	jb     0x47ef70
47efdd:	8b 4d d0             	mov    -0x30(%ebp),%ecx
47efe0:	66 3b f1             	cmp    %cx,%si
47efe3:	0f 82 e4 00 00 00    	jb     0x47f0cd
47efe9:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
47efed:	72 81                	jb     0x47ef70
47efef:	8b 4d c8             	mov    -0x38(%ebp),%ecx
47eff2:	66 3b f1             	cmp    %cx,%si
47eff5:	0f 82 d2 00 00 00    	jb     0x47f0cd
47effb:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
47efff:	0f 82 6b ff ff ff    	jb     0x47ef70
47f005:	8b 4d c0             	mov    -0x40(%ebp),%ecx
47f008:	66 3b f1             	cmp    %cx,%si
47f00b:	0f 82 bc 00 00 00    	jb     0x47f0cd
47f011:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
47f015:	0f 82 55 ff ff ff    	jb     0x47ef70
47f01b:	8b 4d b8             	mov    -0x48(%ebp),%ecx
47f01e:	66 3b f1             	cmp    %cx,%si
47f021:	0f 82 a6 00 00 00    	jb     0x47f0cd
47f027:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
47f02b:	0f 82 3f ff ff ff    	jb     0x47ef70
47f031:	8b 4d b0             	mov    -0x50(%ebp),%ecx
47f034:	66 3b f1             	cmp    %cx,%si
47f037:	0f 82 90 00 00 00    	jb     0x47f0cd
47f03d:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
47f041:	0f 82 29 ff ff ff    	jb     0x47ef70
47f047:	8b 4d a8             	mov    -0x58(%ebp),%ecx
47f04a:	66 3b f1             	cmp    %cx,%si
47f04d:	72 7e                	jb     0x47f0cd
47f04f:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
47f053:	0f 82 17 ff ff ff    	jb     0x47ef70
47f059:	8b 4d a0             	mov    -0x60(%ebp),%ecx
47f05c:	66 3b f1             	cmp    %cx,%si
47f05f:	72 6c                	jb     0x47f0cd
47f061:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
47f065:	0f 82 05 ff ff ff    	jb     0x47ef70
47f06b:	8b 4d 98             	mov    -0x68(%ebp),%ecx
47f06e:	66 3b f1             	cmp    %cx,%si
47f071:	72 5a                	jb     0x47f0cd
47f073:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
47f077:	0f 82 f3 fe ff ff    	jb     0x47ef70
47f07d:	8b 4d 90             	mov    -0x70(%ebp),%ecx
47f080:	66 3b f1             	cmp    %cx,%si
47f083:	72 48                	jb     0x47f0cd
47f085:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
47f089:	0f 82 e1 fe ff ff    	jb     0x47ef70
47f08f:	8b 4d 88             	mov    -0x78(%ebp),%ecx
47f092:	66 3b f1             	cmp    %cx,%si
47f095:	72 36                	jb     0x47f0cd
47f097:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
47f09b:	0f 82 cf fe ff ff    	jb     0x47ef70
47f0a1:	8b 4d 80             	mov    -0x80(%ebp),%ecx
47f0a4:	66 3b f1             	cmp    %cx,%si
47f0a7:	72 24                	jb     0x47f0cd
47f0a9:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
47f0b0:	73 1b                	jae    0x47f0cd
47f0b2:	e9 b9 fe ff ff       	jmp    0x47ef70
47f0b7:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
47f0be:	73 0d                	jae    0x47f0cd
47f0c0:	0f b7 c6             	movzwl %si,%eax
47f0c3:	2d 10 ff 00 00       	sub    $0xff10,%eax
47f0c8:	83 f8 ff             	cmp    $0xffffffff,%eax
47f0cb:	75 25                	jne    0x47f0f2
47f0cd:	0f b7 c6             	movzwl %si,%eax
47f0d0:	83 f8 41             	cmp    $0x41,%eax
47f0d3:	72 0a                	jb     0x47f0df
47f0d5:	83 f8 5a             	cmp    $0x5a,%eax
47f0d8:	77 05                	ja     0x47f0df
47f0da:	8d 48 9f             	lea    -0x61(%eax),%ecx
47f0dd:	eb 08                	jmp    0x47f0e7
47f0df:	8d 48 9f             	lea    -0x61(%eax),%ecx
47f0e2:	83 f9 19             	cmp    $0x19,%ecx
47f0e5:	77 4c                	ja     0x47f133
47f0e7:	83 f9 19             	cmp    $0x19,%ecx
47f0ea:	77 03                	ja     0x47f0ef
47f0ec:	83 c0 e0             	add    $0xffffffe0,%eax
47f0ef:	83 c0 c9             	add    $0xffffffc9,%eax
47f0f2:	85 c0                	test   %eax,%eax
47f0f4:	75 3d                	jne    0x47f133
47f0f6:	0f b7 02             	movzwl (%edx),%eax
47f0f9:	8d 4a 02             	lea    0x2(%edx),%ecx
47f0fc:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47f0ff:	83 f8 78             	cmp    $0x78,%eax
47f102:	74 1a                	je     0x47f11e
47f104:	83 f8 58             	cmp    $0x58,%eax
47f107:	74 15                	je     0x47f11e
47f109:	85 ff                	test   %edi,%edi
47f10b:	75 06                	jne    0x47f113
47f10d:	6a 08                	push   $0x8
47f10f:	5f                   	pop    %edi
47f110:	89 7d 14             	mov    %edi,0x14(%ebp)
47f113:	50                   	push   %eax
47f114:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47f117:	e8 be 9f ff ff       	call   0x4790da
47f11c:	eb 1f                	jmp    0x47f13d
47f11e:	85 ff                	test   %edi,%edi
47f120:	75 06                	jne    0x47f128
47f122:	6a 10                	push   $0x10
47f124:	5f                   	pop    %edi
47f125:	89 7d 14             	mov    %edi,0x14(%ebp)
47f128:	0f b7 31             	movzwl (%ecx),%esi
47f12b:	8d 51 02             	lea    0x2(%ecx),%edx
47f12e:	89 55 0c             	mov    %edx,0xc(%ebp)
47f131:	eb 0a                	jmp    0x47f13d
47f133:	85 ff                	test   %edi,%edi
47f135:	75 06                	jne    0x47f13d
47f137:	6a 0a                	push   $0xa
47f139:	5f                   	pop    %edi
47f13a:	89 7d 14             	mov    %edi,0x14(%ebp)
47f13d:	6a 30                	push   $0x30