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
48a5c0:	0b c8                	or     %eax,%ecx
48a5c2:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48a5c8:	83 c6 02             	add    $0x2,%esi
48a5cb:	8b c1                	mov    %ecx,%eax
48a5cd:	99                   	cltd
48a5ce:	83 e2 7f             	and    $0x7f,%edx
48a5d1:	03 c2                	add    %edx,%eax
48a5d3:	c1 f8 07             	sar    $0x7,%eax
48a5d6:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a5dd:	c1 e0 07             	shl    $0x7,%eax
48a5e0:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48a5e6:	79 05                	jns    0x48a5ed
48a5e8:	49                   	dec    %ecx
48a5e9:	83 c9 80             	or     $0xffffff80,%ecx
48a5ec:	41                   	inc    %ecx
48a5ed:	03 c1                	add    %ecx,%eax
48a5ef:	33 c9                	xor    %ecx,%ecx
48a5f1:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a5f8:	00
48a5f9:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48a600:	00
48a601:	3b 45 bc             	cmp    -0x44(%ebp),%eax
48a604:	0f 94 c1             	sete   %cl
48a607:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
48a60a:	0f 84 64 ff f7 ff    	je     0x40a574
48a610:	8b 45 18             	mov    0x18(%ebp),%eax
48a613:	ff 45 f0             	incl   -0x10(%ebp)
48a616:	40                   	inc    %eax
48a617:	50                   	push   %eax
48a618:	ff 75 14             	push   0x14(%ebp)
48a61b:	8b d7                	mov    %edi,%edx
48a61d:	53                   	push   %ebx
48a61e:	ff 75 0c             	push   0xc(%ebp)
48a621:	8b ce                	mov    %esi,%ecx
48a623:	ff 75 08             	push   0x8(%ebp)
48a626:	e8 d5 fc f7 ff       	call   0x40a300
48a62b:	83 c4 14             	add    $0x14,%esp
48a62e:	85 c0                	test   %eax,%eax
48a630:	0f 84 4a ff ff ff    	je     0x48a580
48a636:	e9 8c fe f7 ff       	jmp    0x40a4c7
48a63b:	8b 45 18             	mov    0x18(%ebp),%eax
48a63e:	40                   	inc    %eax
48a63f:	50                   	push   %eax
48a640:	ff 75 14             	push   0x14(%ebp)
48a643:	8b d7                	mov    %edi,%edx
48a645:	53                   	push   %ebx
48a646:	ff 75 0c             	push   0xc(%ebp)
48a649:	ff 75 08             	push   0x8(%ebp)
48a64c:	e8 af fc f7 ff       	call   0x40a300
48a651:	83 c4 14             	add    $0x14,%esp
48a654:	85 c0                	test   %eax,%eax
48a656:	0f 85 6b fe f7 ff    	jne    0x40a4c7
48a65c:	8b 75 f8             	mov    -0x8(%ebp),%esi
48a65f:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a662:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a665:	0f 8d 09 ff f7 ff    	jge    0x40a574
48a66b:	3b 73 7c             	cmp    0x7c(%ebx),%esi
48a66e:	0f 83 3e f8 ff ff    	jae    0x489eb2
48a674:	0f b7 0e             	movzwl (%esi),%ecx
48a677:	83 c6 02             	add    $0x2,%esi
48a67a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a67e:	74 2a                	je     0x48a6aa
48a680:	8b c1                	mov    %ecx,%eax
48a682:	25 00 fc 00 00       	and    $0xfc00,%eax
48a687:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a68c:	75 1c                	jne    0x48a6aa
48a68e:	0f b7 06             	movzwl (%esi),%eax
48a691:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
48a697:	c1 e1 0a             	shl    $0xa,%ecx
48a69a:	25 ff 03 00 00       	and    $0x3ff,%eax
48a69f:	0b c8                	or     %eax,%ecx
48a6a1:	81 c1 00 00 01 00    	add    $0x10000,%ecx
48a6a7:	83 c6 02             	add    $0x2,%esi
48a6aa:	8b c1                	mov    %ecx,%eax
48a6ac:	99                   	cltd
48a6ad:	83 e2 7f             	and    $0x7f,%edx
48a6b0:	03 c2                	add    %edx,%eax
48a6b2:	c1 f8 07             	sar    $0x7,%eax
48a6b5:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a6bc:	c1 e0 07             	shl    $0x7,%eax
48a6bf:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
48a6c5:	79 05                	jns    0x48a6cc
48a6c7:	49                   	dec    %ecx
48a6c8:	83 c9 80             	or     $0xffffff80,%ecx
48a6cb:	41                   	inc    %ecx
48a6cc:	03 c1                	add    %ecx,%eax
48a6ce:	33 c9                	xor    %ecx,%ecx
48a6d0:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a6d7:	00
48a6d8:	0f b6 04 c5 08 b1 4a 	movzbl 0x4ab108(,%eax,8),%eax
48a6df:	00
48a6e0:	3b 45 bc             	cmp    -0x44(%ebp),%eax
48a6e3:	0f 94 c1             	sete   %cl
48a6e6:	3b 4d c4             	cmp    -0x3c(%ebp),%ecx
48a6e9:	0f 84 85 fe f7 ff    	je     0x40a574
48a6ef:	8b 45 18             	mov    0x18(%ebp),%eax
48a6f2:	ff 45 f0             	incl   -0x10(%ebp)
48a6f5:	40                   	inc    %eax
48a6f6:	50                   	push   %eax
48a6f7:	ff 75 14             	push   0x14(%ebp)
48a6fa:	8b d7                	mov    %edi,%edx
48a6fc:	53                   	push   %ebx
48a6fd:	ff 75 0c             	push   0xc(%ebp)
48a700:	8b ce                	mov    %esi,%ecx
48a702:	ff 75 08             	push   0x8(%ebp)
48a705:	e8 f6 fb f7 ff       	call   0x40a300
48a70a:	83 c4 14             	add    $0x14,%esp
48a70d:	85 c0                	test   %eax,%eax
48a70f:	0f 84 4a ff ff ff    	je     0x48a65f
48a715:	e9 ad fd f7 ff       	jmp    0x40a4c7
48a71a:	8b 45 18             	mov    0x18(%ebp),%eax
48a71d:	8b 75 08             	mov    0x8(%ebp),%esi
48a720:	40                   	inc    %eax
48a721:	50                   	push   %eax
48a722:	ff 75 14             	push   0x14(%ebp)
48a725:	8b d7                	mov    %edi,%edx
48a727:	53                   	push   %ebx
48a728:	ff 75 0c             	push   0xc(%ebp)
48a72b:	56                   	push   %esi
48a72c:	e8 cf fb f7 ff       	call   0x40a300
48a731:	83 c4 14             	add    $0x14,%esp
48a734:	85 c0                	test   %eax,%eax
48a736:	0f 85 8b fd f7 ff    	jne    0x40a4c7
48a73c:	8b 45 dc             	mov    -0x24(%ebp),%eax
48a73f:	39 45 f0             	cmp    %eax,-0x10(%ebp)
48a742:	0f 8d 2c fe f7 ff    	jge    0x40a574
48a748:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48a74b:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
48a74e:	0f 83 03 f6 ff ff    	jae    0x489d57
48a754:	0f b7 11             	movzwl (%ecx),%edx
48a757:	83 c1 02             	add    $0x2,%ecx
48a75a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
48a75e:	89 55 f4             	mov    %edx,-0xc(%ebp)
48a761:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a764:	74 30                	je     0x48a796
48a766:	8b c2                	mov    %edx,%eax
48a768:	25 00 fc 00 00       	and    $0xfc00,%eax
48a76d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48a772:	75 22                	jne    0x48a796
48a774:	0f b7 01             	movzwl (%ecx),%eax
48a777:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
48a77d:	c1 e2 0a             	shl    $0xa,%edx
48a780:	25 ff 03 00 00       	and    $0x3ff,%eax
48a785:	0b d0                	or     %eax,%edx
48a787:	81 c2 00 00 01 00    	add    $0x10000,%edx
48a78d:	83 c1 02             	add    $0x2,%ecx
48a790:	89 55 f4             	mov    %edx,-0xc(%ebp)
48a793:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48a796:	8b c2                	mov    %edx,%eax
48a798:	99                   	cltd
48a799:	83 e2 7f             	and    $0x7f,%edx
48a79c:	03 c2                	add    %edx,%eax
48a79e:	8b 55 f4             	mov    -0xc(%ebp),%edx
48a7a1:	c1 f8 07             	sar    $0x7,%eax
48a7a4:	0f b6 80 a0 c4 4a 00 	movzbl 0x4ac4a0(%eax),%eax
48a7ab:	c1 e0 07             	shl    $0x7,%eax
48a7ae:	81 e2 7f 00 00 80    	and    $0x8000007f,%edx
48a7b4:	79 05                	jns    0x48a7bb
48a7b6:	4a                   	dec    %edx
48a7b7:	83 ca 80             	or     $0xffffff80,%edx
48a7ba:	42                   	inc    %edx
48a7bb:	03 c2                	add    %edx,%eax
48a7bd:	0f b7 04 45 08 e6 49 	movzwl 0x49e608(,%eax,2),%eax
48a7c4:	00
48a7c5:	0f b6 04 c5 09 b1 4a 	movzbl 0x4ab109(,%eax,8),%eax
48a7cc:	00
48a7cd:	8b 04 85 80 61 4b 00 	mov    0x4b6180(,%eax,4),%eax
48a7d4:	83 f8 01             	cmp    $0x1,%eax
48a7d7:	74 09                	je     0x48a7e2
48a7d9:	83 f8 03             	cmp    $0x3,%eax
48a7dc:	74 04                	je     0x48a7e2
48a7de:	33 c0                	xor    %eax,%eax
48a7e0:	eb 05                	jmp    0x48a7e7
48a7e2:	b8 01 00 00 00       	mov    $0x1,%eax
48a7e7:	3b 45 c4             	cmp    -0x3c(%ebp),%eax