414eda:	48                   	dec    %eax
414edb:	83 c8 80             	or     $0xffffff80,%eax
414ede:	40                   	inc    %eax
414edf:	03 c8                	add    %eax,%ecx
414ee1:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
414ee5:	0f b7 0c 4d 40 58 4a 	movzwl 0x4a5840(,%ecx,2),%ecx
414eec:	00
414eed:	89 4d ec             	mov    %ecx,-0x14(%ebp)
414ef0:	83 f8 09             	cmp    $0x9,%eax
414ef3:	0f 85 f6 4c 03 00    	jne    0x449bef
414ef9:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
414efd:	8b 0c 85 d0 45 4a 00 	mov    0x4a45d0(,%eax,4),%ecx
414f04:	8d 04 85 d0 45 4a 00 	lea    0x4a45d0(,%eax,4),%eax
414f0b:	3b d1                	cmp    %ecx,%edx
414f0d:	0f 82 de 4e 03 00    	jb     0x449df1
414f13:	8d 40 04             	lea    0x4(%eax),%eax
414f16:	3b d1                	cmp    %ecx,%edx
414f18:	74 0b                	je     0x414f25
414f1a:	8b 08                	mov    (%eax),%ecx
414f1c:	3b d1                	cmp    %ecx,%edx
414f1e:	73 f3                	jae    0x414f13
414f20:	e9 cc 4e 03 00       	jmp    0x449df1
414f25:	83 ff 10             	cmp    $0x10,%edi
414f28:	0f 85 30 01 00 00    	jne    0x41505e
414f2e:	8b 55 f8             	mov    -0x8(%ebp),%edx
414f31:	83 c3 06             	add    $0x6,%ebx
414f34:	89 5d d0             	mov    %ebx,-0x30(%ebp)
414f37:	e9 e3 fa ff ff       	jmp    0x414a1f
414f3c:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
414f40:	0f 84 e9 55 03 00    	je     0x44a52f
414f46:	66 8b 43 02          	mov    0x2(%ebx),%ax
414f4a:	83 c3 02             	add    $0x2,%ebx
414f4d:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
414f52:	89 5d d0             	mov    %ebx,-0x30(%ebp)
414f55:	66 23 c1             	and    %cx,%ax
414f58:	bf 01 00 00 00       	mov    $0x1,%edi
414f5d:	b9 00 d8 00 00       	mov    $0xd800,%ecx
414f62:	66 3b c1             	cmp    %cx,%ax
414f65:	0f 84 5c 04 00 00    	je     0x4153c7
414f6b:	8b 46 7c             	mov    0x7c(%esi),%eax
414f6e:	8b 55 f8             	mov    -0x8(%ebp),%edx
414f71:	2b c2                	sub    %edx,%eax
414f73:	d1 f8                	sar    $1,%eax
414f75:	3b f8                	cmp    %eax,%edi
414f77:	0f 8f 01 99 03 00    	jg     0x44e87e
414f7d:	85 ff                	test   %edi,%edi
414f7f:	0f 8e 1b fd ff ff    	jle    0x414ca0
414f85:	66 8b 0b             	mov    (%ebx),%cx
414f88:	4f                   	dec    %edi
414f89:	66 8b 02             	mov    (%edx),%ax
414f8c:	83 c3 02             	add    $0x2,%ebx
414f8f:	83 c2 02             	add    $0x2,%edx
414f92:	89 5d d0             	mov    %ebx,-0x30(%ebp)
414f95:	89 55 f8             	mov    %edx,-0x8(%ebp)
414f98:	66 3b c8             	cmp    %ax,%cx
414f9b:	0f 85 bd 00 00 00    	jne    0x41505e
414fa1:	85 ff                	test   %edi,%edi
414fa3:	0f 8e f7 fc ff ff    	jle    0x414ca0
414fa9:	eb da                	jmp    0x414f85
414fab:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
414faf:	89 55 d8             	mov    %edx,-0x28(%ebp)
414fb2:	8d 04 12             	lea    (%edx,%edx,1),%eax
414fb5:	89 45 ec             	mov    %eax,-0x14(%ebp)
414fb8:	3b 46 14             	cmp    0x14(%esi),%eax
414fbb:	0f 8d 83 fb ff ff    	jge    0x414b44
414fc1:	8b 4e 0c             	mov    0xc(%esi),%ecx
414fc4:	8b 55 ec             	mov    -0x14(%ebp),%edx
414fc7:	8b 04 81             	mov    (%ecx,%eax,4),%eax
414fca:	89 45 c4             	mov    %eax,-0x3c(%ebp)
414fcd:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
414fd1:	89 45 c8             	mov    %eax,-0x38(%ebp)
414fd4:	8b 46 10             	mov    0x10(%esi),%eax
414fd7:	2b 45 d8             	sub    -0x28(%ebp),%eax
414fda:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
414fdd:	8b 01                	mov    (%ecx),%eax
414fdf:	89 45 cc             	mov    %eax,-0x34(%ebp)
414fe2:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
414fe8:	89 45 e0             	mov    %eax,-0x20(%ebp)
414feb:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
414ff1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
414ff4:	8b 45 f8             	mov    -0x8(%ebp),%eax
414ff7:	2b 46 78             	sub    0x78(%esi),%eax
414ffa:	d1 f8                	sar    $1,%eax
414ffc:	89 01                	mov    %eax,(%ecx)
414ffe:	8b ff                	mov    %edi,%edi
415000:	81 ff 88 00 00 00    	cmp    $0x88,%edi
415006:	0f 83 f9 ad 03 00    	jae    0x44fe05
41500c:	8b 45 18             	mov    0x18(%ebp),%eax
41500f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
415012:	40                   	inc    %eax
415013:	50                   	push   %eax
415014:	ff 75 14             	push   0x14(%ebp)
415017:	0f b7 03             	movzwl (%ebx),%eax
41501a:	56                   	push   %esi
41501b:	ff 75 0c             	push   0xc(%ebp)
41501e:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
415025:	ff 75 08             	push   0x8(%ebp)
415028:	8d 14 43             	lea    (%ebx,%eax,2),%edx
41502b:	e8 90 f9 ff ff       	call   0x4149c0
415030:	8b d0                	mov    %eax,%edx
415032:	83 c4 14             	add    $0x14,%esp
415035:	81 fa 1b fc ff ff    	cmp    $0xfffffc1b,%edx
41503b:	0f 84 1b ae 03 00    	je     0x44fe5c
415041:	81 fa 20 fc ff ff    	cmp    $0xfffffc20,%edx
415047:	0f 84 c7 ad 03 00    	je     0x44fe14
41504d:	85 d2                	test   %edx,%edx
41504f:	0f 84 e4 ad 03 00    	je     0x44fe39
415055:	8b c2                	mov    %edx,%eax
415057:	5f                   	pop    %edi
415058:	5e                   	pop    %esi
415059:	5b                   	pop    %ebx
41505a:	8b e5                	mov    %ebp,%esp
41505c:	5d                   	pop    %ebp
41505d:	c3                   	ret
41505e:	5f                   	pop    %edi
41505f:	5e                   	pop    %esi
415060:	33 c0                	xor    %eax,%eax
415062:	5b                   	pop    %ebx
415063:	8b e5                	mov    %ebp,%esp
415065:	5d                   	pop    %ebp
415066:	c3                   	ret
415067:	8d 4f ab             	lea    -0x55(%edi),%ecx
41506a:	83 c3 02             	add    $0x2,%ebx
41506d:	f6 c1 01             	test   $0x1,%cl
415070:	0f 84 62 03 00 00    	je     0x4153d8
415076:	b8 01 00 00 00       	mov    $0x1,%eax
41507b:	0f be b9 3c 57 4a 00 	movsbl 0x4a573c(%ecx),%edi
415082:	0f be 91 30 57 4a 00 	movsbl 0x4a5730(%ecx),%edx
415089:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41508c:	89 55 f4             	mov    %edx,-0xc(%ebp)
41508f:	89 7d e8             	mov    %edi,-0x18(%ebp)
415092:	85 ff                	test   %edi,%edi
415094:	75 07                	jne    0x41509d
415096:	c7 45 e8 ff ff ff 7f 	movl   $0x7fffffff,-0x18(%ebp)
41509d:	0f b7 3b             	movzwl (%ebx),%edi
4150a0:	83 c3 02             	add    $0x2,%ebx
4150a3:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4150a6:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4150a9:	83 ff 10             	cmp    $0x10,%edi
4150ac:	0f 84 42 63 03 00    	je     0x44b3f4
4150b2:	83 ff 0f             	cmp    $0xf,%edi
4150b5:	0f 84 30 63 03 00    	je     0x44b3eb
4150bb:	83 c9 ff             	or     $0xffffffff,%ecx
4150be:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4150c1:	85 d2                	test   %edx,%edx
4150c3:	0f 8f 4a 63 03 00    	jg     0x44b413
4150c9:	8b 7d f8             	mov    -0x8(%ebp),%edi
4150cc:	3b 55 e8             	cmp    -0x18(%ebp),%edx
4150cf:	0f 84 cb fb ff ff    	je     0x414ca0
4150d5:	85 c0                	test   %eax,%eax
4150d7:	0f 84 b8 78 03 00    	je     0x44c995
4150dd:	85 c9                	test   %ecx,%ecx
4150df:	0f 89 85 9b 03 00    	jns    0x44ec6a
4150e5:	8b 45 18             	mov    0x18(%ebp),%eax
4150e8:	8b d3                	mov    %ebx,%edx
4150ea:	40                   	inc    %eax
4150eb:	8b cf                	mov    %edi,%ecx
4150ed:	50                   	push   %eax
4150ee:	ff 75 14             	push   0x14(%ebp)
4150f1:	56                   	push   %esi
4150f2:	ff 75 0c             	push   0xc(%ebp)
4150f5:	ff 75 08             	push   0x8(%ebp)
4150f8:	e8 c3 f8 ff ff       	call   0x4149c0
4150fd:	83 c4 14             	add    $0x14,%esp
415100:	83 7d e4 16          	cmpl   $0x16,-0x1c(%ebp)
415104:	0f 84 90 a4 03 00    	je     0x44f59a
41510a:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41510e:	0f 84 5e a9 03 00    	je     0x44fa72
415114:	85 c0                	test   %eax,%eax
415116:	0f 85 21 fa ff ff    	jne    0x414b3d
41511c:	8d 64 24 00          	lea    0x0(%esp),%esp
415120:	8b 55 f4             	mov    -0xc(%ebp),%edx
415123:	3b 55 e8             	cmp    -0x18(%ebp),%edx
415126:	0f 8d 32 ff ff ff    	jge    0x41505e
41512c:	8b 4e 7c             	mov    0x7c(%esi),%ecx
41512f:	3b f9                	cmp    %ecx,%edi
415131:	0f 83 2f 97 03 00    	jae    0x44e866
415137:	83 7d e4 0c          	cmpl   $0xc,-0x1c(%ebp)
41513b:	75 28                	jne    0x415165
41513d:	8b 56 18             	mov    0x18(%esi),%edx
415140:	85 d2                	test   %edx,%edx
415142:	0f 84 db a5 03 00    	je     0x44f723
415148:	ff 75 dc             	push   -0x24(%ebp)
41514b:	8d 46 1c             	lea    0x1c(%esi),%eax
41514e:	50                   	push   %eax
41514f:	51                   	push   %ecx
415150:	8b cf                	mov    %edi,%ecx
415152:	e8 48 0d 00 00       	call   0x415e9f
415157:	83 c4 0c             	add    $0xc,%esp
41515a:	85 c0                	test   %eax,%eax
41515c:	0f 85 fc fe ff ff    	jne    0x41505e
415162:	8b 55 f4             	mov    -0xc(%ebp),%edx
415165:	0f b7 0f             	movzwl (%edi),%ecx
415168:	83 c7 02             	add    $0x2,%edi
41516b:	8b c1                	mov    %ecx,%eax
41516d:	25 00 fc 00 00       	and    $0xfc00,%eax
415172:	3d 00 d8 00 00       	cmp    $0xd800,%eax
415177:	0f 84 df a5 03 00    	je     0x44f75c
41517d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
415180:	83 f8 0c             	cmp    $0xc,%eax
415183:	0f 85 f4 a5 03 00    	jne    0x44f77d
415189:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
415190:	0f 85 9a a8 03 00    	jne    0x44fa30
415196:	8b 45 18             	mov    0x18(%ebp),%eax
415199:	42                   	inc    %edx
41519a:	40                   	inc    %eax
41519b:	89 55 f4             	mov    %edx,-0xc(%ebp)
41519e:	50                   	push   %eax
41519f:	ff 75 14             	push   0x14(%ebp)
4151a2:	8b d3                	mov    %ebx,%edx
4151a4:	8b cf                	mov    %edi,%ecx
4151a6:	56                   	push   %esi
4151a7:	ff 75 0c             	push   0xc(%ebp)
4151aa:	ff 75 08             	push   0x8(%ebp)
4151ad:	e8 0e f8 ff ff       	call   0x4149c0
4151b2:	83 c4 14             	add    $0x14,%esp
4151b5:	85 c0                	test   %eax,%eax
4151b7:	0f 85 80 f9 ff ff    	jne    0x414b3d
4151bd:	e9 5e ff ff ff       	jmp    0x415120
4151c2:	83 e8 62             	sub    $0x62,%eax
4151c5:	83 f8 0b             	cmp    $0xb,%eax
4151c8:	0f 87 f7 fa ff ff    	ja     0x414cc5
4151ce:	0f b6 80 f8 55 41 00 	movzbl 0x4155f8(%eax),%eax
4151d5:	ff 24 85 f0 55 41 00 	jmp    *0x4155f0(,%eax,4)
4151dc:	8d 42 9e             	lea    -0x62(%edx),%eax
4151df:	83 c3 02             	add    $0x2,%ebx
4151e2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4151e5:	83 f8 08             	cmp    $0x8,%eax
4151e8:	0f 82 8b 01 00 00    	jb     0x415379
4151ee:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4151f1:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
4151f8:	0f be 88 30 57 4a 00 	movsbl 0x4a5730(%eax),%ecx
4151ff:	89 4d f0             	mov    %ecx,-0x10(%ebp)
415202:	0f be 88 3c 57 4a 00 	movsbl 0x4a573c(%eax),%ecx
415209:	8b 45 f0             	mov    -0x10(%ebp),%eax
41520c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41520f:	85 c9                	test   %ecx,%ecx
415211:	0f 85 be fa ff ff    	jne    0x414cd5
415217:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
41521c:	e9 b1 fa ff ff       	jmp    0x414cd2
415221:	8b 45 f8             	mov    -0x8(%ebp),%eax
415224:	e9 2e fb ff ff       	jmp    0x414d57
415229:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
415230:	8b 45 f8             	mov    -0x8(%ebp),%eax
415233:	b9 01 00 00 00       	mov    $0x1,%ecx
415238:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41523b:	3b 46 7c             	cmp    0x7c(%esi),%eax
41523e:	0f 83 6f 4f 03 00    	jae    0x44a1b3
415244:	0f b7 10             	movzwl (%eax),%edx
415247:	8b c2                	mov    %edx,%eax
415249:	25 00 fc 00 00       	and    $0xfc00,%eax
41524e:	3d 00 d8 00 00       	cmp    $0xd800,%eax
415253:	0f 84 22 4f 03 00    	je     0x44a17b
415259:	81 fa ff 00 00 00    	cmp    $0xff,%edx
41525f:	0f 87 40 4f 03 00    	ja     0x44a1a5
415265:	8b ca                	mov    %edx,%ecx
415267:	b8 01 00 00 00       	mov    $0x1,%eax
41526c:	83 e1 07             	and    $0x7,%ecx
41526f:	c1 ea 03             	shr    $0x3,%edx
415272:	d3 e0                	shl    %cl,%eax
415274:	8b 4d e0             	mov    -0x20(%ebp),%ecx
415277:	84 04 0a             	test   %al,(%edx,%ecx,1)
41527a:	0f 85 04 01 00 00    	jne    0x415384
415280:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
415284:	0f 85 16 fa ff ff    	jne    0x414ca0
41528a:	8b 45 18             	mov    0x18(%ebp),%eax
41528d:	8b d3                	mov    %ebx,%edx
41528f:	8b 7d f8             	mov    -0x8(%ebp),%edi
415292:	40                   	inc    %eax
415293:	50                   	push   %eax
415294:	ff 75 14             	push   0x14(%ebp)
415297:	8b cf                	mov    %edi,%ecx
415299:	56                   	push   %esi
41529a:	ff 75 0c             	push   0xc(%ebp)
41529d:	ff 75 08             	push   0x8(%ebp)
4152a0:	e8 1b f7 ff ff       	call   0x4149c0
4152a5:	83 c4 14             	add    $0x14,%esp
4152a8:	85 c0                	test   %eax,%eax
4152aa:	0f 85 8d f8 ff ff    	jne    0x414b3d
4152b0:	e9 51 93 03 00       	jmp    0x44e606
4152b5:	eb 09                	jmp    0x4152c0
4152b7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4152be:	8b ff                	mov    %edi,%edi
4152c0:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
4152c4:	66 83 3c 43 77       	cmpw   $0x77,(%ebx,%eax,2)
4152c9:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
4152cc:	74 f2                	je     0x4152c0
4152ce:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4152d1:	e9 49 f7 ff ff       	jmp    0x414a1f
4152d6:	8b 45 18             	mov    0x18(%ebp),%eax
4152d9:	83 c3 02             	add    $0x2,%ebx
4152dc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4152df:	40                   	inc    %eax
4152e0:	50                   	push   %eax
4152e1:	ff 75 14             	push   0x14(%ebp)
4152e4:	8b d3                	mov    %ebx,%edx
4152e6:	56                   	push   %esi
4152e7:	ff 75 0c             	push   0xc(%ebp)
4152ea:	ff 75 08             	push   0x8(%ebp)
4152ed:	e8 ce f6 ff ff       	call   0x4149c0
4152f2:	83 c4 14             	add    $0x14,%esp
4152f5:	85 c0                	test   %eax,%eax
4152f7:	0f 85 40 f8 ff ff    	jne    0x414b3d
4152fd:	e9 10 39 03 00       	jmp    0x448c12
415302:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
415308:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41530b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41530e:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
415314:	89 45 d8             	mov    %eax,-0x28(%ebp)
415317:	8b 45 18             	mov    0x18(%ebp),%eax
41531a:	40                   	inc    %eax
41531b:	50                   	push   %eax
41531c:	ff 75 14             	push   0x14(%ebp)
41531f:	0f b7 03             	movzwl (%ebx),%eax
415322:	56                   	push   %esi
415323:	ff 75 0c             	push   0xc(%ebp)
415326:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
41532d:	ff 75 08             	push   0x8(%ebp)
415330:	8d 14 43             	lea    (%ebx,%eax,2),%edx
415333:	e8 88 f6 ff ff       	call   0x4149c0
415338:	8b d0                	mov    %eax,%edx
41533a:	83 c4 14             	add    $0x14,%esp
41533d:	81 fa 20 fc ff ff    	cmp    $0xfffffc20,%edx
415343:	0f 84 c2 8f 03 00    	je     0x44e30b
415349:	85 d2                	test   %edx,%edx
41534b:	0f 85 35 ab 03 00    	jne    0x44fe86
415351:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
415355:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
415358:	8b 45 ec             	mov    -0x14(%ebp),%eax
41535b:	89 86 b0 00 00 00    	mov    %eax,0xb0(%esi)
415361:	66 83 3b 77          	cmpw   $0x77,(%ebx)
415365:	0f 85 f3 fc ff ff    	jne    0x41505e
41536b:	8b 45 d8             	mov    -0x28(%ebp),%eax
41536e:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
415374:	e9 cb f7 ff ff       	jmp    0x414b44
415379:	a8 01                	test   $0x1,%al
41537b:	75 40                	jne    0x4153bd
41537d:	33 d2                	xor    %edx,%edx
41537f:	e9 74 fe ff ff       	jmp    0x4151f8
415384:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415387:	8b 45 f8             	mov    -0x8(%ebp),%eax
41538a:	8d 04 48             	lea    (%eax,%ecx,2),%eax
41538d:	89 45 f8             	mov    %eax,-0x8(%ebp)
415390:	8b 45 f0             	mov    -0x10(%ebp),%eax
415393:	40                   	inc    %eax
415394:	89 45 f0             	mov    %eax,-0x10(%ebp)
415397:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
41539a:	0f 8c 90 fe ff ff    	jl     0x415230
4153a0:	e9 db fe ff ff       	jmp    0x415280
4153a5:	83 c3 02             	add    $0x2,%ebx