487030:	0f 84 3e 35 f8 ff    	je     0x40a574
487036:	e9 3e ff ff ff       	jmp    0x486f79
48703b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48703e:	83 f9 01             	cmp    $0x1,%ecx
487041:	8b 4d f8             	mov    -0x8(%ebp),%ecx
487044:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
48704b:	0f 8c 44 3a f8 ff    	jl     0x40aa95
487051:	8b 45 f0             	mov    -0x10(%ebp),%eax
487054:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
487057:	0f 83 fa 2c 00 00    	jae    0x489d57
48705d:	83 c1 02             	add    $0x2,%ecx
487060:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487063:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
487066:	73 24                	jae    0x48708c
487068:	66 8b 01             	mov    (%ecx),%ax
48706b:	c7 45 f4 00 fc 00 00 	movl   $0xfc00,-0xc(%ebp)
487072:	66 23 45 f4          	and    -0xc(%ebp),%ax
487076:	c7 45 f4 00 dc 00 00 	movl   $0xdc00,-0xc(%ebp)
48707d:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
487081:	8b 45 f0             	mov    -0x10(%ebp),%eax
487084:	75 06                	jne    0x48708c
487086:	83 c1 02             	add    $0x2,%ecx
487089:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48708c:	ff 45 ec             	incl   -0x14(%ebp)
48708f:	39 45 ec             	cmp    %eax,-0x14(%ebp)
487092:	7e c0                	jle    0x487054
487094:	e9 f9 39 f8 ff       	jmp    0x40aa92
487099:	8b 43 7c             	mov    0x7c(%ebx),%eax
48709c:	03 c9                	add    %ecx,%ecx
48709e:	2b c1                	sub    %ecx,%eax
4870a0:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4870a3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4870a6:	3b c8                	cmp    %eax,%ecx
4870a8:	0f 87 c6 34 f8 ff    	ja     0x40a574
4870ae:	03 4d f4             	add    -0xc(%ebp),%ecx
4870b1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4870b4:	e9 d9 39 f8 ff       	jmp    0x40aa92
4870b9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4870bc:	83 f9 01             	cmp    $0x1,%ecx
4870bf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4870c2:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4870c9:	0f 8c c6 39 f8 ff    	jl     0x40aa95
4870cf:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
4870d2:	0f 83 7f 2c 00 00    	jae    0x489d57
4870d8:	0f b7 01             	movzwl (%ecx),%eax
4870db:	89 45 e0             	mov    %eax,-0x20(%ebp)
4870de:	83 c1 02             	add    $0x2,%ecx
4870e1:	25 00 fc 00 00       	and    $0xfc00,%eax
4870e6:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4870e9:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4870ee:	75 23                	jne    0x487113
4870f0:	0f b7 01             	movzwl (%ecx),%eax
4870f3:	81 65 e0 ff 03 00 00 	andl   $0x3ff,-0x20(%ebp)
4870fa:	c1 65 e0 0a          	shll   $0xa,-0x20(%ebp)
4870fe:	25 ff 03 00 00       	and    $0x3ff,%eax
487103:	0b 45 e0             	or     -0x20(%ebp),%eax
487106:	05 00 00 01 00       	add    $0x10000,%eax
48710b:	83 c1 02             	add    $0x2,%ecx
48710e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487111:	eb 03                	jmp    0x487116
487113:	8b 45 e0             	mov    -0x20(%ebp),%eax
487116:	83 f8 0d             	cmp    $0xd,%eax
487119:	77 28                	ja     0x487143
48711b:	74 13                	je     0x487130
48711d:	83 f8 0a             	cmp    $0xa,%eax
487120:	74 40                	je     0x487162
487122:	83 c0 f5             	add    $0xfffffff5,%eax
487125:	83 f8 01             	cmp    $0x1,%eax
487128:	0f 87 46 34 f8 ff    	ja     0x40a574
48712e:	eb 28                	jmp    0x487158
487130:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
487133:	73 2d                	jae    0x487162
487135:	66 83 39 0a          	cmpw   $0xa,(%ecx)
487139:	75 27                	jne    0x487162
48713b:	83 c1 02             	add    $0x2,%ecx
48713e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487141:	eb 1f                	jmp    0x487162
487143:	3d 85 00 00 00       	cmp    $0x85,%eax
487148:	74 0e                	je     0x487158
48714a:	05 d8 df ff ff       	add    $0xffffdfd8,%eax
48714f:	83 f8 01             	cmp    $0x1,%eax
487152:	0f 87 1c 34 f8 ff    	ja     0x40a574
487158:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
48715c:	0f 85 12 34 f8 ff    	jne    0x40a574
487162:	8b 45 f4             	mov    -0xc(%ebp),%eax
487165:	40                   	inc    %eax
487166:	89 45 f4             	mov    %eax,-0xc(%ebp)
487169:	3b 45 f0             	cmp    -0x10(%ebp),%eax
48716c:	0f 8e 5d ff ff ff    	jle    0x4870cf
487172:	e9 1b 39 f8 ff       	jmp    0x40aa92
487177:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48717a:	83 f9 01             	cmp    $0x1,%ecx
48717d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
487180:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
487187:	0f 8c 08 39 f8 ff    	jl     0x40aa95
48718d:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
487190:	0f 83 c1 2b 00 00    	jae    0x489d57
487196:	0f b7 01             	movzwl (%ecx),%eax
487199:	89 45 e0             	mov    %eax,-0x20(%ebp)
48719c:	83 c1 02             	add    $0x2,%ecx
48719f:	25 00 fc 00 00       	and    $0xfc00,%eax
4871a4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4871a7:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4871ac:	75 23                	jne    0x4871d1
4871ae:	0f b7 01             	movzwl (%ecx),%eax
4871b1:	81 65 e0 ff 03 00 00 	andl   $0x3ff,-0x20(%ebp)
4871b8:	c1 65 e0 0a          	shll   $0xa,-0x20(%ebp)
4871bc:	25 ff 03 00 00       	and    $0x3ff,%eax
4871c1:	0b 45 e0             	or     -0x20(%ebp),%eax
4871c4:	05 00 00 01 00       	add    $0x10000,%eax
4871c9:	83 c1 02             	add    $0x2,%ecx
4871cc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4871cf:	eb 03                	jmp    0x4871d4
4871d1:	8b 45 e0             	mov    -0x20(%ebp),%eax
4871d4:	3d 0e 18 00 00       	cmp    $0x180e,%eax
4871d9:	77 34                	ja     0x48720f
4871db:	0f 84 93 33 f8 ff    	je     0x40a574
4871e1:	3d a0 00 00 00       	cmp    $0xa0,%eax
4871e6:	77 1a                	ja     0x487202
4871e8:	0f 84 86 33 f8 ff    	je     0x40a574
4871ee:	83 f8 09             	cmp    $0x9,%eax
4871f1:	0f 84 7d 33 f8 ff    	je     0x40a574
4871f7:	83 f8 20             	cmp    $0x20,%eax
4871fa:	0f 84 74 33 f8 ff    	je     0x40a574
487200:	eb 44                	jmp    0x487246
487202:	3d 80 16 00 00       	cmp    $0x1680,%eax
487207:	0f 84 67 33 f8 ff    	je     0x40a574
48720d:	eb 37                	jmp    0x487246
48720f:	3d 5f 20 00 00       	cmp    $0x205f,%eax
487214:	77 25                	ja     0x48723b
487216:	0f 84 58 33 f8 ff    	je     0x40a574
48721c:	3d 00 20 00 00       	cmp    $0x2000,%eax
487221:	72 23                	jb     0x487246
487223:	3d 0a 20 00 00       	cmp    $0x200a,%eax
487228:	0f 86 46 33 f8 ff    	jbe    0x40a574
48722e:	3d 2f 20 00 00       	cmp    $0x202f,%eax
487233:	0f 84 3b 33 f8 ff    	je     0x40a574
487239:	eb 0b                	jmp    0x487246
48723b:	3d 00 30 00 00       	cmp    $0x3000,%eax
487240:	0f 84 2e 33 f8 ff    	je     0x40a574
487246:	8b 45 f4             	mov    -0xc(%ebp),%eax
487249:	40                   	inc    %eax
48724a:	89 45 f4             	mov    %eax,-0xc(%ebp)
48724d:	3b 45 f0             	cmp    -0x10(%ebp),%eax
487250:	0f 8e 37 ff ff ff    	jle    0x48718d
487256:	e9 37 38 f8 ff       	jmp    0x40aa92
48725b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
48725e:	83 f9 01             	cmp    $0x1,%ecx
487261:	8b 4d f8             	mov    -0x8(%ebp),%ecx
487264:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
48726b:	0f 8c 24 38 f8 ff    	jl     0x40aa95
487271:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
487274:	0f 83 dd 2a 00 00    	jae    0x489d57
48727a:	0f b7 01             	movzwl (%ecx),%eax
48727d:	89 45 e0             	mov    %eax,-0x20(%ebp)
487280:	83 c1 02             	add    $0x2,%ecx
487283:	25 00 fc 00 00       	and    $0xfc00,%eax
487288:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48728b:	3d 00 d8 00 00       	cmp    $0xd800,%eax
487290:	75 23                	jne    0x4872b5
487292:	0f b7 01             	movzwl (%ecx),%eax
487295:	81 65 e0 ff 03 00 00 	andl   $0x3ff,-0x20(%ebp)
48729c:	c1 65 e0 0a          	shll   $0xa,-0x20(%ebp)
4872a0:	25 ff 03 00 00       	and    $0x3ff,%eax
4872a5:	0b 45 e0             	or     -0x20(%ebp),%eax
4872a8:	05 00 00 01 00       	add    $0x10000,%eax
4872ad:	83 c1 02             	add    $0x2,%ecx
4872b0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4872b3:	eb 03                	jmp    0x4872b8
4872b5:	8b 45 e0             	mov    -0x20(%ebp),%eax
4872b8:	3d 0e 18 00 00       	cmp    $0x180e,%eax
4872bd:	77 28                	ja     0x4872e7
4872bf:	74 59                	je     0x48731a
4872c1:	3d a0 00 00 00       	cmp    $0xa0,%eax
4872c6:	77 12                	ja     0x4872da
4872c8:	74 50                	je     0x48731a
4872ca:	83 f8 09             	cmp    $0x9,%eax
4872cd:	74 4b                	je     0x48731a
4872cf:	83 f8 20             	cmp    $0x20,%eax
4872d2:	0f 85 9c 32 f8 ff    	jne    0x40a574
4872d8:	eb 40                	jmp    0x48731a
4872da:	3d 80 16 00 00       	cmp    $0x1680,%eax
4872df:	0f 85 8f 32 f8 ff    	jne    0x40a574
4872e5:	eb 33                	jmp    0x48731a
4872e7:	3d 5f 20 00 00       	cmp    $0x205f,%eax
4872ec:	77 21                	ja     0x48730f
4872ee:	74 2a                	je     0x48731a
4872f0:	3d 00 20 00 00       	cmp    $0x2000,%eax
4872f5:	0f 82 79 32 f8 ff    	jb     0x40a574
4872fb:	3d 0a 20 00 00       	cmp    $0x200a,%eax
487300:	76 18                	jbe    0x48731a
487302:	3d 2f 20 00 00       	cmp    $0x202f,%eax
487307:	0f 85 67 32 f8 ff    	jne    0x40a574
48730d:	eb 0b                	jmp    0x48731a
48730f:	3d 00 30 00 00       	cmp    $0x3000,%eax
487314:	0f 85 5a 32 f8 ff    	jne    0x40a574
48731a:	8b 45 f4             	mov    -0xc(%ebp),%eax
48731d:	40                   	inc    %eax
48731e:	89 45 f4             	mov    %eax,-0xc(%ebp)
487321:	3b 45 f0             	cmp    -0x10(%ebp),%eax
487324:	0f 8e 47 ff ff ff    	jle    0x487271
48732a:	e9 63 37 f8 ff       	jmp    0x40aa92
48732f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
487332:	83 f9 01             	cmp    $0x1,%ecx
487335:	8b 4d f8             	mov    -0x8(%ebp),%ecx
487338:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
48733f:	0f 8c 50 37 f8 ff    	jl     0x40aa95
487345:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
487348:	0f 83 09 2a 00 00    	jae    0x489d57
48734e:	0f b7 01             	movzwl (%ecx),%eax
487351:	89 45 e0             	mov    %eax,-0x20(%ebp)
487354:	83 c1 02             	add    $0x2,%ecx
487357:	25 00 fc 00 00       	and    $0xfc00,%eax
48735c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48735f:	3d 00 d8 00 00       	cmp    $0xd800,%eax
487364:	75 23                	jne    0x487389
487366:	0f b7 01             	movzwl (%ecx),%eax
487369:	81 65 e0 ff 03 00 00 	andl   $0x3ff,-0x20(%ebp)
487370:	c1 65 e0 0a          	shll   $0xa,-0x20(%ebp)
487374:	25 ff 03 00 00       	and    $0x3ff,%eax
487379:	0b 45 e0             	or     -0x20(%ebp),%eax
48737c:	05 00 00 01 00       	add    $0x10000,%eax
487381:	83 c1 02             	add    $0x2,%ecx
487384:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487387:	eb 03                	jmp    0x48738c
487389:	8b 45 e0             	mov    -0x20(%ebp),%eax
48738c:	3d 85 00 00 00       	cmp    $0x85,%eax
487391:	77 16                	ja     0x4873a9
487393:	0f 84 db 31 f8 ff    	je     0x40a574
487399:	83 f8 0a             	cmp    $0xa,%eax
48739c:	72 1d                	jb     0x4873bb
48739e:	83 f8 0d             	cmp    $0xd,%eax
4873a1:	0f 86 cd 31 f8 ff    	jbe    0x40a574
4873a7:	eb 12                	jmp    0x4873bb
4873a9:	3d 28 20 00 00       	cmp    $0x2028,%eax
4873ae:	72 0b                	jb     0x4873bb
4873b0:	3d 29 20 00 00       	cmp    $0x2029,%eax
4873b5:	0f 86 b9 31 f8 ff    	jbe    0x40a574
4873bb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4873be:	40                   	inc    %eax
4873bf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4873c2:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4873c5:	0f 8e 7a ff ff ff    	jle    0x487345
4873cb:	e9 c2 36 f8 ff       	jmp    0x40aa92
4873d0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4873d3:	83 f9 01             	cmp    $0x1,%ecx
4873d6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4873d9:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4873e0:	0f 8c af 36 f8 ff    	jl     0x40aa95
4873e6:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
4873e9:	0f 83 68 29 00 00    	jae    0x489d57
4873ef:	0f b7 01             	movzwl (%ecx),%eax
4873f2:	89 45 e0             	mov    %eax,-0x20(%ebp)
4873f5:	83 c1 02             	add    $0x2,%ecx
4873f8:	25 00 fc 00 00       	and    $0xfc00,%eax
4873fd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487400:	3d 00 d8 00 00       	cmp    $0xd800,%eax
487405:	75 23                	jne    0x48742a
487407:	0f b7 01             	movzwl (%ecx),%eax
48740a:	81 65 e0 ff 03 00 00 	andl   $0x3ff,-0x20(%ebp)
487411:	c1 65 e0 0a          	shll   $0xa,-0x20(%ebp)
487415:	25 ff 03 00 00       	and    $0x3ff,%eax
48741a:	0b 45 e0             	or     -0x20(%ebp),%eax
48741d:	05 00 00 01 00       	add    $0x10000,%eax
487422:	83 c1 02             	add    $0x2,%ecx
487425:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487428:	eb 03                	jmp    0x48742d
48742a:	8b 45 e0             	mov    -0x20(%ebp),%eax
48742d:	3d 85 00 00 00       	cmp    $0x85,%eax
487432:	77 10                	ja     0x487444
487434:	74 1c                	je     0x487452
487436:	83 c0 f6             	add    $0xfffffff6,%eax
487439:	83 f8 03             	cmp    $0x3,%eax
48743c:	0f 87 32 31 f8 ff    	ja     0x40a574
487442:	eb 0e                	jmp    0x487452
487444:	05 d8 df ff ff       	add    $0xffffdfd8,%eax
487449:	83 f8 01             	cmp    $0x1,%eax
48744c:	0f 87 22 31 f8 ff    	ja     0x40a574
487452:	8b 45 f4             	mov    -0xc(%ebp),%eax
487455:	40                   	inc    %eax
487456:	89 45 f4             	mov    %eax,-0xc(%ebp)
487459:	3b 45 f0             	cmp    -0x10(%ebp),%eax
48745c:	7e 88                	jle    0x4873e6
48745e:	e9 2f 36 f8 ff       	jmp    0x40aa92
487463:	8b 45 e4             	mov    -0x1c(%ebp),%eax
487466:	83 f9 01             	cmp    $0x1,%ecx
487469:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48746c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
487473:	0f 8c 1c 36 f8 ff    	jl     0x40aa95
487479:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48747c:	0f 83 d5 28 00 00    	jae    0x489d57
487482:	0f b7 01             	movzwl (%ecx),%eax
487485:	89 45 ec             	mov    %eax,-0x14(%ebp)
487488:	83 c1 02             	add    $0x2,%ecx
48748b:	25 00 fc 00 00       	and    $0xfc00,%eax
487490:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487493:	3d 00 d8 00 00       	cmp    $0xd800,%eax
487498:	75 29                	jne    0x4874c3
48749a:	0f b7 01             	movzwl (%ecx),%eax
48749d:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4874a0:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
4874a6:	25 ff 03 00 00       	and    $0x3ff,%eax
4874ab:	c1 e3 0a             	shl    $0xa,%ebx
4874ae:	0b c3                	or     %ebx,%eax
4874b0:	8b 5d 10             	mov    0x10(%ebp),%ebx
4874b3:	05 00 00 01 00       	add    $0x10000,%eax
4874b8:	83 c1 02             	add    $0x2,%ecx
4874bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
4874be:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4874c1:	eb 03                	jmp    0x4874c6
4874c3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4874c6:	3d 80 00 00 00       	cmp    $0x80,%eax
4874cb:	73 13                	jae    0x4874e0
4874cd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4874d0:	8b 43 44             	mov    0x44(%ebx),%eax
4874d3:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
4874d7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4874da:	0f 85 94 30 f8 ff    	jne    0x40a574
4874e0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4874e3:	40                   	inc    %eax
4874e4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4874e7:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4874ea:	7e 8d                	jle    0x487479
4874ec:	e9 a1 35 f8 ff       	jmp    0x40aa92
4874f1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4874f4:	83 f9 01             	cmp    $0x1,%ecx
4874f7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4874fa:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
487501:	0f 8c 8e 35 f8 ff    	jl     0x40aa95
487507:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48750a:	0f 83 47 28 00 00    	jae    0x489d57
487510:	66 81 39 80 00       	cmpw   $0x80,(%ecx)
487515:	0f 83 59 30 f8 ff    	jae    0x40a574
48751b:	8b 43 44             	mov    0x44(%ebx),%eax
48751e:	0f b7 19             	movzwl (%ecx),%ebx
487521:	f6 04 03 04          	testb  $0x4,(%ebx,%eax,1)
487525:	8b 5d 10             	mov    0x10(%ebp),%ebx
487528:	0f 84 46 30 f8 ff    	je     0x40a574
48752e:	8b 45 f4             	mov    -0xc(%ebp),%eax
487531:	40                   	inc    %eax
487532:	83 c1 02             	add    $0x2,%ecx
487535:	89 4d f8             	mov    %ecx,-0x8(%ebp)
487538:	89 45 f4             	mov    %eax,-0xc(%ebp)
48753b:	3b 45 f0             	cmp    -0x10(%ebp),%eax
48753e:	7e c7                	jle    0x487507
487540:	e9 4d 35 f8 ff       	jmp    0x40aa92
487545:	8b 45 e4             	mov    -0x1c(%ebp),%eax
487548:	83 f9 01             	cmp    $0x1,%ecx
48754b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48754e:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)