44e312:	39 86 80 00 00 00    	cmp    %eax,0x80(%esi)
44e318:	0f 83 a7 1b 00 00    	jae    0x44fec5
44e31e:	66 83 3b 77          	cmpw   $0x77,(%ebx)
44e322:	0f 84 29 70 fc ff    	je     0x415351
44e328:	66 83 38 77          	cmpw   $0x77,(%eax)
44e32c:	0f 85 93 1b 00 00    	jne    0x44fec5
44e332:	e9 1a 70 fc ff       	jmp    0x415351
44e337:	8b 45 18             	mov    0x18(%ebp),%eax
44e33a:	40                   	inc    %eax
44e33b:	50                   	push   %eax
44e33c:	0f b7 03             	movzwl (%ebx),%eax
44e33f:	ff 75 14             	push   0x14(%ebp)
44e342:	56                   	push   %esi
44e343:	0f b6 88 50 57 4a 00 	movzbl 0x4a5750(%eax),%ecx
44e34a:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
44e34e:	ff 75 0c             	push   0xc(%ebp)
44e351:	03 c8                	add    %eax,%ecx
44e353:	ff 75 08             	push   0x8(%ebp)
44e356:	8d 14 4b             	lea    (%ebx,%ecx,2),%edx
44e359:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e35c:	e8 5f 66 fc ff       	call   0x4149c0
44e361:	83 c4 14             	add    $0x14,%esp
44e364:	85 c0                	test   %eax,%eax
44e366:	0f 85 d1 67 fc ff    	jne    0x414b3d
44e36c:	8d 43 04             	lea    0x4(%ebx),%eax
44e36f:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
44e375:	b8 1f fc ff ff       	mov    $0xfffffc1f,%eax
44e37a:	e9 be 67 fc ff       	jmp    0x414b3d
44e37f:	8b 45 ac             	mov    -0x54(%ebp),%eax
44e382:	89 86 a8 00 00 00    	mov    %eax,0xa8(%esi)
44e388:	8b 45 b4             	mov    -0x4c(%ebp),%eax
44e38b:	8d 8d b4 fe ff ff    	lea    -0x14c(%ebp),%ecx
44e391:	3b c1                	cmp    %ecx,%eax
44e393:	0f 84 c5 6c fc ff    	je     0x41505e
44e399:	50                   	push   %eax
44e39a:	ff 15 48 57 4a 00    	call   *0x4a5748
44e3a0:	83 c4 04             	add    $0x4,%esp
44e3a3:	e9 b6 6c fc ff       	jmp    0x41505e
44e3a8:	8b 45 b4             	mov    -0x4c(%ebp),%eax
44e3ab:	8d 8d b4 fe ff ff    	lea    -0x14c(%ebp),%ecx
44e3b1:	3b c1                	cmp    %ecx,%eax
44e3b3:	74 15                	je     0x44e3ca
44e3b5:	50                   	push   %eax
44e3b6:	ff 15 48 57 4a 00    	call   *0x4a5748
44e3bc:	83 c4 04             	add    $0x4,%esp
44e3bf:	eb 09                	jmp    0x44e3ca
44e3c1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44e3c4:	89 8e b0 00 00 00    	mov    %ecx,0xb0(%esi)
44e3ca:	8b c7                	mov    %edi,%eax
44e3cc:	e9 6c 67 fc ff       	jmp    0x414b3d
44e3d1:	b8 fa ff ff ff       	mov    $0xfffffffa,%eax
44e3d6:	e9 62 67 fc ff       	jmp    0x414b3d
44e3db:	8b 45 18             	mov    0x18(%ebp),%eax
44e3de:	8b d3                	mov    %ebx,%edx
44e3e0:	40                   	inc    %eax
44e3e1:	8b cf                	mov    %edi,%ecx
44e3e3:	50                   	push   %eax
44e3e4:	ff 75 14             	push   0x14(%ebp)
44e3e7:	56                   	push   %esi
44e3e8:	ff 75 0c             	push   0xc(%ebp)
44e3eb:	ff 75 08             	push   0x8(%ebp)
44e3ee:	e8 cd 65 fc ff       	call   0x4149c0
44e3f3:	83 c4 14             	add    $0x14,%esp
44e3f6:	85 c0                	test   %eax,%eax
44e3f8:	0f 85 3f 67 fc ff    	jne    0x414b3d
44e3fe:	89 9e b8 00 00 00    	mov    %ebx,0xb8(%esi)
44e404:	b8 1b fc ff ff       	mov    $0xfffffc1b,%eax
44e409:	e9 2f 67 fc ff       	jmp    0x414b3d
44e40e:	8b 45 18             	mov    0x18(%ebp),%eax
44e411:	8d 53 04             	lea    0x4(%ebx),%edx
44e414:	40                   	inc    %eax
44e415:	8b cf                	mov    %edi,%ecx
44e417:	50                   	push   %eax
44e418:	ff 75 14             	push   0x14(%ebp)
44e41b:	56                   	push   %esi
44e41c:	ff 75 0c             	push   0xc(%ebp)
44e41f:	ff 75 08             	push   0x8(%ebp)
44e422:	e8 99 65 fc ff       	call   0x4149c0
44e427:	83 c4 14             	add    $0x14,%esp
44e42a:	85 c0                	test   %eax,%eax
44e42c:	0f 85 0b 67 fc ff    	jne    0x414b3d
44e432:	8b 45 e0             	mov    -0x20(%ebp),%eax
44e435:	89 86 b8 00 00 00    	mov    %eax,0xb8(%esi)
44e43b:	b8 1b fc ff ff       	mov    $0xfffffc1b,%eax
44e440:	e9 f8 66 fc ff       	jmp    0x414b3d
44e445:	8b 45 18             	mov    0x18(%ebp),%eax
44e448:	8d 53 04             	lea    0x4(%ebx),%edx
44e44b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e44e:	40                   	inc    %eax
44e44f:	50                   	push   %eax
44e450:	ff 75 14             	push   0x14(%ebp)
44e453:	56                   	push   %esi
44e454:	ff 75 0c             	push   0xc(%ebp)
44e457:	ff 75 08             	push   0x8(%ebp)
44e45a:	e8 61 65 fc ff       	call   0x4149c0
44e45f:	83 c4 14             	add    $0x14,%esp
44e462:	85 c0                	test   %eax,%eax
44e464:	0f 85 d3 66 fc ff    	jne    0x414b3d
44e46a:	89 be b8 00 00 00    	mov    %edi,0xb8(%esi)
44e470:	b8 1b fc ff ff       	mov    $0xfffffc1b,%eax
44e475:	e9 c3 66 fc ff       	jmp    0x414b3d
44e47a:	8b 45 08             	mov    0x8(%ebp),%eax
44e47d:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
44e483:	8b 45 f8             	mov    -0x8(%ebp),%eax
44e486:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
44e48c:	8b 45 0c             	mov    0xc(%ebp),%eax
44e48f:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
44e495:	b8 1a fc ff ff       	mov    $0xfffffc1a,%eax
44e49a:	e9 9e 66 fc ff       	jmp    0x414b3d
44e49f:	8b 45 f8             	mov    -0x8(%ebp),%eax
44e4a2:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
44e4a8:	8b 45 0c             	mov    0xc(%ebp),%eax
44e4ab:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
44e4b1:	8b 45 08             	mov    0x8(%ebp),%eax
44e4b4:	89 86 80 00 00 00    	mov    %eax,0x80(%esi)
44e4ba:	e9 79 66 fc ff       	jmp    0x414b38
44e4bf:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44e4c6:	0f 84 92 6b fc ff    	je     0x41505e
44e4cc:	3b 86 88 00 00 00    	cmp    0x88(%esi),%eax
44e4d2:	eb 06                	jmp    0x44e4da
44e4d4:	3b 8e 88 00 00 00    	cmp    0x88(%esi),%ecx
44e4da:	0f 86 7e 6b fc ff    	jbe    0x41505e
44e4e0:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44e4e7:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44e4ee:	0f 8e 6a 6b fc ff    	jle    0x41505e
44e4f4:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
44e4f9:	e9 3f 66 fc ff       	jmp    0x414b3d
44e4fe:	b8 f2 ff ff ff       	mov    $0xfffffff2,%eax
44e503:	e9 35 66 fc ff       	jmp    0x414b3d
44e508:	83 f8 fe             	cmp    $0xfffffffe,%eax
44e50b:	75 03                	jne    0x44e510
44e50d:	8b 7e 7c             	mov    0x7c(%esi),%edi
44e510:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44e517:	0f 84 41 6b fc ff    	je     0x41505e
44e51d:	3b 7e 7c             	cmp    0x7c(%esi),%edi
44e520:	0f 82 38 6b fc ff    	jb     0x41505e
44e526:	3b be 88 00 00 00    	cmp    0x88(%esi),%edi
44e52c:	eb ac                	jmp    0x44e4da
44e52e:	89 45 ec             	mov    %eax,-0x14(%ebp)
44e531:	3b fa                	cmp    %edx,%edi
44e533:	7c 07                	jl     0x44e53c
44e535:	8b f8                	mov    %eax,%edi
44e537:	eb 68                	jmp    0x44e5a1
44e539:	8b 45 f8             	mov    -0x8(%ebp),%eax
44e53c:	ff 75 cc             	push   -0x34(%ebp)
44e53f:	8b d0                	mov    %eax,%edx
44e541:	56                   	push   %esi
44e542:	51                   	push   %ecx
44e543:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44e546:	e8 72 02 04 00       	call   0x48e7bd
44e54b:	83 c4 0c             	add    $0xc,%esp
44e54e:	85 c0                	test   %eax,%eax
44e550:	78 14                	js     0x44e566
44e552:	8b 55 f8             	mov    -0x8(%ebp),%edx
44e555:	47                   	inc    %edi
44e556:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44e559:	8d 14 42             	lea    (%edx,%eax,2),%edx
44e55c:	89 55 f8             	mov    %edx,-0x8(%ebp)
44e55f:	3b 7d e4             	cmp    -0x1c(%ebp),%edi
44e562:	7c d5                	jl     0x44e539
44e564:	eb 30                	jmp    0x44e596
44e566:	83 f8 fe             	cmp    $0xfffffffe,%eax
44e569:	75 28                	jne    0x44e593
44e56b:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44e572:	74 1f                	je     0x44e593
44e574:	8b 46 7c             	mov    0x7c(%esi),%eax
44e577:	3b 86 88 00 00 00    	cmp    0x88(%esi),%eax
44e57d:	76 14                	jbe    0x44e593
44e57f:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44e586:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44e58d:	0f 8f 2d ab ff ff    	jg     0x4490c0
44e593:	8b 55 f8             	mov    -0x8(%ebp),%edx
44e596:	8b 7d ec             	mov    -0x14(%ebp),%edi
44e599:	3b d7                	cmp    %edi,%edx
44e59b:	0f 82 bd 6a fc ff    	jb     0x41505e
44e5a1:	8b 45 18             	mov    0x18(%ebp),%eax
44e5a4:	8b d3                	mov    %ebx,%edx
44e5a6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e5a9:	40                   	inc    %eax
44e5aa:	50                   	push   %eax
44e5ab:	ff 75 14             	push   0x14(%ebp)
44e5ae:	56                   	push   %esi
44e5af:	ff 75 0c             	push   0xc(%ebp)
44e5b2:	ff 75 08             	push   0x8(%ebp)
44e5b5:	e8 06 64 fc ff       	call   0x4149c0
44e5ba:	83 c4 14             	add    $0x14,%esp
44e5bd:	85 c0                	test   %eax,%eax
44e5bf:	0f 85 78 65 fc ff    	jne    0x414b3d
44e5c5:	8b 45 e0             	mov    -0x20(%ebp),%eax
44e5c8:	8b 55 f8             	mov    -0x8(%ebp),%edx
44e5cb:	f7 d8                	neg    %eax
44e5cd:	8d 14 42             	lea    (%edx,%eax,2),%edx
44e5d0:	89 55 f8             	mov    %edx,-0x8(%ebp)
44e5d3:	3b d7                	cmp    %edi,%edx
44e5d5:	73 ca                	jae    0x44e5a1
44e5d7:	33 c0                	xor    %eax,%eax
44e5d9:	e9 5f 65 fc ff       	jmp    0x414b3d
44e5de:	83 f9 fe             	cmp    $0xfffffffe,%ecx
44e5e1:	75 05                	jne    0x44e5e8
44e5e3:	8b 46 7c             	mov    0x7c(%esi),%eax
44e5e6:	eb 03                	jmp    0x44e5eb
44e5e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
44e5eb:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44e5f2:	0f 84 66 6a fc ff    	je     0x41505e
44e5f8:	3b 46 7c             	cmp    0x7c(%esi),%eax
44e5fb:	0f 82 5d 6a fc ff    	jb     0x41505e
44e601:	e9 c6 fe ff ff       	jmp    0x44e4cc
44e606:	8b c7                	mov    %edi,%eax
44e608:	83 ef 02             	sub    $0x2,%edi
44e60b:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
44e60e:	0f 84 4a 6a fc ff    	je     0x41505e
44e614:	66 8b 07             	mov    (%edi),%ax
44e617:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44e61c:	66 23 c1             	and    %cx,%ax
44e61f:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
44e624:	66 3b c1             	cmp    %cx,%ax
44e627:	75 03                	jne    0x44e62c
44e629:	83 ef 02             	sub    $0x2,%edi
44e62c:	8b 45 18             	mov    0x18(%ebp),%eax
44e62f:	8b d3                	mov    %ebx,%edx
44e631:	40                   	inc    %eax
44e632:	8b cf                	mov    %edi,%ecx
44e634:	50                   	push   %eax
44e635:	ff 75 14             	push   0x14(%ebp)
44e638:	56                   	push   %esi
44e639:	ff 75 0c             	push   0xc(%ebp)
44e63c:	ff 75 08             	push   0x8(%ebp)
44e63f:	e8 7c 63 fc ff       	call   0x4149c0
44e644:	83 c4 14             	add    $0x14,%esp
44e647:	85 c0                	test   %eax,%eax
44e649:	74 bb                	je     0x44e606
44e64b:	e9 ed 64 fc ff       	jmp    0x414b3d
44e650:	8b 45 18             	mov    0x18(%ebp),%eax
44e653:	8b d3                	mov    %ebx,%edx
44e655:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e658:	40                   	inc    %eax
44e659:	50                   	push   %eax
44e65a:	ff 75 14             	push   0x14(%ebp)
44e65d:	56                   	push   %esi
44e65e:	ff 75 0c             	push   0xc(%ebp)
44e661:	ff 75 08             	push   0x8(%ebp)
44e664:	e8 57 63 fc ff       	call   0x4149c0
44e669:	83 c4 14             	add    $0x14,%esp
44e66c:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
44e670:	0f 84 c8 00 00 00    	je     0x44e73e
44e676:	85 c0                	test   %eax,%eax
44e678:	0f 85 bf 64 fc ff    	jne    0x414b3d
44e67e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44e681:	39 45 f0             	cmp    %eax,-0x10(%ebp)
44e684:	0f 8d d4 69 fc ff    	jge    0x41505e
44e68a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e68d:	3b 4e 7c             	cmp    0x7c(%esi),%ecx
44e690:	0f 83 90 00 00 00    	jae    0x44e726
44e696:	0f b7 11             	movzwl (%ecx),%edx
44e699:	83 c1 02             	add    $0x2,%ecx
44e69c:	8b c2                	mov    %edx,%eax
44e69e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
44e6a1:	25 00 fc 00 00       	and    $0xfc00,%eax
44e6a6:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44e6ab:	75 1f                	jne    0x44e6cc
44e6ad:	0f b7 01             	movzwl (%ecx),%eax
44e6b0:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
44e6b6:	c1 e2 0a             	shl    $0xa,%edx
44e6b9:	25 ff 03 00 00       	and    $0x3ff,%eax
44e6be:	0b d0                	or     %eax,%edx
44e6c0:	81 c2 00 00 01 00    	add    $0x10000,%edx
44e6c6:	83 c1 02             	add    $0x2,%ecx
44e6c9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
44e6cc:	81 fa ff 00 00 00    	cmp    $0xff,%edx
44e6d2:	76 0b                	jbe    0x44e6df
44e6d4:	83 ff 6e             	cmp    $0x6e,%edi
44e6d7:	0f 84 81 69 fc ff    	je     0x41505e
44e6dd:	eb 1e                	jmp    0x44e6fd
44e6df:	8b ca                	mov    %edx,%ecx
44e6e1:	b8 01 00 00 00       	mov    $0x1,%eax
44e6e6:	83 e1 07             	and    $0x7,%ecx
44e6e9:	c1 ea 03             	shr    $0x3,%edx
44e6ec:	d3 e0                	shl    %cl,%eax
44e6ee:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44e6f1:	84 04 0a             	test   %al,(%edx,%ecx,1)
44e6f4:	0f 84 64 69 fc ff    	je     0x41505e
44e6fa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e6fd:	8b 45 18             	mov    0x18(%ebp),%eax
44e700:	8b d3                	mov    %ebx,%edx
44e702:	ff 45 f0             	incl   -0x10(%ebp)
44e705:	40                   	inc    %eax
44e706:	50                   	push   %eax
44e707:	ff 75 14             	push   0x14(%ebp)
44e70a:	56                   	push   %esi
44e70b:	ff 75 0c             	push   0xc(%ebp)
44e70e:	ff 75 08             	push   0x8(%ebp)
44e711:	e8 aa 62 fc ff       	call   0x4149c0
44e716:	83 c4 14             	add    $0x14,%esp
44e719:	85 c0                	test   %eax,%eax
44e71b:	0f 84 5d ff ff ff    	je     0x44e67e
44e721:	e9 17 64 fc ff       	jmp    0x414b3d
44e726:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
44e72d:	0f 84 2b 69 fc ff    	je     0x41505e
44e733:	3b 8e 88 00 00 00    	cmp    0x88(%esi),%ecx
44e739:	e9 9c fd ff ff       	jmp    0x44e4da
44e73e:	85 c0                	test   %eax,%eax
44e740:	0f 85 f7 63 fc ff    	jne    0x414b3d
44e746:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44e749:	39 45 f0             	cmp    %eax,-0x10(%ebp)
44e74c:	0f 8d 0c 69 fc ff    	jge    0x41505e
44e752:	8b 45 f8             	mov    -0x8(%ebp),%eax
44e755:	3b 46 7c             	cmp    0x7c(%esi),%eax
44e758:	0f 83 61 fd ff ff    	jae    0x44e4bf
44e75e:	0f b7 10             	movzwl (%eax),%edx
44e761:	83 c0 02             	add    $0x2,%eax
44e764:	89 45 f8             	mov    %eax,-0x8(%ebp)
44e767:	81 fa ff 00 00 00    	cmp    $0xff,%edx
44e76d:	76 0b                	jbe    0x44e77a
44e76f:	83 ff 6e             	cmp    $0x6e,%edi
44e772:	0f 84 e6 68 fc ff    	je     0x41505e
44e778:	eb 1b                	jmp    0x44e795
44e77a:	8b ca                	mov    %edx,%ecx
44e77c:	b8 01 00 00 00       	mov    $0x1,%eax
44e781:	83 e1 07             	and    $0x7,%ecx
44e784:	c1 ea 03             	shr    $0x3,%edx
44e787:	d3 e0                	shl    %cl,%eax
44e789:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44e78c:	84 04 0a             	test   %al,(%edx,%ecx,1)
44e78f:	0f 84 c9 68 fc ff    	je     0x41505e
44e795:	8b 45 18             	mov    0x18(%ebp),%eax
44e798:	8b d3                	mov    %ebx,%edx
44e79a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44e79d:	40                   	inc    %eax
44e79e:	ff 45 f0             	incl   -0x10(%ebp)
44e7a1:	50                   	push   %eax
44e7a2:	ff 75 14             	push   0x14(%ebp)
44e7a5:	56                   	push   %esi
44e7a6:	ff 75 0c             	push   0xc(%ebp)
44e7a9:	ff 75 08             	push   0x8(%ebp)
44e7ac:	e8 0f 62 fc ff       	call   0x4149c0
44e7b1:	83 c4 14             	add    $0x14,%esp
44e7b4:	85 c0                	test   %eax,%eax
44e7b6:	74 8e                	je     0x44e746
44e7b8:	e9 80 63 fc ff       	jmp    0x414b3d
44e7bd:	8b 45 18             	mov    0x18(%ebp),%eax
44e7c0:	8b d3                	mov    %ebx,%edx
44e7c2:	8b 7d f8             	mov    -0x8(%ebp),%edi
44e7c5:	40                   	inc    %eax
44e7c6:	50                   	push   %eax
44e7c7:	ff 75 14             	push   0x14(%ebp)
44e7ca:	8b cf                	mov    %edi,%ecx
44e7cc:	56                   	push   %esi
44e7cd:	ff 75 0c             	push   0xc(%ebp)
44e7d0:	ff 75 08             	push   0x8(%ebp)
44e7d3:	e8 e8 61 fc ff       	call   0x4149c0