484f9b:	83 e1 01             	and    $0x1,%ecx
484f9e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
484fa1:	0f be 88 7c e4 49 00 	movsbl 0x49e47c(%eax),%ecx
484fa8:	83 c7 02             	add    $0x2,%edi
484fab:	89 7d cc             	mov    %edi,-0x34(%ebp)
484fae:	89 4d e0             	mov    %ecx,-0x20(%ebp)
484fb1:	89 55 e8             	mov    %edx,-0x18(%ebp)
484fb4:	85 d2                	test   %edx,%edx
484fb6:	75 35                	jne    0x484fed
484fb8:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
484fbd:	89 55 e8             	mov    %edx,-0x18(%ebp)
484fc0:	eb 2b                	jmp    0x484fed
484fc2:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
484fc6:	33 c0                	xor    %eax,%eax
484fc8:	83 fa 69             	cmp    $0x69,%edx
484fcb:	0f b7 57 04          	movzwl 0x4(%edi),%edx
484fcf:	0f 94 c0             	sete   %al
484fd2:	89 4d e0             	mov    %ecx,-0x20(%ebp)
484fd5:	89 55 e8             	mov    %edx,-0x18(%ebp)
484fd8:	89 45 f4             	mov    %eax,-0xc(%ebp)
484fdb:	85 d2                	test   %edx,%edx
484fdd:	75 08                	jne    0x484fe7
484fdf:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
484fe4:	89 55 e8             	mov    %edx,-0x18(%ebp)
484fe7:	83 c7 06             	add    $0x6,%edi
484fea:	89 7d cc             	mov    %edi,-0x34(%ebp)
484fed:	85 f6                	test   %esi,%esi
484fef:	0f 84 6b 53 f8 ff    	je     0x40a360
484ff5:	79 08                	jns    0x484fff
484ff7:	85 c9                	test   %ecx,%ecx
484ff9:	0f 84 61 53 f8 ff    	je     0x40a360
484fff:	8b 45 f8             	mov    -0x8(%ebp),%eax
485002:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
485009:	83 f9 01             	cmp    $0x1,%ecx
48500c:	7c 36                	jl     0x485044
48500e:	ff 75 d8             	push   -0x28(%ebp)
485011:	8b 4d c0             	mov    -0x40(%ebp),%ecx
485014:	53                   	push   %ebx
485015:	56                   	push   %esi
485016:	8b d0                	mov    %eax,%edx
485018:	e8 a4 c0 fe ff       	call   0x4710c1
48501d:	8b c8                	mov    %eax,%ecx
48501f:	83 c4 0c             	add    $0xc,%esp
485022:	85 c9                	test   %ecx,%ecx
485024:	0f 88 cc 4b 00 00    	js     0x489bf6
48502a:	8b 45 f8             	mov    -0x8(%ebp),%eax
48502d:	8b 55 d4             	mov    -0x2c(%ebp),%edx
485030:	8d 04 48             	lea    (%eax,%ecx,2),%eax
485033:	8b 4d e0             	mov    -0x20(%ebp),%ecx
485036:	42                   	inc    %edx
485037:	89 45 f8             	mov    %eax,-0x8(%ebp)
48503a:	89 55 d4             	mov    %edx,-0x2c(%ebp)
48503d:	3b d1                	cmp    %ecx,%edx
48503f:	7e cd                	jle    0x48500e
485041:	8b 55 e8             	mov    -0x18(%ebp),%edx
485044:	3b ca                	cmp    %edx,%ecx
485046:	0f 84 14 53 f8 ff    	je     0x40a360
48504c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
485050:	0f 84 f1 4a 00 00    	je     0x489b47
485056:	8b 45 18             	mov    0x18(%ebp),%eax
485059:	8b 75 f8             	mov    -0x8(%ebp),%esi
48505c:	40                   	inc    %eax
48505d:	50                   	push   %eax
48505e:	ff 75 14             	push   0x14(%ebp)
485061:	8b d7                	mov    %edi,%edx
485063:	53                   	push   %ebx
485064:	ff 75 0c             	push   0xc(%ebp)
485067:	8b ce                	mov    %esi,%ecx
485069:	ff 75 08             	push   0x8(%ebp)
48506c:	e8 8f 52 f8 ff       	call   0x40a300
485071:	83 c4 14             	add    $0x14,%esp
485074:	85 c0                	test   %eax,%eax
485076:	0f 85 4b 54 f8 ff    	jne    0x40a4c7
48507c:	8b 45 e8             	mov    -0x18(%ebp),%eax
48507f:	39 45 e0             	cmp    %eax,-0x20(%ebp)
485082:	0f 8d ec 54 f8 ff    	jge    0x40a574
485088:	ff 75 d8             	push   -0x28(%ebp)
48508b:	8b 4d c0             	mov    -0x40(%ebp),%ecx
48508e:	53                   	push   %ebx
48508f:	ff 75 ec             	push   -0x14(%ebp)
485092:	8b d6                	mov    %esi,%edx
485094:	e8 28 c0 fe ff       	call   0x4710c1
485099:	83 c4 0c             	add    $0xc,%esp
48509c:	85 c0                	test   %eax,%eax
48509e:	0f 88 7d 4a 00 00    	js     0x489b21
4850a4:	ff 45 e0             	incl   -0x20(%ebp)
4850a7:	8d 34 46             	lea    (%esi,%eax,2),%esi
4850aa:	8b 45 18             	mov    0x18(%ebp),%eax
4850ad:	40                   	inc    %eax
4850ae:	50                   	push   %eax
4850af:	ff 75 14             	push   0x14(%ebp)
4850b2:	8b d7                	mov    %edi,%edx
4850b4:	53                   	push   %ebx
4850b5:	ff 75 0c             	push   0xc(%ebp)
4850b8:	8b ce                	mov    %esi,%ecx
4850ba:	ff 75 08             	push   0x8(%ebp)
4850bd:	e8 3e 52 f8 ff       	call   0x40a300
4850c2:	83 c4 14             	add    $0x14,%esp
4850c5:	85 c0                	test   %eax,%eax
4850c7:	74 b3                	je     0x48507c
4850c9:	e9 f9 53 f8 ff       	jmp    0x40a4c7
4850ce:	8b 55 f8             	mov    -0x8(%ebp),%edx
4850d1:	51                   	push   %ecx
4850d2:	8b 4d c0             	mov    -0x40(%ebp),%ecx
4850d5:	53                   	push   %ebx
4850d6:	56                   	push   %esi
4850d7:	e8 e5 bf fe ff       	call   0x4710c1
4850dc:	8b c8                	mov    %eax,%ecx
4850de:	83 c4 0c             	add    $0xc,%esp
4850e1:	85 c9                	test   %ecx,%ecx
4850e3:	0f 88 0d 4b 00 00    	js     0x489bf6
4850e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4850ec:	8d 04 48             	lea    (%eax,%ecx,2),%eax
4850ef:	89 45 f8             	mov    %eax,-0x8(%ebp)
4850f2:	e9 69 52 f8 ff       	jmp    0x40a360
4850f7:	33 d2                	xor    %edx,%edx
4850f9:	83 f9 69             	cmp    $0x69,%ecx
4850fc:	0f 94 c2             	sete   %dl
4850ff:	33 c0                	xor    %eax,%eax
485101:	83 f9 6d             	cmp    $0x6d,%ecx
485104:	0f b7 4f 04          	movzwl 0x4(%edi),%ecx
485108:	0f 94 c0             	sete   %al
48510b:	89 4d e8             	mov    %ecx,-0x18(%ebp)
48510e:	89 45 d0             	mov    %eax,-0x30(%ebp)
485111:	0f b7 47 02          	movzwl 0x2(%edi),%eax
485115:	89 45 d8             	mov    %eax,-0x28(%ebp)
485118:	85 c9                	test   %ecx,%ecx
48511a:	75 07                	jne    0x485123
48511c:	c7 45 e8 ff ff ff 7f 	movl   $0x7fffffff,-0x18(%ebp)
485123:	83 c7 06             	add    $0x6,%edi
485126:	89 7d cc             	mov    %edi,-0x34(%ebp)
485129:	e9 cd 53 f8 ff       	jmp    0x40a4fb
48512e:	8b 45 f8             	mov    -0x8(%ebp),%eax
485131:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
485137:	0f b7 00             	movzwl (%eax),%eax
48513a:	c1 e1 0a             	shl    $0xa,%ecx
48513d:	25 ff 03 00 00       	and    $0x3ff,%eax
485142:	0b c8                	or     %eax,%ecx
485144:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48514a:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
48514e:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
485151:	e9 f3 53 f8 ff       	jmp    0x40a549
485156:	83 fe 6e             	cmp    $0x6e,%esi
485159:	0f 84 15 54 f8 ff    	je     0x40a574
48515f:	e9 1d 55 f8 ff       	jmp    0x40a681
485164:	83 f8 01             	cmp    $0x1,%eax
485167:	8b 45 f8             	mov    -0x8(%ebp),%eax
48516a:	0f 8c 2a 55 f8 ff    	jl     0x40a69a
485170:	8b 4d d8             	mov    -0x28(%ebp),%ecx
485173:	3b 43 7c             	cmp    0x7c(%ebx),%eax
485176:	0f 83 29 5a f8 ff    	jae    0x40aba5
48517c:	0f b7 18             	movzwl (%eax),%ebx
48517f:	83 c0 02             	add    $0x2,%eax
485182:	89 5d e0             	mov    %ebx,-0x20(%ebp)
485185:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
48518b:	8b 5d 10             	mov    0x10(%ebp),%ebx
48518e:	89 45 f8             	mov    %eax,-0x8(%ebp)
485191:	76 0b                	jbe    0x48519e
485193:	83 fe 6e             	cmp    $0x6e,%esi
485196:	0f 84 d8 53 f8 ff    	je     0x40a574
48519c:	eb 29                	jmp    0x4851c7
48519e:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4851a1:	c1 6d e0 03          	shrl   $0x3,-0x20(%ebp)
4851a5:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4851a8:	83 e1 07             	and    $0x7,%ecx
4851ab:	b8 01 00 00 00       	mov    $0x1,%eax
4851b0:	d3 e0                	shl    %cl,%eax
4851b2:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4851b5:	84 04 0b             	test   %al,(%ebx,%ecx,1)
4851b8:	8b 5d 10             	mov    0x10(%ebp),%ebx
4851bb:	0f 84 b3 53 f8 ff    	je     0x40a574
4851c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4851c4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4851c7:	ff 45 ec             	incl   -0x14(%ebp)
4851ca:	39 4d ec             	cmp    %ecx,-0x14(%ebp)
4851cd:	7e a4                	jle    0x485173
4851cf:	e9 c3 54 f8 ff       	jmp    0x40a697
4851d4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4851d7:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4851dd:	0f b7 40 02          	movzwl 0x2(%eax),%eax
4851e1:	25 ff 03 00 00       	and    $0x3ff,%eax
4851e6:	c1 e1 0a             	shl    $0xa,%ecx
4851e9:	0b c8                	or     %eax,%ecx
4851eb:	81 c1 00 00 01 00    	add    $0x10000,%ecx
4851f1:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4851f4:	c7 45 d4 02 00 00 00 	movl   $0x2,-0x2c(%ebp)
4851fb:	e9 ec 54 f8 ff       	jmp    0x40a6ec
485200:	83 fe 6e             	cmp    $0x6e,%esi
485203:	0f 84 0f 55 f8 ff    	je     0x40a718
485209:	e9 cb 5a f8 ff       	jmp    0x40acd9
48520e:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
485215:	0f 84 fd 54 f8 ff    	je     0x40a718
48521b:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
485221:	0f 86 f1 54 f8 ff    	jbe    0x40a718
485227:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
48522e:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
485235:	0f 8f f2 ee ff ff    	jg     0x48412d
48523b:	e9 d8 54 f8 ff       	jmp    0x40a718
485240:	3b 55 e8             	cmp    -0x18(%ebp),%edx
485243:	7d 6c                	jge    0x4852b1
485245:	3b 43 7c             	cmp    0x7c(%ebx),%eax
485248:	73 42                	jae    0x48528c
48524a:	0f b7 08             	movzwl (%eax),%ecx
48524d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
485250:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
485256:	76 07                	jbe    0x48525f
485258:	83 fe 6e             	cmp    $0x6e,%esi
48525b:	75 21                	jne    0x48527e
48525d:	eb 52                	jmp    0x4852b1
48525f:	c1 6d ec 03          	shrl   $0x3,-0x14(%ebp)
485263:	8b 5d ec             	mov    -0x14(%ebp),%ebx
485266:	83 e1 07             	and    $0x7,%ecx
485269:	b8 01 00 00 00       	mov    $0x1,%eax
48526e:	d3 e0                	shl    %cl,%eax
485270:	8b 4d c8             	mov    -0x38(%ebp),%ecx
485273:	84 04 0b             	test   %al,(%ebx,%ecx,1)
485276:	8b 5d 10             	mov    0x10(%ebp),%ebx
485279:	8b 45 f8             	mov    -0x8(%ebp),%eax
48527c:	74 33                	je     0x4852b1
48527e:	83 c0 02             	add    $0x2,%eax
485281:	42                   	inc    %edx
485282:	89 45 f8             	mov    %eax,-0x8(%ebp)
485285:	3b 55 e8             	cmp    -0x18(%ebp),%edx
485288:	7c bb                	jl     0x485245
48528a:	eb 25                	jmp    0x4852b1
48528c:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
485293:	74 1c                	je     0x4852b1
485295:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
48529b:	76 14                	jbe    0x4852b1
48529d:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
4852a4:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4852ab:	0f 8f 7c ee ff ff    	jg     0x48412d
4852b1:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
4852b5:	0f 85 a5 50 f8 ff    	jne    0x40a360
4852bb:	3b 45 dc             	cmp    -0x24(%ebp),%eax
4852be:	0f 82 b0 52 f8 ff    	jb     0x40a574
4852c4:	8b 75 f8             	mov    -0x8(%ebp),%esi
4852c7:	8b 45 18             	mov    0x18(%ebp),%eax
4852ca:	40                   	inc    %eax
4852cb:	50                   	push   %eax
4852cc:	ff 75 14             	push   0x14(%ebp)
4852cf:	8b d7                	mov    %edi,%edx
4852d1:	53                   	push   %ebx
4852d2:	ff 75 0c             	push   0xc(%ebp)
4852d5:	8b ce                	mov    %esi,%ecx
4852d7:	ff 75 08             	push   0x8(%ebp)
4852da:	e8 21 50 f8 ff       	call   0x40a300
4852df:	83 c4 14             	add    $0x14,%esp
4852e2:	85 c0                	test   %eax,%eax
4852e4:	0f 85 dd 51 f8 ff    	jne    0x40a4c7
4852ea:	83 ee 02             	sub    $0x2,%esi
4852ed:	3b 75 dc             	cmp    -0x24(%ebp),%esi
4852f0:	73 d5                	jae    0x4852c7
4852f2:	e9 d0 51 f8 ff       	jmp    0x40a4c7
4852f7:	8d 47 04             	lea    0x4(%edi),%eax
4852fa:	89 45 ec             	mov    %eax,-0x14(%ebp)
4852fd:	0f b7 47 02          	movzwl 0x2(%edi),%eax
485301:	0f b7 0c 47          	movzwl (%edi,%eax,2),%ecx
485305:	8d 3c 47             	lea    (%edi,%eax,2),%edi
485308:	8b f1                	mov    %ecx,%esi
48530a:	89 7d cc             	mov    %edi,-0x34(%ebp)
48530d:	8d 46 9e             	lea    -0x62(%esi),%eax
485310:	83 f8 0b             	cmp    $0xb,%eax
485313:	0f 87 89 00 00 00    	ja     0x4853a2
485319:	0f b6 80 12 b9 48 00 	movzbl 0x48b912(%eax),%eax
485320:	ff 24 85 0a b9 48 00 	jmp    *0x48b90a(,%eax,4)
485327:	8d 4e 9e             	lea    -0x62(%esi),%ecx
48532a:	83 c7 02             	add    $0x2,%edi
48532d:	89 7d cc             	mov    %edi,-0x34(%ebp)
485330:	83 f9 08             	cmp    $0x8,%ecx
485333:	73 0e                	jae    0x485343
485335:	8b 45 d0             	mov    -0x30(%ebp),%eax
485338:	0f b6 d1             	movzbl %cl,%edx
48533b:	83 e2 01             	and    $0x1,%edx
48533e:	89 55 c8             	mov    %edx,-0x38(%ebp)
485341:	eb 08                	jmp    0x48534b
485343:	b8 01 00 00 00       	mov    $0x1,%eax
485348:	89 45 d0             	mov    %eax,-0x30(%ebp)
48534b:	0f be b6 be e4 49 00 	movsbl 0x49e4be(%esi),%esi
485352:	0f be 89 7c e4 49 00 	movsbl 0x49e47c(%ecx),%ecx
485359:	89 4d d8             	mov    %ecx,-0x28(%ebp)
48535c:	89 75 e0             	mov    %esi,-0x20(%ebp)
48535f:	85 f6                	test   %esi,%esi
485361:	75 4f                	jne    0x4853b2
485363:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
485368:	eb 45                	jmp    0x4853af
48536a:	0f b7 77 04          	movzwl 0x4(%edi),%esi
48536e:	33 d2                	xor    %edx,%edx
485370:	83 f9 69             	cmp    $0x69,%ecx
485373:	0f 94 c2             	sete   %dl
485376:	33 c0                	xor    %eax,%eax
485378:	83 f9 6d             	cmp    $0x6d,%ecx
48537b:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
48537f:	0f 94 c0             	sete   %al
485382:	89 55 c8             	mov    %edx,-0x38(%ebp)
485385:	89 4d d8             	mov    %ecx,-0x28(%ebp)
485388:	89 75 e0             	mov    %esi,-0x20(%ebp)
48538b:	89 45 d0             	mov    %eax,-0x30(%ebp)
48538e:	85 f6                	test   %esi,%esi
485390:	75 08                	jne    0x48539a
485392:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
485397:	89 75 e0             	mov    %esi,-0x20(%ebp)
48539a:	83 c7 06             	add    $0x6,%edi
48539d:	89 7d cc             	mov    %edi,-0x34(%ebp)
4853a0:	eb 10                	jmp    0x4853b2
4853a2:	8b 45 d0             	mov    -0x30(%ebp),%eax
4853a5:	be 01 00 00 00       	mov    $0x1,%esi
4853aa:	8b ce                	mov    %esi,%ecx
4853ac:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4853af:	89 75 e0             	mov    %esi,-0x20(%ebp)
4853b2:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
4853b9:	83 f9 01             	cmp    $0x1,%ecx
4853bc:	7c 7b                	jl     0x485439
4853be:	8b 45 f8             	mov    -0x8(%ebp),%eax
4853c1:	3b 43 7c             	cmp    0x7c(%ebx),%eax
4853c4:	0f 83 db 57 f8 ff    	jae    0x40aba5
4853ca:	0f b7 10             	movzwl (%eax),%edx
4853cd:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4853d0:	83 c0 02             	add    $0x2,%eax
4853d3:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4853d6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4853d9:	85 c9                	test   %ecx,%ecx
4853db:	74 2f                	je     0x48540c
4853dd:	8b c2                	mov    %edx,%eax
4853df:	25 00 fc 00 00       	and    $0xfc00,%eax
4853e4:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4853e9:	75 21                	jne    0x48540c
4853eb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4853ee:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
4853f4:	0f b7 00             	movzwl (%eax),%eax
4853f7:	25 ff 03 00 00       	and    $0x3ff,%eax
4853fc:	c1 e2 0a             	shl    $0xa,%edx
4853ff:	0b c2                	or     %edx,%eax
485401:	05 00 00 01 00       	add    $0x10000,%eax
485406:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
48540a:	eb 03                	jmp    0x48540f
48540c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
48540f:	8b 55 ec             	mov    -0x14(%ebp),%edx
485412:	51                   	push   %ecx
485413:	8b c8                	mov    %eax,%ecx
485415:	e8 fb bf fe ff       	call   0x471415
48541a:	83 c4 04             	add    $0x4,%esp
48541d:	85 c0                	test   %eax,%eax
48541f:	0f 84 4f 51 f8 ff    	je     0x40a574
485425:	8b 45 e8             	mov    -0x18(%ebp),%eax
485428:	8b 4d d8             	mov    -0x28(%ebp),%ecx
48542b:	40                   	inc    %eax
48542c:	89 45 e8             	mov    %eax,-0x18(%ebp)
48542f:	3b c1                	cmp    %ecx,%eax
485431:	7e 8b                	jle    0x4853be