489f5e:	2b c1                	sub    %ecx,%eax
489f60:	3b f0                	cmp    %eax,%esi
489f62:	77 19                	ja     0x489f7d
489f64:	8d 04 12             	lea    (%edx,%edx,1),%eax
489f67:	50                   	push   %eax
489f68:	ff 75 d4             	push   -0x2c(%ebp)
489f6b:	56                   	push   %esi
489f6c:	e8 f2 55 f9 ff       	call   0x41f563
489f71:	83 c4 0c             	add    $0xc,%esp
489f74:	85 c0                	test   %eax,%eax
489f76:	75 05                	jne    0x489f7d
489f78:	03 75 f4             	add    -0xc(%ebp),%esi
489f7b:	eb 3a                	jmp    0x489fb7
489f7d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
489f80:	85 c9                	test   %ecx,%ecx
489f82:	0f 8e a1 fb ff ff    	jle    0x489b29
489f88:	8b 43 7c             	mov    0x7c(%ebx),%eax
489f8b:	8d 14 09             	lea    (%ecx,%ecx,1),%edx
489f8e:	2b c2                	sub    %edx,%eax
489f90:	89 55 ec             	mov    %edx,-0x14(%ebp)
489f93:	3b f0                	cmp    %eax,%esi
489f95:	0f 87 8e fb ff ff    	ja     0x489b29
489f9b:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
489f9e:	50                   	push   %eax
489f9f:	8d 45 90             	lea    -0x70(%ebp),%eax
489fa2:	50                   	push   %eax
489fa3:	56                   	push   %esi
489fa4:	e8 ba 55 f9 ff       	call   0x41f563
489fa9:	83 c4 0c             	add    $0xc,%esp
489fac:	85 c0                	test   %eax,%eax
489fae:	0f 85 75 fb ff ff    	jne    0x489b29
489fb4:	03 75 ec             	add    -0x14(%ebp),%esi
489fb7:	8b 45 18             	mov    0x18(%ebp),%eax
489fba:	ff 45 d8             	incl   -0x28(%ebp)
489fbd:	40                   	inc    %eax
489fbe:	50                   	push   %eax
489fbf:	ff 75 14             	push   0x14(%ebp)
489fc2:	8b d7                	mov    %edi,%edx
489fc4:	53                   	push   %ebx
489fc5:	ff 75 0c             	push   0xc(%ebp)
489fc8:	8b ce                	mov    %esi,%ecx
489fca:	ff 75 08             	push   0x8(%ebp)
489fcd:	e8 2e 03 f8 ff       	call   0x40a300
489fd2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
489fd5:	8b 55 f0             	mov    -0x10(%ebp),%edx
489fd8:	83 c4 14             	add    $0x14,%esp
489fdb:	85 c0                	test   %eax,%eax
489fdd:	0f 84 6c ff ff ff    	je     0x489f4f
489fe3:	e9 df 04 f8 ff       	jmp    0x40a4c7
489fe8:	8b 45 18             	mov    0x18(%ebp),%eax
489feb:	8b 75 f8             	mov    -0x8(%ebp),%esi
489fee:	40                   	inc    %eax
489fef:	50                   	push   %eax
489ff0:	ff 75 14             	push   0x14(%ebp)
489ff3:	8b d7                	mov    %edi,%edx
489ff5:	53                   	push   %ebx
489ff6:	ff 75 0c             	push   0xc(%ebp)
489ff9:	8b ce                	mov    %esi,%ecx
489ffb:	ff 75 08             	push   0x8(%ebp)
489ffe:	e8 fd 02 f8 ff       	call   0x40a300
48a003:	83 c4 14             	add    $0x14,%esp
48a006:	85 c0                	test   %eax,%eax
48a008:	0f 85 b9 04 f8 ff    	jne    0x40a4c7
48a00e:	8b 45 d8             	mov    -0x28(%ebp),%eax
48a011:	3b 45 e8             	cmp    -0x18(%ebp),%eax
48a014:	0f 8d 5a 05 f8 ff    	jge    0x40a574
48a01a:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a01d:	0f 83 8f fe ff ff    	jae    0x489eb2
48a023:	0f b7 0e             	movzwl (%esi),%ecx
48a026:	39 4d dc             	cmp    %ecx,-0x24(%ebp)
48a029:	74 09                	je     0x48a034
48a02b:	39 4d f0             	cmp    %ecx,-0x10(%ebp)
48a02e:	0f 85 40 05 f8 ff    	jne    0x40a574
48a034:	40                   	inc    %eax
48a035:	89 45 d8             	mov    %eax,-0x28(%ebp)
48a038:	8b 45 18             	mov    0x18(%ebp),%eax
48a03b:	40                   	inc    %eax
48a03c:	50                   	push   %eax
48a03d:	ff 75 14             	push   0x14(%ebp)
48a040:	83 c6 02             	add    $0x2,%esi
48a043:	53                   	push   %ebx
48a044:	ff 75 0c             	push   0xc(%ebp)
48a047:	8b d7                	mov    %edi,%edx
48a049:	ff 75 08             	push   0x8(%ebp)
48a04c:	8b ce                	mov    %esi,%ecx
48a04e:	e8 ad 02 f8 ff       	call   0x40a300
48a053:	83 c4 14             	add    $0x14,%esp
48a056:	85 c0                	test   %eax,%eax
48a058:	74 b4                	je     0x48a00e
48a05a:	e9 68 04 f8 ff       	jmp    0x40a4c7
48a05f:	8b 45 18             	mov    0x18(%ebp),%eax
48a062:	40                   	inc    %eax
48a063:	50                   	push   %eax
48a064:	ff 75 14             	push   0x14(%ebp)
48a067:	8b d7                	mov    %edi,%edx
48a069:	53                   	push   %ebx
48a06a:	ff 75 0c             	push   0xc(%ebp)
48a06d:	8b ce                	mov    %esi,%ecx
48a06f:	ff 75 08             	push   0x8(%ebp)
48a072:	e8 89 02 f8 ff       	call   0x40a300
48a077:	83 c4 14             	add    $0x14,%esp
48a07a:	85 c0                	test   %eax,%eax
48a07c:	0f 85 45 04 f8 ff    	jne    0x40a4c7
48a082:	8b 4d d8             	mov    -0x28(%ebp),%ecx
48a085:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
48a088:	0f 8d e6 04 f8 ff    	jge    0x40a574
48a08e:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a091:	0f 83 1b fe ff ff    	jae    0x489eb2
48a097:	0f b7 06             	movzwl (%esi),%eax
48a09a:	83 c6 02             	add    $0x2,%esi
48a09d:	39 45 dc             	cmp    %eax,-0x24(%ebp)
48a0a0:	0f 85 ce 04 f8 ff    	jne    0x40a574
48a0a6:	8b 45 18             	mov    0x18(%ebp),%eax
48a0a9:	40                   	inc    %eax
48a0aa:	50                   	push   %eax
48a0ab:	ff 75 14             	push   0x14(%ebp)
48a0ae:	41                   	inc    %ecx
48a0af:	53                   	push   %ebx
48a0b0:	ff 75 0c             	push   0xc(%ebp)
48a0b3:	89 4d d8             	mov    %ecx,-0x28(%ebp)
48a0b6:	ff 75 08             	push   0x8(%ebp)
48a0b9:	8b d7                	mov    %edi,%edx
48a0bb:	8b ce                	mov    %esi,%ecx
48a0bd:	e8 3e 02 f8 ff       	call   0x40a300
48a0c2:	83 c4 14             	add    $0x14,%esp
48a0c5:	85 c0                	test   %eax,%eax
48a0c7:	74 b9                	je     0x48a082
48a0c9:	e9 f9 03 f8 ff       	jmp    0x40a4c7
48a0ce:	8b 45 18             	mov    0x18(%ebp),%eax
48a0d1:	40                   	inc    %eax
48a0d2:	50                   	push   %eax
48a0d3:	ff 75 14             	push   0x14(%ebp)
48a0d6:	85 f6                	test   %esi,%esi
48a0d8:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a0db:	53                   	push   %ebx
48a0dc:	ff 75 0c             	push   0xc(%ebp)
48a0df:	8b d7                	mov    %edi,%edx
48a0e1:	ff 75 08             	push   0x8(%ebp)
48a0e4:	8b ce                	mov    %esi,%ecx
48a0e6:	0f 84 8f 00 00 00    	je     0x48a17b
48a0ec:	e8 0f 02 f8 ff       	call   0x40a300
48a0f1:	83 c4 14             	add    $0x14,%esp
48a0f4:	85 c0                	test   %eax,%eax
48a0f6:	0f 85 cb 03 f8 ff    	jne    0x40a4c7
48a0fc:	8b 4d dc             	mov    -0x24(%ebp),%ecx
48a0ff:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
48a102:	0f 8d 6c 04 f8 ff    	jge    0x40a574
48a108:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a10b:	0f 83 a1 fd ff ff    	jae    0x489eb2
48a111:	0f b7 16             	movzwl (%esi),%edx
48a114:	8b c2                	mov    %edx,%eax
48a116:	25 00 fc 00 00       	and    $0xfc00,%eax
48a11b:	83 c6 02             	add    $0x2,%esi
48a11e:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a123:	75 1c                	jne    0x48a141
48a125:	0f b7 06             	movzwl (%esi),%eax
48a128:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48a12e:	c1 e2 0a             	shl    $0xa,%edx
48a131:	25 ff 03 00 00       	and    $0x3ff,%eax
48a136:	0b d0                	or     %eax,%edx
48a138:	81 c2 00 00 01 00    	add    $0x10000,%edx
48a13e:	83 c6 02             	add    $0x2,%esi
48a141:	39 55 e8             	cmp    %edx,-0x18(%ebp)
48a144:	0f 84 2a 04 f8 ff    	je     0x40a574
48a14a:	39 55 e0             	cmp    %edx,-0x20(%ebp)
48a14d:	0f 84 21 04 f8 ff    	je     0x40a574
48a153:	8b 45 18             	mov    0x18(%ebp),%eax
48a156:	40                   	inc    %eax
48a157:	50                   	push   %eax
48a158:	ff 75 14             	push   0x14(%ebp)
48a15b:	41                   	inc    %ecx
48a15c:	53                   	push   %ebx
48a15d:	ff 75 0c             	push   0xc(%ebp)
48a160:	89 4d dc             	mov    %ecx,-0x24(%ebp)
48a163:	ff 75 08             	push   0x8(%ebp)
48a166:	8b d7                	mov    %edi,%edx
48a168:	8b ce                	mov    %esi,%ecx
48a16a:	e8 91 01 f8 ff       	call   0x40a300
48a16f:	83 c4 14             	add    $0x14,%esp
48a172:	85 c0                	test   %eax,%eax
48a174:	74 86                	je     0x48a0fc
48a176:	e9 4c 03 f8 ff       	jmp    0x40a4c7
48a17b:	e8 80 01 f8 ff       	call   0x40a300
48a180:	83 c4 14             	add    $0x14,%esp
48a183:	85 c0                	test   %eax,%eax
48a185:	0f 85 3c 03 f8 ff    	jne    0x40a4c7
48a18b:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a18e:	3b 45 f0             	cmp    -0x10(%ebp),%eax
48a191:	0f 8d dd 03 f8 ff    	jge    0x40a574
48a197:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a19a:	0f 83 12 fd ff ff    	jae    0x489eb2
48a1a0:	0f b7 0e             	movzwl (%esi),%ecx
48a1a3:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
48a1a6:	0f 84 c8 03 f8 ff    	je     0x40a574
48a1ac:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
48a1af:	0f 84 bf 03 f8 ff    	je     0x40a574
48a1b5:	40                   	inc    %eax
48a1b6:	89 45 dc             	mov    %eax,-0x24(%ebp)
48a1b9:	8b 45 18             	mov    0x18(%ebp),%eax
48a1bc:	40                   	inc    %eax
48a1bd:	50                   	push   %eax
48a1be:	ff 75 14             	push   0x14(%ebp)
48a1c1:	83 c6 02             	add    $0x2,%esi
48a1c4:	53                   	push   %ebx
48a1c5:	ff 75 0c             	push   0xc(%ebp)
48a1c8:	8b d7                	mov    %edi,%edx
48a1ca:	ff 75 08             	push   0x8(%ebp)
48a1cd:	8b ce                	mov    %esi,%ecx
48a1cf:	e8 2c 01 f8 ff       	call   0x40a300
48a1d4:	83 c4 14             	add    $0x14,%esp
48a1d7:	85 c0                	test   %eax,%eax
48a1d9:	74 b0                	je     0x48a18b
48a1db:	e9 e7 02 f8 ff       	jmp    0x40a4c7
48a1e0:	8b 45 18             	mov    0x18(%ebp),%eax
48a1e3:	40                   	inc    %eax
48a1e4:	50                   	push   %eax
48a1e5:	ff 75 14             	push   0x14(%ebp)
48a1e8:	85 f6                	test   %esi,%esi
48a1ea:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a1ed:	53                   	push   %ebx
48a1ee:	ff 75 0c             	push   0xc(%ebp)
48a1f1:	8b d7                	mov    %edi,%edx
48a1f3:	ff 75 08             	push   0x8(%ebp)
48a1f6:	8b ce                	mov    %esi,%ecx
48a1f8:	0f 84 86 00 00 00    	je     0x48a284
48a1fe:	e8 fd 00 f8 ff       	call   0x40a300
48a203:	83 c4 14             	add    $0x14,%esp
48a206:	85 c0                	test   %eax,%eax
48a208:	0f 85 b9 02 f8 ff    	jne    0x40a4c7
48a20e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
48a211:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
48a214:	0f 8d 5a 03 f8 ff    	jge    0x40a574
48a21a:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a21d:	0f 83 8f fc ff ff    	jae    0x489eb2
48a223:	0f b7 16             	movzwl (%esi),%edx
48a226:	8b c2                	mov    %edx,%eax
48a228:	25 00 fc 00 00       	and    $0xfc00,%eax
48a22d:	83 c6 02             	add    $0x2,%esi
48a230:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a235:	75 1c                	jne    0x48a253
48a237:	0f b7 06             	movzwl (%esi),%eax
48a23a:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48a240:	c1 e2 0a             	shl    $0xa,%edx
48a243:	25 ff 03 00 00       	and    $0x3ff,%eax
48a248:	0b d0                	or     %eax,%edx
48a24a:	81 c2 00 00 01 00    	add    $0x10000,%edx
48a250:	83 c6 02             	add    $0x2,%esi
48a253:	39 55 e8             	cmp    %edx,-0x18(%ebp)
48a256:	0f 84 18 03 f8 ff    	je     0x40a574
48a25c:	8b 45 18             	mov    0x18(%ebp),%eax
48a25f:	40                   	inc    %eax
48a260:	50                   	push   %eax
48a261:	ff 75 14             	push   0x14(%ebp)
48a264:	41                   	inc    %ecx
48a265:	53                   	push   %ebx
48a266:	ff 75 0c             	push   0xc(%ebp)
48a269:	89 4d dc             	mov    %ecx,-0x24(%ebp)
48a26c:	ff 75 08             	push   0x8(%ebp)
48a26f:	8b d7                	mov    %edi,%edx
48a271:	8b ce                	mov    %esi,%ecx
48a273:	e8 88 00 f8 ff       	call   0x40a300
48a278:	83 c4 14             	add    $0x14,%esp
48a27b:	85 c0                	test   %eax,%eax
48a27d:	74 8f                	je     0x48a20e
48a27f:	e9 43 02 f8 ff       	jmp    0x40a4c7
48a284:	e8 77 00 f8 ff       	call   0x40a300
48a289:	83 c4 14             	add    $0x14,%esp
48a28c:	85 c0                	test   %eax,%eax
48a28e:	0f 85 33 02 f8 ff    	jne    0x40a4c7
48a294:	8b 4d dc             	mov    -0x24(%ebp),%ecx
48a297:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
48a29a:	0f 8d d4 02 f8 ff    	jge    0x40a574
48a2a0:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a2a3:	0f 83 09 fc ff ff    	jae    0x489eb2
48a2a9:	0f b7 06             	movzwl (%esi),%eax
48a2ac:	83 c6 02             	add    $0x2,%esi
48a2af:	39 45 e8             	cmp    %eax,-0x18(%ebp)
48a2b2:	0f 84 bc 02 f8 ff    	je     0x40a574
48a2b8:	8b 45 18             	mov    0x18(%ebp),%eax
48a2bb:	40                   	inc    %eax
48a2bc:	50                   	push   %eax
48a2bd:	ff 75 14             	push   0x14(%ebp)
48a2c0:	41                   	inc    %ecx
48a2c1:	53                   	push   %ebx
48a2c2:	ff 75 0c             	push   0xc(%ebp)
48a2c5:	89 4d dc             	mov    %ecx,-0x24(%ebp)
48a2c8:	ff 75 08             	push   0x8(%ebp)
48a2cb:	8b d7                	mov    %edi,%edx
48a2cd:	8b ce                	mov    %esi,%ecx
48a2cf:	e8 2c 00 f8 ff       	call   0x40a300
48a2d4:	83 c4 14             	add    $0x14,%esp
48a2d7:	85 c0                	test   %eax,%eax
48a2d9:	74 b9                	je     0x48a294
48a2db:	e9 e7 01 f8 ff       	jmp    0x40a4c7
48a2e0:	83 fa 0a             	cmp    $0xa,%edx
48a2e3:	0f 87 2e f8 ff ff    	ja     0x489b17
48a2e9:	ff 24 95 de ba 48 00 	jmp    *0x48bade(,%edx,4)
48a2f0:	8b 45 18             	mov    0x18(%ebp),%eax
48a2f3:	8b 75 08             	mov    0x8(%ebp),%esi
48a2f6:	40                   	inc    %eax
48a2f7:	50                   	push   %eax
48a2f8:	ff 75 14             	push   0x14(%ebp)
48a2fb:	8b d7                	mov    %edi,%edx
48a2fd:	53                   	push   %ebx
48a2fe:	ff 75 0c             	push   0xc(%ebp)
48a301:	56                   	push   %esi
48a302:	e8 f9 ff f7 ff       	call   0x40a300
48a307:	83 c4 14             	add    $0x14,%esp
48a30a:	85 c0                	test   %eax,%eax
48a30c:	0f 85 b5 01 f8 ff    	jne    0x40a4c7
48a312:	8b 45 f0             	mov    -0x10(%ebp),%eax
48a315:	3b 45 dc             	cmp    -0x24(%ebp),%eax
48a318:	0f 8d 56 02 f8 ff    	jge    0x40a574
48a31e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48a321:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48a324:	0f 83 2d fa ff ff    	jae    0x489d57
48a32a:	0f b7 11             	movzwl (%ecx),%edx
48a32d:	83 c1 02             	add    $0x2,%ecx
48a330:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a334:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a337:	74 14                	je     0x48a34d
48a339:	81 e2 00 fc 00 00    	and    $0xfc00,%edx
48a33f:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
48a345:	75 06                	jne    0x48a34d
48a347:	83 c1 02             	add    $0x2,%ecx
48a34a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a34d:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
48a351:	0f 85 1d 02 f8 ff    	jne    0x40a574
48a357:	40                   	inc    %eax
48a358:	89 45 f0             	mov    %eax,-0x10(%ebp)
48a35b:	8b 45 18             	mov    0x18(%ebp),%eax
48a35e:	40                   	inc    %eax
48a35f:	50                   	push   %eax
48a360:	ff 75 14             	push   0x14(%ebp)
48a363:	8b d7                	mov    %edi,%edx
48a365:	53                   	push   %ebx
48a366:	ff 75 0c             	push   0xc(%ebp)
48a369:	56                   	push   %esi
48a36a:	e8 91 ff f7 ff       	call   0x40a300
48a36f:	83 c4 14             	add    $0x14,%esp
48a372:	85 c0                	test   %eax,%eax
48a374:	74 9c                	je     0x48a312
48a376:	e9 4c 01 f8 ff       	jmp    0x40a4c7
48a37b:	8b 45 18             	mov    0x18(%ebp),%eax
48a37e:	8b 75 08             	mov    0x8(%ebp),%esi
48a381:	40                   	inc    %eax
48a382:	50                   	push   %eax
48a383:	ff 75 14             	push   0x14(%ebp)
48a386:	8b d7                	mov    %edi,%edx
48a388:	53                   	push   %ebx