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
48a389:	ff 75 0c             	push   0xc(%ebp)
48a38c:	56                   	push   %esi
48a38d:	e8 6e ff f7 ff       	call   0x40a300
48a392:	83 c4 14             	add    $0x14,%esp
48a395:	85 c0                	test   %eax,%eax
48a397:	0f 85 2a 01 f8 ff    	jne    0x40a4c7
48a39d:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a3a0:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a3a3:	0f 8d cb 01 f8 ff    	jge    0x40a574
48a3a9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48a3ac:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48a3af:	0f 83 a2 f9 ff ff    	jae    0x489d57
48a3b5:	0f b7 11             	movzwl (%ecx),%edx
48a3b8:	83 c1 02             	add    $0x2,%ecx
48a3bb:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a3bf:	89 55 f4             	mov    %edx,-0xc(%ebp)
48a3c2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a3c5:	74 30                	je     0x48a3f7
48a3c7:	8b c2                	mov    %edx,%eax
48a3c9:	25 00 fc 00 00       	and    $0xfc00,%eax
48a3ce:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a3d3:	75 22                	jne    0x48a3f7
48a3d5:	0f b7 01             	movzwl (%ecx),%eax
48a3d8:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48a3de:	c1 e2 0a             	shl    $0xa,%edx
48a3e1:	25 ff 03 00 00       	and    $0x3ff,%eax
48a3e6:	0b d0                	or     %eax,%edx
48a3e8:	81 c2 00 00 01 00    	add    $0x10000,%edx
48a3ee:	83 c1 02             	add    $0x2,%ecx
48a3f1:	89 55 f4             	mov    %edx,-0xc(%ebp)
48a3f4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a3f7:	8b c2                	mov    %edx,%eax
48a3f9:	99                   	cltd
48a3fa:	83 e2 7f             	and    $0x7f,%edx
48a3fd:	03 c2                	add    %edx,%eax
48a3ff:	8b 55 f4             	mov    -0xc(%ebp),%edx
48a402:	c1 f8 07             	sar    $0x7,%eax
48a405:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a40c:	c1 e0 07             	shl    $0x7,%eax
48a40f:	81 e2 7f 00 00 80    	and    $0x8000007f,%edx
48a415:	79 05                	jns    0x48a41c
48a417:	4a                   	dec    %edx
48a418:	83 ca 80             	or     $0xffffff80,%edx
48a41b:	42                   	inc    %edx
48a41c:	03 c2                	add    %edx,%eax
48a41e:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a425:	00
48a426:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48a42d:	00
48a42e:	83 f8 09             	cmp    $0x9,%eax
48a431:	74 0e                	je     0x48a441
48a433:	83 f8 05             	cmp    $0x5,%eax
48a436:	74 09                	je     0x48a441
48a438:	83 f8 08             	cmp    $0x8,%eax
48a43b:	74 04                	je     0x48a441
48a43d:	33 c0                	xor    %eax,%eax
48a43f:	eb 05                	jmp    0x48a446
48a441:	b8 01 00 00 00       	mov    $0x1,%eax
48a446:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
48a449:	0f 84 25 01 f8 ff    	je     0x40a574
48a44f:	8b 45 18             	mov    0x18(%ebp),%eax
48a452:	ff 45 f0             	incl   -0x10(%ebp)
48a455:	40                   	inc    %eax
48a456:	50                   	push   %eax
48a457:	ff 75 14             	push   0x14(%ebp)
48a45a:	8b d7                	mov    %edi,%edx
48a45c:	53                   	push   %ebx
48a45d:	ff 75 0c             	push   0xc(%ebp)
48a460:	56                   	push   %esi
48a461:	e8 9a fe f7 ff       	call   0x40a300
48a466:	83 c4 14             	add    $0x14,%esp
48a469:	85 c0                	test   %eax,%eax
48a46b:	0f 84 2c ff ff ff    	je     0x48a39d
48a471:	e9 51 00 f8 ff       	jmp    0x40a4c7
48a476:	8b 45 18             	mov    0x18(%ebp),%eax
48a479:	40                   	inc    %eax
48a47a:	50                   	push   %eax
48a47b:	ff 75 14             	push   0x14(%ebp)
48a47e:	8b d7                	mov    %edi,%edx
48a480:	53                   	push   %ebx
48a481:	ff 75 0c             	push   0xc(%ebp)
48a484:	ff 75 08             	push   0x8(%ebp)
48a487:	e8 74 fe f7 ff       	call   0x40a300
48a48c:	83 c4 14             	add    $0x14,%esp
48a48f:	85 c0                	test   %eax,%eax
48a491:	0f 85 30 00 f8 ff    	jne    0x40a4c7
48a497:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a49a:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a49d:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a4a0:	0f 8d ce 00 f8 ff    	jge    0x40a574
48a4a6:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a4a9:	0f 83 03 fa ff ff    	jae    0x489eb2
48a4af:	0f b7 0e             	movzwl (%esi),%ecx
48a4b2:	83 c6 02             	add    $0x2,%esi
48a4b5:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a4b9:	74 2a                	je     0x48a4e5
48a4bb:	8b c1                	mov    %ecx,%eax
48a4bd:	25 00 fc 00 00       	and    $0xfc00,%eax
48a4c2:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a4c7:	75 1c                	jne    0x48a4e5
48a4c9:	0f b7 06             	movzwl (%esi),%eax
48a4cc:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48a4d2:	c1 e1 0a             	shl    $0xa,%ecx
48a4d5:	25 ff 03 00 00       	and    $0x3ff,%eax
48a4da:	0b c8                	or     %eax,%ecx
48a4dc:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48a4e2:	83 c6 02             	add    $0x2,%esi
48a4e5:	8b c1                	mov    %ecx,%eax
48a4e7:	99                   	cltd
48a4e8:	83 e2 7f             	and    $0x7f,%edx
48a4eb:	03 c2                	add    %edx,%eax
48a4ed:	c1 f8 07             	sar    $0x7,%eax
48a4f0:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a4f7:	c1 e0 07             	shl    $0x7,%eax
48a4fa:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48a500:	79 05                	jns    0x48a507
48a502:	49                   	dec    %ecx
48a503:	83 c9 80             	or     $0xffffff80,%ecx
48a506:	41                   	inc    %ecx
48a507:	8b 55 bc             	mov    -0x44(%ebp),%edx
48a50a:	03 c1                	add    %ecx,%eax
48a50c:	33 c9                	xor    %ecx,%ecx
48a50e:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a515:	00
48a516:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48a51d:	00
48a51e:	39 14 85 80 61 4b 00 	cmp    %edx,0x4b6180(,%eax,4)
48a525:	0f 94 c1             	sete   %cl
48a528:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
48a52b:	0f 84 43 00 f8 ff    	je     0x40a574
48a531:	8b 45 18             	mov    0x18(%ebp),%eax
48a534:	ff 45 f0             	incl   -0x10(%ebp)
48a537:	40                   	inc    %eax
48a538:	50                   	push   %eax
48a539:	ff 75 14             	push   0x14(%ebp)
48a53c:	8b d7                	mov    %edi,%edx
48a53e:	53                   	push   %ebx
48a53f:	ff 75 0c             	push   0xc(%ebp)
48a542:	8b ce                	mov    %esi,%ecx
48a544:	ff 75 08             	push   0x8(%ebp)
48a547:	e8 b4 fd f7 ff       	call   0x40a300
48a54c:	83 c4 14             	add    $0x14,%esp
48a54f:	85 c0                	test   %eax,%eax
48a551:	0f 84 43 ff ff ff    	je     0x48a49a
48a557:	e9 6b ff f7 ff       	jmp    0x40a4c7
48a55c:	8b 45 18             	mov    0x18(%ebp),%eax
48a55f:	40                   	inc    %eax
48a560:	50                   	push   %eax
48a561:	ff 75 14             	push   0x14(%ebp)
48a564:	8b d7                	mov    %edi,%edx
48a566:	53                   	push   %ebx
48a567:	ff 75 0c             	push   0xc(%ebp)
48a56a:	ff 75 08             	push   0x8(%ebp)
48a56d:	e8 8e fd f7 ff       	call   0x40a300
48a572:	83 c4 14             	add    $0x14,%esp
48a575:	85 c0                	test   %eax,%eax
48a577:	0f 85 4a ff f7 ff    	jne    0x40a4c7
48a57d:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a580:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a583:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a586:	0f 8d e8 ff f7 ff    	jge    0x40a574
48a58c:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a58f:	0f 83 1d f9 ff ff    	jae    0x489eb2
48a595:	0f b7 0e             	movzwl (%esi),%ecx
48a598:	83 c6 02             	add    $0x2,%esi
48a59b:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a59f:	74 2a                	je     0x48a5cb
48a5a1:	8b c1                	mov    %ecx,%eax
48a5a3:	25 00 fc 00 00       	and    $0xfc00,%eax
48a5a8:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a5ad:	75 1c                	jne    0x48a5cb
48a5af:	0f b7 06             	movzwl (%esi),%eax
48a5b2:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48a5b8:	c1 e1 0a             	shl    $0xa,%ecx
48a5bb:	25 ff 03 00 00       	and    $0x3ff,%eax