44923a:	0b c8                	or     %eax,%ecx
44923c:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449242:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
449246:	74 5c                	je     0x4492a4
449248:	83 f9 5f             	cmp    $0x5f,%ecx
44924b:	75 08                	jne    0x449255
44924d:	8b 45 f8             	mov    -0x8(%ebp),%eax
449250:	8d 79 a2             	lea    -0x5e(%ecx),%edi
449253:	eb 6f                	jmp    0x4492c4
449255:	8b c1                	mov    %ecx,%eax
449257:	99                   	cltd
449258:	83 e2 7f             	and    $0x7f,%edx
44925b:	03 c2                	add    %edx,%eax
44925d:	c1 f8 07             	sar    $0x7,%eax
449260:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
449267:	c1 e0 07             	shl    $0x7,%eax
44926a:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
449270:	79 05                	jns    0x449277
449272:	49                   	dec    %ecx
449273:	83 c9 80             	or     $0xffffff80,%ecx
449276:	41                   	inc    %ecx
449277:	03 c1                	add    %ecx,%eax
449279:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
449280:	00
449281:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
449288:	00
449289:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
449290:	83 f8 01             	cmp    $0x1,%eax
449293:	74 05                	je     0x44929a
449295:	83 f8 03             	cmp    $0x3,%eax
449298:	75 25                	jne    0x4492bf
44929a:	8b 45 f8             	mov    -0x8(%ebp),%eax
44929d:	bf 01 00 00 00       	mov    $0x1,%edi
4492a2:	eb 20                	jmp    0x4492c4
4492a4:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4492aa:	73 13                	jae    0x4492bf
4492ac:	8b 46 44             	mov    0x44(%esi),%eax
4492af:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
4492b3:	74 0a                	je     0x4492bf
4492b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4492b8:	bf 01 00 00 00       	mov    $0x1,%edi
4492bd:	eb 05                	jmp    0x4492c4
4492bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4492c2:	33 ff                	xor    %edi,%edi
4492c4:	3b 46 7c             	cmp    0x7c(%esi),%eax
4492c7:	73 63                	jae    0x44932c
4492c9:	0f b7 08             	movzwl (%eax),%ecx
4492cc:	8b c1                	mov    %ecx,%eax
4492ce:	25 00 fc 00 00       	and    $0xfc00,%eax
4492d3:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4492d8:	75 1d                	jne    0x4492f7
4492da:	8b 45 f8             	mov    -0x8(%ebp),%eax
4492dd:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4492e3:	c1 e1 0a             	shl    $0xa,%ecx
4492e6:	0f b7 40 02          	movzwl 0x2(%eax),%eax
4492ea:	25 ff 03 00 00       	and    $0x3ff,%eax
4492ef:	0b c8                	or     %eax,%ecx
4492f1:	81 c1 00 00 01 00    	add    $0x10000,%ecx
4492f7:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
4492fb:	74 76                	je     0x449373
4492fd:	83 f9 5f             	cmp    $0x5f,%ecx
449300:	0f 84 ae 01 00 00    	je     0x4494b4
449306:	8b c1                	mov    %ecx,%eax
449308:	99                   	cltd
449309:	83 e2 7f             	and    $0x7f,%edx
44930c:	03 c2                	add    %edx,%eax
44930e:	c1 f8 07             	sar    $0x7,%eax
449311:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
449318:	c1 e0 07             	shl    $0x7,%eax
44931b:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
449321:	0f 88 39 01 00 00    	js     0x449460
449327:	e9 39 01 00 00       	jmp    0x449465
44932c:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
449333:	74 1c                	je     0x449351
449335:	3b 86 88 00 00 00    	cmp    0x88(%esi),%eax
44933b:	76 14                	jbe    0x449351
44933d:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
449344:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44934b:	0f 8f 6f fd ff ff    	jg     0x4490c0
449351:	33 c9                	xor    %ecx,%ecx
449353:	66 8b 03             	mov    (%ebx),%ax
449356:	83 c3 02             	add    $0x2,%ebx
449359:	89 5d d0             	mov    %ebx,-0x30(%ebp)
44935c:	66 83 f8 05          	cmp    $0x5,%ax
449360:	0f 85 58 01 00 00    	jne    0x4494be
449366:	3b cf                	cmp    %edi,%ecx
449368:	0f 84 f0 bc fc ff    	je     0x41505e
44936e:	e9 2d b9 fc ff       	jmp    0x414ca0
449373:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
449379:	73 d6                	jae    0x449351
44937b:	8b 46 44             	mov    0x44(%esi),%eax
44937e:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
449382:	0f 85 2c 01 00 00    	jne    0x4494b4
449388:	eb c7                	jmp    0x449351
44938a:	3b 46 78             	cmp    0x78(%esi),%eax
44938d:	0f 84 97 00 00 00    	je     0x44942a
449393:	3b 86 88 00 00 00    	cmp    0x88(%esi),%eax
449399:	77 0c                	ja     0x4493a7
44939b:	83 c0 fe             	add    $0xfffffffe,%eax
44939e:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
4493a4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4493a7:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
4493ab:	0f b7 48 fe          	movzwl -0x2(%eax),%ecx
4493af:	74 59                	je     0x44940a
4493b1:	83 f9 5f             	cmp    $0x5f,%ecx
4493b4:	75 05                	jne    0x4493bb
4493b6:	8d 79 a2             	lea    -0x5e(%ecx),%edi
4493b9:	eb 71                	jmp    0x44942c
4493bb:	8b c1                	mov    %ecx,%eax
4493bd:	99                   	cltd
4493be:	83 e2 7f             	and    $0x7f,%edx
4493c1:	03 c2                	add    %edx,%eax
4493c3:	c1 f8 07             	sar    $0x7,%eax
4493c6:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
4493cd:	c1 e0 07             	shl    $0x7,%eax
4493d0:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
4493d6:	79 05                	jns    0x4493dd
4493d8:	49                   	dec    %ecx
4493d9:	83 c9 80             	or     $0xffffff80,%ecx
4493dc:	41                   	inc    %ecx
4493dd:	03 c1                	add    %ecx,%eax
4493df:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
4493e6:	00
4493e7:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
4493ee:	00
4493ef:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
4493f6:	83 f8 01             	cmp    $0x1,%eax
4493f9:	74 05                	je     0x449400
4493fb:	83 f8 03             	cmp    $0x3,%eax
4493fe:	75 27                	jne    0x449427
449400:	8b 45 f8             	mov    -0x8(%ebp),%eax
449403:	bf 01 00 00 00       	mov    $0x1,%edi
449408:	eb 22                	jmp    0x44942c
44940a:	ba ff 00 00 00       	mov    $0xff,%edx
44940f:	66 3b ca             	cmp    %dx,%cx
449412:	77 16                	ja     0x44942a
449414:	8b 46 44             	mov    0x44(%esi),%eax
449417:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44941b:	74 0a                	je     0x449427
44941d:	8b 45 f8             	mov    -0x8(%ebp),%eax
449420:	bf 01 00 00 00       	mov    $0x1,%edi
449425:	eb 05                	jmp    0x44942c
449427:	8b 45 f8             	mov    -0x8(%ebp),%eax
44942a:	33 ff                	xor    %edi,%edi
44942c:	3b 46 7c             	cmp    0x7c(%esi),%eax
44942f:	0f 83 f7 fe ff ff    	jae    0x44932c
449435:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
449439:	74 59                	je     0x449494
44943b:	0f b7 08             	movzwl (%eax),%ecx
44943e:	83 f9 5f             	cmp    $0x5f,%ecx
449441:	74 71                	je     0x4494b4
449443:	8b c1                	mov    %ecx,%eax
449445:	99                   	cltd
449446:	83 e2 7f             	and    $0x7f,%edx
449449:	03 c2                	add    %edx,%eax
44944b:	c1 f8 07             	sar    $0x7,%eax
44944e:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
449455:	c1 e0 07             	shl    $0x7,%eax
449458:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44945e:	79 05                	jns    0x449465
449460:	49                   	dec    %ecx
449461:	83 c9 80             	or     $0xffffff80,%ecx
449464:	41                   	inc    %ecx
449465:	03 c1                	add    %ecx,%eax
449467:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44946e:	00
44946f:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
449476:	00
449477:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
44947e:	83 f8 01             	cmp    $0x1,%eax
449481:	74 31                	je     0x4494b4
449483:	83 f8 03             	cmp    $0x3,%eax
449486:	0f 85 c5 fe ff ff    	jne    0x449351
44948c:	8d 48 fe             	lea    -0x2(%eax),%ecx
44948f:	e9 bf fe ff ff       	jmp    0x449353
449494:	0f b7 00             	movzwl (%eax),%eax
449497:	b9 ff 00 00 00       	mov    $0xff,%ecx
44949c:	66 3b c1             	cmp    %cx,%ax
44949f:	0f 87 ac fe ff ff    	ja     0x449351
4494a5:	8b c8                	mov    %eax,%ecx
4494a7:	8b 46 44             	mov    0x44(%esi),%eax
4494aa:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
4494ae:	0f 84 9d fe ff ff    	je     0x449351
4494b4:	b9 01 00 00 00       	mov    $0x1,%ecx
4494b9:	e9 95 fe ff ff       	jmp    0x449353
4494be:	3b cf                	cmp    %edi,%ecx
4494c0:	0f 85 98 bb fc ff    	jne    0x41505e
4494c6:	e9 d5 b7 fc ff       	jmp    0x414ca0
4494cb:	8b 56 18             	mov    0x18(%esi),%edx
4494ce:	8b 4e 7c             	mov    0x7c(%esi),%ecx
4494d1:	85 d2                	test   %edx,%edx
4494d3:	74 25                	je     0x4494fa
4494d5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4494d8:	8b 7d dc             	mov    -0x24(%ebp),%edi
4494db:	3b c1                	cmp    %ecx,%eax
4494dd:	73 53                	jae    0x449532
4494df:	57                   	push   %edi
4494e0:	8d 46 1c             	lea    0x1c(%esi),%eax
4494e3:	50                   	push   %eax
4494e4:	51                   	push   %ecx
4494e5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4494e8:	e8 b2 c9 fc ff       	call   0x415e9f
4494ed:	83 c4 0c             	add    $0xc,%esp
4494f0:	85 c0                	test   %eax,%eax
4494f2:	0f 85 66 bb fc ff    	jne    0x41505e
4494f8:	eb 35                	jmp    0x44952f
4494fa:	8b 56 1c             	mov    0x1c(%esi),%edx
4494fd:	8d 04 12             	lea    (%edx,%edx,1),%eax
449500:	2b c8                	sub    %eax,%ecx
449502:	8b 45 f8             	mov    -0x8(%ebp),%eax
449505:	3b c1                	cmp    %ecx,%eax
449507:	77 23                	ja     0x44952c
449509:	66 8b 00             	mov    (%eax),%ax
44950c:	66 3b 46 34          	cmp    0x34(%esi),%ax
449510:	75 1a                	jne    0x44952c
449512:	83 fa 01             	cmp    $0x1,%edx
449515:	0f 84 43 bb fc ff    	je     0x41505e
44951b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44951e:	66 8b 40 02          	mov    0x2(%eax),%ax
449522:	66 3b 46 36          	cmp    0x36(%esi),%ax
449526:	0f 84 32 bb fc ff    	je     0x41505e
44952c:	8b 7d dc             	mov    -0x24(%ebp),%edi
44952f:	8b 45 f8             	mov    -0x8(%ebp),%eax
449532:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
449539:	74 37                	je     0x449572
44953b:	83 c0 02             	add    $0x2,%eax
44953e:	3b 46 7c             	cmp    0x7c(%esi),%eax
449541:	8b 45 f8             	mov    -0x8(%ebp),%eax
449544:	72 2c                	jb     0x449572
449546:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
44954a:	75 26                	jne    0x449572
44954c:	83 7e 1c 02          	cmpl   $0x2,0x1c(%esi)
449550:	75 20                	jne    0x449572
449552:	66 8b 00             	mov    (%eax),%ax
449555:	66 3b 46 34          	cmp    0x34(%esi),%ax
449559:	75 14                	jne    0x44956f
44955b:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
449562:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
449569:	0f 8f 51 fb ff ff    	jg     0x4490c0
44956f:	8b 45 f8             	mov    -0x8(%ebp),%eax
449572:	8b 4e 7c             	mov    0x7c(%esi),%ecx
449575:	3b c1                	cmp    %ecx,%eax
449577:	0f 83 42 4f 00 00    	jae    0x44e4bf
44957d:	83 c0 02             	add    $0x2,%eax
449580:	89 45 f8             	mov    %eax,-0x8(%ebp)
449583:	85 ff                	test   %edi,%edi
449585:	0f 84 0f b7 fc ff    	je     0x414c9a
44958b:	3b c1                	cmp    %ecx,%eax
44958d:	0f 83 07 b7 fc ff    	jae    0x414c9a
449593:	66 8b 00             	mov    (%eax),%ax
449596:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
44959b:	66 23 c1             	and    %cx,%ax
44959e:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
4495a3:	66 3b c1             	cmp    %cx,%ax
4495a6:	0f 85 ee b6 fc ff    	jne    0x414c9a
4495ac:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
4495b0:	e9 e5 b6 fc ff       	jmp    0x414c9a
4495b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4495b8:	3b 46 7c             	cmp    0x7c(%esi),%eax
4495bb:	0f 83 fe 4e 00 00    	jae    0x44e4bf
4495c1:	83 c0 02             	add    $0x2,%eax
4495c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4495c7:	e9 ce b6 fc ff       	jmp    0x414c9a
4495cc:	8b 45 f8             	mov    -0x8(%ebp),%eax
4495cf:	3b 46 7c             	cmp    0x7c(%esi),%eax
4495d2:	0f 83 e7 4e 00 00    	jae    0x44e4bf
4495d8:	0f b7 08             	movzwl (%eax),%ecx
4495db:	83 c0 02             	add    $0x2,%eax
4495de:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4495e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4495e5:	74 2e                	je     0x449615
4495e7:	8b c1                	mov    %ecx,%eax
4495e9:	25 00 fc 00 00       	and    $0xfc00,%eax
4495ee:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4495f3:	75 20                	jne    0x449615
4495f5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4495f8:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4495fe:	c1 e1 0a             	shl    $0xa,%ecx
449601:	0f b7 00             	movzwl (%eax),%eax
449604:	25 ff 03 00 00       	and    $0x3ff,%eax
449609:	0b c8                	or     %eax,%ecx
44960b:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449611:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
449615:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
44961b:	0f 83 79 b6 fc ff    	jae    0x414c9a
449621:	8b 46 44             	mov    0x44(%esi),%eax
449624:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
449628:	0f 85 30 ba fc ff    	jne    0x41505e
44962e:	e9 67 b6 fc ff       	jmp    0x414c9a
449633:	8b 45 f8             	mov    -0x8(%ebp),%eax
449636:	3b 46 7c             	cmp    0x7c(%esi),%eax
449639:	0f 83 80 4e 00 00    	jae    0x44e4bf
44963f:	0f b7 08             	movzwl (%eax),%ecx
449642:	83 c0 02             	add    $0x2,%eax
449645:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
449649:	89 45 f8             	mov    %eax,-0x8(%ebp)
44964c:	74 2e                	je     0x44967c
44964e:	8b c1                	mov    %ecx,%eax
449650:	25 00 fc 00 00       	and    $0xfc00,%eax
449655:	3d 00 d8 00 00       	cmp    $0xd800,%eax
44965a:	75 20                	jne    0x44967c
44965c:	8b 45 f8             	mov    -0x8(%ebp),%eax
44965f:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449665:	c1 e1 0a             	shl    $0xa,%ecx
449668:	0f b7 00             	movzwl (%eax),%eax
44966b:	25 ff 03 00 00       	and    $0x3ff,%eax
449670:	0b c8                	or     %eax,%ecx
449672:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449678:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
44967c:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
449682:	0f 87 d6 b9 fc ff    	ja     0x41505e
449688:	8b 46 44             	mov    0x44(%esi),%eax
44968b:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
44968f:	0f 84 c9 b9 fc ff    	je     0x41505e
449695:	e9 00 b6 fc ff       	jmp    0x414c9a
44969a:	8b 45 f8             	mov    -0x8(%ebp),%eax
44969d:	3b 46 7c             	cmp    0x7c(%esi),%eax
4496a0:	0f 83 19 4e 00 00    	jae    0x44e4bf
4496a6:	0f b7 08             	movzwl (%eax),%ecx
4496a9:	83 c0 02             	add    $0x2,%eax
4496ac:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4496b0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4496b3:	74 2e                	je     0x4496e3
4496b5:	8b c1                	mov    %ecx,%eax
4496b7:	25 00 fc 00 00       	and    $0xfc00,%eax
4496bc:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4496c1:	75 20                	jne    0x4496e3
4496c3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4496c6:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4496cc:	c1 e1 0a             	shl    $0xa,%ecx
4496cf:	0f b7 00             	movzwl (%eax),%eax
4496d2:	25 ff 03 00 00       	and    $0x3ff,%eax
4496d7:	0b c8                	or     %eax,%ecx
4496d9:	81 c1 00 00 01 00    	add    $0x10000,%ecx
4496df:	83 45 f8 02          	addl   $0x2,-0x8(%ebp)
4496e3:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4496e9:	0f 83 ab b5 fc ff    	jae    0x414c9a
4496ef:	8b 46 44             	mov    0x44(%esi),%eax
4496f2:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
4496f6:	0f 85 62 b9 fc ff    	jne    0x41505e
4496fc:	e9 99 b5 fc ff       	jmp    0x414c9a
449701:	8b 45 f8             	mov    -0x8(%ebp),%eax
449704:	3b 46 7c             	cmp    0x7c(%esi),%eax
449707:	0f 83 b2 4d 00 00    	jae    0x44e4bf
44970d:	0f b7 08             	movzwl (%eax),%ecx
449710:	83 c0 02             	add    $0x2,%eax
449713:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
449717:	89 45 f8             	mov    %eax,-0x8(%ebp)
44971a:	74 2e                	je     0x44974a
44971c:	8b c1                	mov    %ecx,%eax