47ec77:	2b f8                	sub    %eax,%edi
47ec79:	03 f9                	add    %ecx,%edi
47ec7b:	4a                   	dec    %edx
47ec7c:	75 dd                	jne    0x47ec5b
47ec7e:	e9 6c a2 f8 ff       	jmp    0x408eef
47ec83:	f6 45 10 40          	testb  $0x40,0x10(%ebp)
47ec87:	0f 84 62 a2 f8 ff    	je     0x408eef
47ec8d:	8b 45 08             	mov    0x8(%ebp),%eax
47ec90:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
47ec96:	e9 54 a2 f8 ff       	jmp    0x408eef
47ec9b:	66 83 7e 02 7b       	cmpw   $0x7b,0x2(%esi)
47eca0:	8b fb                	mov    %ebx,%edi
47eca2:	0f 85 c8 00 00 00    	jne    0x47ed70
47eca8:	83 c6 04             	add    $0x4,%esi
47ecab:	0f b7 06             	movzwl (%esi),%eax
47ecae:	66 3b c2             	cmp    %dx,%ax
47ecb1:	77 58                	ja     0x47ed0b
47ecb3:	6a 30                	push   $0x30
47ecb5:	59                   	pop    %ecx
47ecb6:	0f b7 c0             	movzwl %ax,%eax
47ecb9:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ecbc:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ecc3:	74 46                	je     0x47ed0b
47ecc5:	83 c6 02             	add    $0x2,%esi
47ecc8:	85 ff                	test   %edi,%edi
47ecca:	75 04                	jne    0x47ecd0
47eccc:	3b c1                	cmp    %ecx,%eax
47ecce:	74 33                	je     0x47ed03
47ecd0:	83 f8 61             	cmp    $0x61,%eax
47ecd3:	72 06                	jb     0x47ecdb
47ecd5:	83 e8 20             	sub    $0x20,%eax
47ecd8:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ecdb:	83 f8 41             	cmp    $0x41,%eax
47ecde:	1b c0                	sbb    %eax,%eax
47ece0:	83 e0 f9             	and    $0xfffffff9,%eax
47ece3:	83 c0 37             	add    $0x37,%eax
47ece6:	c1 e7 04             	shl    $0x4,%edi
47ece9:	2b f8                	sub    %eax,%edi
47eceb:	03 7d ec             	add    -0x14(%ebp),%edi
47ecee:	8b 45 fc             	mov    -0x4(%ebp),%eax
47ecf1:	f7 d8                	neg    %eax
47ecf3:	1b c0                	sbb    %eax,%eax
47ecf5:	25 00 00 10 00       	and    $0x100000,%eax
47ecfa:	05 ff ff 00 00       	add    $0xffff,%eax
47ecff:	3b f8                	cmp    %eax,%edi
47ed01:	77 22                	ja     0x47ed25
47ed03:	0f b7 06             	movzwl (%esi),%eax
47ed06:	66 3b c2             	cmp    %dx,%ax
47ed09:	76 ab                	jbe    0x47ecb6
47ed0b:	66 83 3e 7d          	cmpw   $0x7d,(%esi)
47ed0f:	75 51                	jne    0x47ed62
47ed11:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
47ed14:	eb 27                	jmp    0x47ed3d
47ed16:	0f b7 c0             	movzwl %ax,%eax
47ed19:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ed20:	74 0b                	je     0x47ed2d
47ed22:	83 c6 02             	add    $0x2,%esi
47ed25:	0f b7 06             	movzwl (%esi),%eax
47ed28:	66 3b c2             	cmp    %dx,%ax
47ed2b:	76 e9                	jbe    0x47ed16
47ed2d:	8b 45 08             	mov    0x8(%ebp),%eax
47ed30:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
47ed36:	e9 b4 a1 f8 ff       	jmp    0x408eef
47ed3b:	85 d2                	test   %edx,%edx
47ed3d:	0f 84 ac a1 f8 ff    	je     0x408eef
47ed43:	8d 87 00 28 ff ff    	lea    -0xd800(%edi),%eax
47ed49:	3d ff 07 00 00       	cmp    $0x7ff,%eax
47ed4e:	0f 87 9b a1 f8 ff    	ja     0x408eef
47ed54:	8b 45 08             	mov    0x8(%ebp),%eax
47ed57:	c7 00 49 00 00 00    	movl   $0x49,(%eax)
47ed5d:	e9 8d a1 f8 ff       	jmp    0x408eef
47ed62:	8b 45 08             	mov    0x8(%ebp),%eax
47ed65:	c7 00 4f 00 00 00    	movl   $0x4f,(%eax)
47ed6b:	e9 7f a1 f8 ff       	jmp    0x408eef
47ed70:	8d 46 02             	lea    0x2(%esi),%eax
47ed73:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47ed76:	0f b7 00             	movzwl (%eax),%eax
47ed79:	41                   	inc    %ecx
47ed7a:	66 3b c2             	cmp    %dx,%ax
47ed7d:	0f 87 6c a1 f8 ff    	ja     0x408eef
47ed83:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ed8a:	0f 84 5f a1 f8 ff    	je     0x408eef
47ed90:	8b 75 e4             	mov    -0x1c(%ebp),%esi
47ed93:	0f b7 06             	movzwl (%esi),%eax
47ed96:	89 45 ec             	mov    %eax,-0x14(%ebp)
47ed99:	83 f8 61             	cmp    $0x61,%eax
47ed9c:	72 06                	jb     0x47eda4
47ed9e:	83 e8 20             	sub    $0x20,%eax
47eda1:	89 45 ec             	mov    %eax,-0x14(%ebp)
47eda4:	83 f8 41             	cmp    $0x41,%eax
47eda7:	1b c0                	sbb    %eax,%eax
47eda9:	83 e0 f9             	and    $0xfffffff9,%eax
47edac:	c1 e7 04             	shl    $0x4,%edi
47edaf:	83 c0 37             	add    $0x37,%eax
47edb2:	2b f8                	sub    %eax,%edi
47edb4:	03 7d ec             	add    -0x14(%ebp),%edi
47edb7:	83 f9 02             	cmp    $0x2,%ecx
47edba:	7c b4                	jl     0x47ed70
47edbc:	e9 2e a1 f8 ff       	jmp    0x408eef
47edc1:	f7 45 10 00 00 00 02 	testl  $0x2000000,0x10(%ebp)
47edc8:	0f 84 7e 01 00 00    	je     0x47ef4c
47edce:	0f b7 46 02          	movzwl 0x2(%esi),%eax
47edd2:	ba ff 00 00 00       	mov    $0xff,%edx
47edd7:	66 3b c2             	cmp    %dx,%ax
47edda:	0f 87 0f a1 f8 ff    	ja     0x408eef
47ede0:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ede7:	0f 84 02 a1 f8 ff    	je     0x408eef
47eded:	0f b7 46 04          	movzwl 0x4(%esi),%eax
47edf1:	66 3b c2             	cmp    %dx,%ax
47edf4:	0f 87 f5 a0 f8 ff    	ja     0x408eef
47edfa:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ee01:	0f 84 e8 a0 f8 ff    	je     0x408eef
47ee07:	0f b7 46 06          	movzwl 0x6(%esi),%eax
47ee0b:	66 3b c2             	cmp    %dx,%ax
47ee0e:	0f 87 db a0 f8 ff    	ja     0x408eef
47ee14:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ee1b:	0f 84 ce a0 f8 ff    	je     0x408eef
47ee21:	0f b7 46 08          	movzwl 0x8(%esi),%eax
47ee25:	66 3b c2             	cmp    %dx,%ax
47ee28:	0f 87 c1 a0 f8 ff    	ja     0x408eef
47ee2e:	f6 80 10 5f 4b 00 08 	testb  $0x8,0x4b5f10(%eax)
47ee35:	0f 84 b4 a0 f8 ff    	je     0x408eef
47ee3b:	6a 04                	push   $0x4
47ee3d:	8b fb                	mov    %ebx,%edi
47ee3f:	5a                   	pop    %edx
47ee40:	83 c6 02             	add    $0x2,%esi
47ee43:	0f b7 0e             	movzwl (%esi),%ecx
47ee46:	83 f9 61             	cmp    $0x61,%ecx
47ee49:	72 03                	jb     0x47ee4e
47ee4b:	83 e9 20             	sub    $0x20,%ecx
47ee4e:	83 f9 41             	cmp    $0x41,%ecx
47ee51:	1b c0                	sbb    %eax,%eax
47ee53:	83 e0 f9             	and    $0xfffffff9,%eax
47ee56:	c1 e7 04             	shl    $0x4,%edi
47ee59:	83 c0 37             	add    $0x37,%eax
47ee5c:	2b f8                	sub    %eax,%edi
47ee5e:	03 f9                	add    %ecx,%edi
47ee60:	4a                   	dec    %edx
47ee61:	75 dd                	jne    0x47ee40
47ee63:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47ee66:	8b c1                	mov    %ecx,%eax
47ee68:	f7 d8                	neg    %eax
47ee6a:	1b c0                	sbb    %eax,%eax
47ee6c:	25 00 00 10 00       	and    $0x100000,%eax
47ee71:	05 ff ff 00 00       	add    $0xffff,%eax
47ee76:	3b f8                	cmp    %eax,%edi
47ee78:	76 0e                	jbe    0x47ee88
47ee7a:	8b 45 08             	mov    0x8(%ebp),%eax
47ee7d:	c7 00 4c 00 00 00    	movl   $0x4c,(%eax)
47ee83:	e9 67 a0 f8 ff       	jmp    0x408eef
47ee88:	85 c9                	test   %ecx,%ecx
47ee8a:	e9 ae fe ff ff       	jmp    0x47ed3d
47ee8f:	66 83 7e 02 7b       	cmpw   $0x7b,0x2(%esi)
47ee94:	74 0e                	je     0x47eea4
47ee96:	8b 45 08             	mov    0x8(%ebp),%eax
47ee99:	c7 00 51 00 00 00    	movl   $0x51,(%eax)
47ee9f:	e9 4b a0 f8 ff       	jmp    0x408eef
47eea4:	83 c6 04             	add    $0x4,%esi
47eea7:	6a 30                	push   $0x30
47eea9:	0f b7 06             	movzwl (%esi),%eax
47eeac:	59                   	pop    %ecx
47eead:	8b fb                	mov    %ebx,%edi
47eeaf:	66 3b c1             	cmp    %cx,%ax
47eeb2:	72 3c                	jb     0x47eef0
47eeb4:	6a 37                	push   $0x37
47eeb6:	5a                   	pop    %edx
47eeb7:	66 3b c2             	cmp    %dx,%ax
47eeba:	77 31                	ja     0x47eeed
47eebc:	83 c6 02             	add    $0x2,%esi
47eebf:	0f b7 c0             	movzwl %ax,%eax
47eec2:	85 ff                	test   %edi,%edi
47eec4:	75 04                	jne    0x47eeca
47eec6:	3b c1                	cmp    %ecx,%eax
47eec8:	74 1b                	je     0x47eee5
47eeca:	83 c0 d0             	add    $0xffffffd0,%eax
47eecd:	8d 3c f8             	lea    (%eax,%edi,8),%edi
47eed0:	8b 45 fc             	mov    -0x4(%ebp),%eax
47eed3:	f7 d8                	neg    %eax
47eed5:	1b c0                	sbb    %eax,%eax
47eed7:	25 00 00 10 00       	and    $0x100000,%eax
47eedc:	05 ff ff 00 00       	add    $0xffff,%eax
47eee1:	3b f8                	cmp    %eax,%edi
47eee3:	77 2f                	ja     0x47ef14
47eee5:	0f b7 06             	movzwl (%esi),%eax
47eee8:	66 3b c1             	cmp    %cx,%ax
47eeeb:	73 ca                	jae    0x47eeb7
47eeed:	8b 55 fc             	mov    -0x4(%ebp),%edx
47eef0:	66 83 3e 7d          	cmpw   $0x7d,(%esi)
47eef4:	0f 84 41 fe ff ff    	je     0x47ed3b
47eefa:	8b 45 08             	mov    0x8(%ebp),%eax
47eefd:	c7 00 50 00 00 00    	movl   $0x50,(%eax)
47ef03:	e9 e7 9f f8 ff       	jmp    0x408eef
47ef08:	66 3b c2             	cmp    %dx,%ax
47ef0b:	0f 87 1c fe ff ff    	ja     0x47ed2d
47ef11:	83 c6 02             	add    $0x2,%esi
47ef14:	0f b7 06             	movzwl (%esi),%eax
47ef17:	66 3b c1             	cmp    %cx,%ax
47ef1a:	73 ec                	jae    0x47ef08
47ef1c:	e9 0c fe ff ff       	jmp    0x47ed2d
47ef21:	8b 45 08             	mov    0x8(%ebp),%eax
47ef24:	c7 00 25 00 00 00    	movl   $0x25,(%eax)
47ef2a:	e9 b7 9f f8 ff       	jmp    0x408ee6
47ef2f:	8b 45 e8             	mov    -0x18(%ebp),%eax
47ef32:	66 39 46 02          	cmp    %ax,0x2(%esi)
47ef36:	0f 85 b3 9f f8 ff    	jne    0x408eef
47ef3c:	8d 4e 04             	lea    0x4(%esi),%ecx
47ef3f:	e8 56 20 ff ff       	call   0x470f9a
47ef44:	85 c0                	test   %eax,%eax
47ef46:	0f 85 a3 9f f8 ff    	jne    0x408eef
47ef4c:	8b 45 08             	mov    0x8(%ebp),%eax
47ef4f:	c7 00 25 00 00 00    	movl   $0x25,(%eax)
47ef55:	e9 95 9f f8 ff       	jmp    0x408eef
47ef5a:	8d 4b fa             	lea    -0x6(%ebx),%ecx
47ef5d:	83 f9 05             	cmp    $0x5,%ecx
47ef60:	0f 87 96 9f f8 ff    	ja     0x408efc
47ef66:	83 c3 17             	add    $0x17,%ebx
47ef69:	e9 8e 9f f8 ff       	jmp    0x408efc
47ef6e:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
47ef72:	0f 84 4b e6 f9 ff    	je     0x41d5c3
47ef78:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
47ef7c:	0f 84 41 e6 f9 ff    	je     0x41d5c3
47ef82:	66 3b 45 e0          	cmp    -0x20(%ebp),%ax
47ef86:	0f 85 44 e5 f9 ff    	jne    0x41d4d0
47ef8c:	e9 32 e6 f9 ff       	jmp    0x41d5c3
47ef91:	8d 5f 08             	lea    0x8(%edi),%ebx
47ef94:	8d 7d c0             	lea    -0x40(%ebp),%edi
47ef97:	e9 6b e6 f9 ff       	jmp    0x41d607
47ef9c:	83 e8 06             	sub    $0x6,%eax
47ef9f:	83 f8 19             	cmp    $0x19,%eax
47efa2:	0f 87 28 e5 f9 ff    	ja     0x41d4d0
47efa8:	0f b6 80 3a f5 47 00 	movzbl 0x47f53a(%eax),%eax
47efaf:	ff 24 85 fe f4 47 00 	jmp    *0x47f4fe(,%eax,4)
47efb6:	8d 47 08             	lea    0x8(%edi),%eax
47efb9:	8b 10                	mov    (%eax),%edx
47efbb:	3b ca                	cmp    %edx,%ecx
47efbd:	0f 84 0d e5 f9 ff    	je     0x41d4d0
47efc3:	83 c0 04             	add    $0x4,%eax
47efc6:	8b 10                	mov    (%eax),%edx
47efc8:	83 fa ff             	cmp    $0xffffffff,%edx
47efcb:	75 ee                	jne    0x47efbb
47efcd:	e9 7d e6 f9 ff       	jmp    0x41d64f
47efd2:	8d 47 08             	lea    0x8(%edi),%eax
47efd5:	8b 10                	mov    (%eax),%edx
47efd7:	3b ca                	cmp    %edx,%ecx
47efd9:	74 0a                	je     0x47efe5
47efdb:	83 c0 04             	add    $0x4,%eax
47efde:	8b 10                	mov    (%eax),%edx
47efe0:	83 fa ff             	cmp    $0xffffffff,%edx
47efe3:	75 f2                	jne    0x47efd7
47efe5:	83 38 ff             	cmpl   $0xffffffff,(%eax)
47efe8:	eb 18                	jmp    0x47f002
47efea:	8b 57 08             	mov    0x8(%edi),%edx
47efed:	33 c0                	xor    %eax,%eax
47efef:	83 3f 0f             	cmpl   $0xf,(%edi)
47eff2:	0f 94 c0             	sete   %al
47eff5:	50                   	push   %eax
47eff6:	ff 77 0c             	push   0xc(%edi)
47eff9:	e8 db 17 ff ff       	call   0x4707d9
47effe:	59                   	pop    %ecx
47efff:	59                   	pop    %ecx
47f000:	85 c0                	test   %eax,%eax
47f002:	0f 84 c8 e4 f9 ff    	je     0x41d4d0
47f008:	e9 42 e6 f9 ff       	jmp    0x41d64f
47f00d:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
47f013:	0f 83 36 e6 f9 ff    	jae    0x41d64f
47f019:	8b 46 0c             	mov    0xc(%esi),%eax
47f01c:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
47f020:	eb 18                	jmp    0x47f03a
47f022:	8b 55 10             	mov    0x10(%ebp),%edx
47f025:	8b 47 08             	mov    0x8(%edi),%eax
47f028:	ff 75 f4             	push   -0xc(%ebp)
47f02b:	03 c0                	add    %eax,%eax
47f02d:	2b d0                	sub    %eax,%edx
47f02f:	83 c2 02             	add    $0x2,%edx
47f032:	e8 de 23 ff ff       	call   0x471415
47f037:	59                   	pop    %ecx
47f038:	85 c0                	test   %eax,%eax
47f03a:	0f 85 90 e4 f9 ff    	jne    0x41d4d0
47f040:	e9 0a e6 f9 ff       	jmp    0x41d64f
47f045:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
47f04b:	0f 87 7f e4 f9 ff    	ja     0x41d4d0
47f051:	8b 46 0c             	mov    0xc(%esi),%eax
47f054:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
47f058:	eb a8                	jmp    0x47f002
47f05a:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
47f060:	0f 83 e9 e5 f9 ff    	jae    0x41d64f
47f066:	8b 46 0c             	mov    0xc(%esi),%eax
47f069:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
47f06d:	eb cb                	jmp    0x47f03a
47f06f:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
47f075:	0f 87 55 e4 f9 ff    	ja     0x41d4d0
47f07b:	8b 46 0c             	mov    0xc(%esi),%eax
47f07e:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
47f082:	e9 7b ff ff ff       	jmp    0x47f002
47f087:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
47f08d:	0f 83 bc e5 f9 ff    	jae    0x41d64f
47f093:	8b 46 0c             	mov    0xc(%esi),%eax
47f096:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
47f09a:	eb 9e                	jmp    0x47f03a
47f09c:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
47f0a2:	0f 87 28 e4 f9 ff    	ja     0x41d4d0
47f0a8:	8b 46 0c             	mov    0xc(%esi),%eax
47f0ab:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
47f0af:	e9 4e ff ff ff       	jmp    0x47f002
47f0b4:	b8 0e 18 00 00       	mov    $0x180e,%eax
47f0b9:	3b c8                	cmp    %eax,%ecx
47f0bb:	77 2f                	ja     0x47f0ec
47f0bd:	0f 84 0d e4 f9 ff    	je     0x41d4d0
47f0c3:	83 f9 09             	cmp    $0x9,%ecx
47f0c6:	0f 84 04 e4 f9 ff    	je     0x41d4d0
47f0cc:	83 f9 20             	cmp    $0x20,%ecx
47f0cf:	0f 84 fb e3 f9 ff    	je     0x41d4d0
47f0d5:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
47f0db:	0f 84 ef e3 f9 ff    	je     0x41d4d0
47f0e1:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
47f0e7:	e9 16 ff ff ff       	jmp    0x47f002
47f0ec:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
47f0f2:	0f 82 57 e5 f9 ff    	jb     0x41d64f
47f0f8:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
47f0fe:	0f 86 cc e3 f9 ff    	jbe    0x41d4d0
47f104:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
47f10a:	0f 84 c0 e3 f9 ff    	je     0x41d4d0
47f110:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
47f116:	0f 84 b4 e3 f9 ff    	je     0x41d4d0
47f11c:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
47f122:	e9 db fe ff ff       	jmp    0x47f002
47f127:	b8 0e 18 00 00       	mov    $0x180e,%eax
47f12c:	3b c8                	cmp    %eax,%ecx
47f12e:	77 2f                	ja     0x47f15f
47f130:	0f 84 19 e5 f9 ff    	je     0x41d64f
47f136:	83 f9 09             	cmp    $0x9,%ecx
47f139:	0f 84 10 e5 f9 ff    	je     0x41d64f
47f13f:	83 f9 20             	cmp    $0x20,%ecx
47f142:	0f 84 07 e5 f9 ff    	je     0x41d64f
47f148:	81 f9 a0 00 00 00    	cmp    $0xa0,%ecx
47f14e:	0f 84 fb e4 f9 ff    	je     0x41d64f
47f154:	81 f9 80 16 00 00    	cmp    $0x1680,%ecx
47f15a:	e9 db fe ff ff       	jmp    0x47f03a
47f15f:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
47f165:	0f 82 65 e3 f9 ff    	jb     0x41d4d0
47f16b:	81 f9 0a 20 00 00    	cmp    $0x200a,%ecx
47f171:	0f 86 d8 e4 f9 ff    	jbe    0x41d64f
47f177:	81 f9 2f 20 00 00    	cmp    $0x202f,%ecx
47f17d:	0f 84 cc e4 f9 ff    	je     0x41d64f
47f183:	81 f9 5f 20 00 00    	cmp    $0x205f,%ecx
47f189:	0f 84 c0 e4 f9 ff    	je     0x41d64f
47f18f:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
47f195:	e9 a0 fe ff ff       	jmp    0x47f03a
47f19a:	83 f9 0a             	cmp    $0xa,%ecx
47f19d:	0f 82 ac e4 f9 ff    	jb     0x41d64f