541460:	8b 45 0c             	mov    0xc(%ebp),%eax
541463:	0f 57 c0             	xorps  %xmm0,%xmm0
541466:	56                   	push   %esi
541467:	8b 75 08             	mov    0x8(%ebp),%esi
54146a:	6a 00                	push   $0x0
54146c:	ff 75 14             	push   0x14(%ebp)
54146f:	66 0f d6 45 f4       	movq   %xmm0,-0xc(%ebp)
541474:	ff 75 10             	push   0x10(%ebp)
541477:	0f 11 45 d4          	movups %xmm0,-0x2c(%ebp)
54147b:	50                   	push   %eax
54147c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54147f:	89 75 f4             	mov    %esi,-0xc(%ebp)
541482:	50                   	push   %eax
541483:	0f 11 45 e4          	movups %xmm0,-0x1c(%ebp)
541487:	e8 54 a6 00 00       	call   0x54bae0
54148c:	83 c4 14             	add    $0x14,%esp
54148f:	f6 45 dc 02          	testb  $0x2,-0x24(%ebp)
541493:	74 14                	je     0x5414a9
541495:	80 7d de 01          	cmpb   $0x1,-0x22(%ebp)
541499:	74 0e                	je     0x5414a9
54149b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54149e:	6a 01                	push   $0x1
5414a0:	50                   	push   %eax
5414a1:	e8 9a a9 00 00       	call   0x54be40
5414a6:	83 c4 08             	add    $0x8,%esp
5414a9:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
5414ad:	5e                   	pop    %esi
5414ae:	74 2b                	je     0x5414db
5414b0:	f7 45 dc 00 24 00 00 	testl  $0x2400,-0x24(%ebp)
5414b7:	75 06                	jne    0x5414bf
5414b9:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
5414bd:	74 0c                	je     0x5414cb
5414bf:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5414c2:	50                   	push   %eax
5414c3:	e8 48 99 01 00       	call   0x55ae10
5414c8:	83 c4 04             	add    $0x4,%esp
5414cb:	33 c0                	xor    %eax,%eax
5414cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5414d0:	33 cd                	xor    %ebp,%ecx
5414d2:	e8 03 00 0a 00       	call   0x5e14da
5414d7:	8b e5                	mov    %ebp,%esp
5414d9:	5d                   	pop    %ebp
5414da:	c3                   	ret
5414db:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5414de:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5414e1:	33 cd                	xor    %ebp,%ecx
5414e3:	e8 f2 ff 09 00       	call   0x5e14da
5414e8:	8b e5                	mov    %ebp,%esp
5414ea:	5d                   	pop    %ebp
5414eb:	c3                   	ret
5414ec:	cc                   	int3
5414ed:	cc                   	int3
5414ee:	cc                   	int3
5414ef:	cc                   	int3
5414f0:	55                   	push   %ebp
5414f1:	8b ec                	mov    %esp,%ebp
5414f3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5414f6:	33 d2                	xor    %edx,%edx
5414f8:	8b 45 08             	mov    0x8(%ebp),%eax
5414fb:	56                   	push   %esi
5414fc:	85 c9                	test   %ecx,%ecx
5414fe:	78 05                	js     0x541505
541500:	8d 34 08             	lea    (%eax,%ecx,1),%esi
541503:	eb 03                	jmp    0x541508
541505:	83 ce ff             	or     $0xffffffff,%esi
541508:	38 10                	cmp    %dl,(%eax)
54150a:	74 2c                	je     0x541538
54150c:	0f 1f 40 00          	nopl   0x0(%eax)
541510:	3b c6                	cmp    %esi,%eax
541512:	73 24                	jae    0x541538
541514:	8a 08                	mov    (%eax),%cl
541516:	40                   	inc    %eax
541517:	80 f9 c0             	cmp    $0xc0,%cl
54151a:	72 16                	jb     0x541532
54151c:	8a 08                	mov    (%eax),%cl
54151e:	80 e1 c0             	and    $0xc0,%cl
541521:	80 f9 80             	cmp    $0x80,%cl
541524:	75 0c                	jne    0x541532
541526:	8a 48 01             	mov    0x1(%eax),%cl
541529:	40                   	inc    %eax
54152a:	80 e1 c0             	and    $0xc0,%cl
54152d:	80 f9 80             	cmp    $0x80,%cl
541530:	74 f4                	je     0x541526
541532:	42                   	inc    %edx
541533:	80 38 00             	cmpb   $0x0,(%eax)
541536:	75 d8                	jne    0x541510
541538:	8b c2                	mov    %edx,%eax
54153a:	5e                   	pop    %esi
54153b:	5d                   	pop    %ebp
54153c:	c3                   	ret
54153d:	cc                   	int3
54153e:	cc                   	int3
54153f:	cc                   	int3
541540:	55                   	push   %ebp
541541:	8b ec                	mov    %esp,%ebp
541543:	56                   	push   %esi
541544:	8b 75 08             	mov    0x8(%ebp),%esi
541547:	8b 06                	mov    (%esi),%eax
541549:	0f b6 08             	movzbl (%eax),%ecx
54154c:	8d 50 01             	lea    0x1(%eax),%edx
54154f:	89 16                	mov    %edx,(%esi)
541551:	81 f9 c0 00 00 00    	cmp    $0xc0,%ecx
541557:	72 4f                	jb     0x5415a8
541559:	8a 02                	mov    (%edx),%al
54155b:	0f b6 89 78 2b 6b 00 	movzbl 0x6b2b78(%ecx),%ecx
541562:	24 c0                	and    $0xc0,%al
541564:	3c 80                	cmp    $0x80,%al
541566:	75 16                	jne    0x54157e
541568:	0f b6 02             	movzbl (%edx),%eax
54156b:	42                   	inc    %edx
54156c:	83 e0 3f             	and    $0x3f,%eax
54156f:	c1 e1 06             	shl    $0x6,%ecx
541572:	03 c8                	add    %eax,%ecx
541574:	89 16                	mov    %edx,(%esi)
541576:	8a 02                	mov    (%edx),%al
541578:	24 c0                	and    $0xc0,%al
54157a:	3c 80                	cmp    $0x80,%al
54157c:	74 ea                	je     0x541568
54157e:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
541584:	72 1a                	jb     0x5415a0
541586:	8b c1                	mov    %ecx,%eax
541588:	25 00 f8 ff ff       	and    $0xfffff800,%eax
54158d:	3d 00 d8 00 00       	cmp    $0xd800,%eax
541592:	74 0c                	je     0x5415a0
541594:	8b c1                	mov    %ecx,%eax
541596:	83 e0 fe             	and    $0xfffffffe,%eax
541599:	3d fe ff 00 00       	cmp    $0xfffe,%eax
54159e:	75 08                	jne    0x5415a8
5415a0:	b8 fd ff 00 00       	mov    $0xfffd,%eax
5415a5:	5e                   	pop    %esi
5415a6:	5d                   	pop    %ebp
5415a7:	c3                   	ret
5415a8:	8b c1                	mov    %ecx,%eax
5415aa:	5e                   	pop    %esi
5415ab:	5d                   	pop    %ebp
5415ac:	c3                   	ret
5415ad:	cc                   	int3
5415ae:	cc                   	int3
5415af:	cc                   	int3
5415b0:	55                   	push   %ebp
5415b1:	8b ec                	mov    %esp,%ebp
5415b3:	8b 45 14             	mov    0x14(%ebp),%eax
5415b6:	99                   	cltd
5415b7:	83 e2 03             	and    $0x3,%edx
5415ba:	53                   	push   %ebx
5415bb:	56                   	push   %esi
5415bc:	57                   	push   %edi
5415bd:	8b 7d 0c             	mov    0xc(%ebp),%edi
5415c0:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5415c3:	c1 fb 02             	sar    $0x2,%ebx
5415c6:	83 c3 03             	add    $0x3,%ebx
5415c9:	85 ff                	test   %edi,%edi
5415cb:	74 18                	je     0x5415e5
5415cd:	8b 4f 04             	mov    0x4(%edi),%ecx
5415d0:	8b 07                	mov    (%edi),%eax
5415d2:	03 cb                	add    %ebx,%ecx
5415d4:	3b c8                	cmp    %eax,%ecx
5415d6:	7e 4b                	jle    0x541623
5415d8:	b9 02 00 00 00       	mov    $0x2,%ecx
5415dd:	f7 e9                	imul   %ecx
5415df:	8b c8                	mov    %eax,%ecx
5415e1:	8b f2                	mov    %edx,%esi
5415e3:	eb 07                	jmp    0x5415ec
5415e5:	b9 0a 00 00 00       	mov    $0xa,%ecx
5415ea:	33 f6                	xor    %esi,%esi
5415ec:	8b c3                	mov    %ebx,%eax
5415ee:	99                   	cltd
5415ef:	03 c1                	add    %ecx,%eax
5415f1:	8b c8                	mov    %eax,%ecx
5415f3:	89 45 0c             	mov    %eax,0xc(%ebp)
5415f6:	13 d6                	adc    %esi,%edx
5415f8:	0f a4 ca 02          	shld   $0x2,%ecx,%edx
5415fc:	52                   	push   %edx
5415fd:	c1 e1 02             	shl    $0x2,%ecx
541600:	51                   	push   %ecx
541601:	57                   	push   %edi
541602:	ff 75 08             	push   0x8(%ebp)
541605:	e8 56 ff fd ff       	call   0x521560
54160a:	83 c4 10             	add    $0x10,%esp
54160d:	85 c0                	test   %eax,%eax
54160f:	74 3f                	je     0x541650
541611:	85 ff                	test   %edi,%edi
541613:	75 07                	jne    0x54161c
541615:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
54161c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54161f:	8b f8                	mov    %eax,%edi
541621:	89 08                	mov    %ecx,(%eax)
541623:	8b 4f 04             	mov    0x4(%edi),%ecx
541626:	8b 45 18             	mov    0x18(%ebp),%eax
541629:	89 04 8f             	mov    %eax,(%edi,%ecx,4)
54162c:	8d 71 02             	lea    0x2(%ecx),%esi
54162f:	89 5c 8f 04          	mov    %ebx,0x4(%edi,%ecx,4)
541633:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
541636:	8b 5d 14             	mov    0x14(%ebp),%ebx
541639:	8d 34 b7             	lea    (%edi,%esi,4),%esi
54163c:	53                   	push   %ebx
54163d:	ff 75 10             	push   0x10(%ebp)
541640:	89 47 04             	mov    %eax,0x4(%edi)
541643:	56                   	push   %esi
541644:	e8 b7 18 0a 00       	call   0x5e2f00
541649:	83 c4 0c             	add    $0xc,%esp
54164c:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
541650:	8b c7                	mov    %edi,%eax
541652:	5f                   	pop    %edi
541653:	5e                   	pop    %esi
541654:	5b                   	pop    %ebx
541655:	5d                   	pop    %ebp
541656:	c3                   	ret
541657:	cc                   	int3
541658:	cc                   	int3
541659:	cc                   	int3
54165a:	cc                   	int3
54165b:	cc                   	int3
54165c:	cc                   	int3
54165d:	cc                   	int3
54165e:	cc                   	int3
54165f:	cc                   	int3
541660:	55                   	push   %ebp
541661:	8b ec                	mov    %esp,%ebp
541663:	57                   	push   %edi
541664:	8b 7d 08             	mov    0x8(%ebp),%edi
541667:	85 ff                	test   %edi,%edi
541669:	75 05                	jne    0x541670
54166b:	33 c0                	xor    %eax,%eax
54166d:	5f                   	pop    %edi
54166e:	5d                   	pop    %ebp
54166f:	c3                   	ret
541670:	8b 47 04             	mov    0x4(%edi),%eax
541673:	56                   	push   %esi
541674:	89 45 08             	mov    %eax,0x8(%ebp)
541677:	be 02 00 00 00       	mov    $0x2,%esi
54167c:	8b 45 10             	mov    0x10(%ebp),%eax
54167f:	53                   	push   %ebx
541680:	50                   	push   %eax
541681:	ff 75 0c             	push   0xc(%ebp)
541684:	8d 5f 08             	lea    0x8(%edi),%ebx
541687:	8d 1c b3             	lea    (%ebx,%esi,4),%ebx
54168a:	53                   	push   %ebx
54168b:	e8 d0 84 0b 00       	call   0x5f9b60
541690:	83 c4 0c             	add    $0xc,%esp
541693:	85 c0                	test   %eax,%eax
541695:	8b 45 10             	mov    0x10(%ebp),%eax
541698:	75 06                	jne    0x5416a0
54169a:	80 3c 03 00          	cmpb   $0x0,(%ebx,%eax,1)
54169e:	74 10                	je     0x5416b0
5416a0:	03 74 b7 04          	add    0x4(%edi,%esi,4),%esi
5416a4:	3b 75 08             	cmp    0x8(%ebp),%esi
5416a7:	7c d7                	jl     0x541680
5416a9:	5b                   	pop    %ebx
5416aa:	5e                   	pop    %esi
5416ab:	33 c0                	xor    %eax,%eax
5416ad:	5f                   	pop    %edi
5416ae:	5d                   	pop    %ebp
5416af:	c3                   	ret
5416b0:	8b 04 b7             	mov    (%edi,%esi,4),%eax
5416b3:	5b                   	pop    %ebx
5416b4:	5e                   	pop    %esi
5416b5:	5f                   	pop    %edi
5416b6:	5d                   	pop    %ebp
5416b7:	c3                   	ret
5416b8:	cc                   	int3
5416b9:	cc                   	int3
5416ba:	cc                   	int3
5416bb:	cc                   	int3
5416bc:	cc                   	int3
5416bd:	cc                   	int3
5416be:	cc                   	int3
5416bf:	cc                   	int3
5416c0:	55                   	push   %ebp
5416c1:	8b ec                	mov    %esp,%ebp
5416c3:	8b 55 08             	mov    0x8(%ebp),%edx
5416c6:	85 d2                	test   %edx,%edx
5416c8:	75 04                	jne    0x5416ce
5416ca:	33 c0                	xor    %eax,%eax
5416cc:	5d                   	pop    %ebp
5416cd:	c3                   	ret
5416ce:	56                   	push   %esi
5416cf:	8b 72 04             	mov    0x4(%edx),%esi
5416d2:	b8 02 00 00 00       	mov    $0x2,%eax
5416d7:	57                   	push   %edi
5416d8:	8b 7d 0c             	mov    0xc(%ebp),%edi
5416db:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5416e0:	39 3c 82             	cmp    %edi,(%edx,%eax,4)
5416e3:	8d 0c 82             	lea    (%edx,%eax,4),%ecx
5416e6:	74 0d                	je     0x5416f5
5416e8:	03 41 04             	add    0x4(%ecx),%eax
5416eb:	3b c6                	cmp    %esi,%eax
5416ed:	7c f1                	jl     0x5416e0
5416ef:	5f                   	pop    %edi
5416f0:	33 c0                	xor    %eax,%eax
5416f2:	5e                   	pop    %esi
5416f3:	5d                   	pop    %ebp
5416f4:	c3                   	ret
5416f5:	83 c0 02             	add    $0x2,%eax
5416f8:	5f                   	pop    %edi
5416f9:	5e                   	pop    %esi
5416fa:	8d 04 82             	lea    (%edx,%eax,4),%eax
5416fd:	5d                   	pop    %ebp
5416fe:	c3                   	ret
5416ff:	cc                   	int3
541700:	55                   	push   %ebp
541701:	8b ec                	mov    %esp,%ebp
541703:	83 ec 64             	sub    $0x64,%esp
541706:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54170b:	33 c5                	xor    %ebp,%eax
54170d:	89 45 fc             	mov    %eax,-0x4(%ebp)
541710:	8b 4d 10             	mov    0x10(%ebp),%ecx
541713:	8d 45 b4             	lea    -0x4c(%ebp),%eax
541716:	8b 55 0c             	mov    0xc(%ebp),%edx
541719:	56                   	push   %esi
54171a:	8b 75 08             	mov    0x8(%ebp),%esi
54171d:	89 45 a0             	mov    %eax,-0x60(%ebp)
541720:	51                   	push   %ecx
541721:	52                   	push   %edx
541722:	8b 46 6c             	mov    0x6c(%esi),%eax
541725:	89 45 a8             	mov    %eax,-0x58(%ebp)
541728:	8d 45 9c             	lea    -0x64(%ebp),%eax
54172b:	50                   	push   %eax
54172c:	89 75 9c             	mov    %esi,-0x64(%ebp)
54172f:	c7 45 a4 46 00 00 00 	movl   $0x46,-0x5c(%ebp)
541736:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
54173d:	66 c7 45 b0 00 01    	movw   $0x100,-0x50(%ebp)
541743:	e8 48 c8 fa ff       	call   0x4edf90
541748:	8b 4d a0             	mov    -0x60(%ebp),%ecx
54174b:	83 c4 0c             	add    $0xc,%esp
54174e:	85 c9                	test   %ecx,%ecx
541750:	74 21                	je     0x541773
541752:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
541756:	8b 45 ac             	mov    -0x54(%ebp),%eax
541759:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
54175d:	76 14                	jbe    0x541773
54175f:	f6 45 b1 04          	testb  $0x4,-0x4f(%ebp)
541763:	75 0e                	jne    0x541773
541765:	8d 45 9c             	lea    -0x64(%ebp),%eax
541768:	50                   	push   %eax
541769:	e8 f2 61 01 00       	call   0x557960
54176e:	83 c4 04             	add    $0x4,%esp
541771:	8b c8                	mov    %eax,%ecx
541773:	80 7d b0 07          	cmpb   $0x7,-0x50(%ebp)
541777:	75 43                	jne    0x5417bc
541779:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
54177d:	75 3d                	jne    0x5417bc
54177f:	80 7e 52 00          	cmpb   $0x0,0x52(%esi)
541783:	75 37                	jne    0x5417bc
541785:	83 be bc 00 00 00 00 	cmpl   $0x0,0xbc(%esi)
54178c:	c6 46 51 01          	movb   $0x1,0x51(%esi)
541790:	7e 0a                	jle    0x54179c
541792:	c7 86 10 01 00 00 01 	movl   $0x1,0x110(%esi)
541799:	00 00 00
54179c:	ff 86 18 01 00 00    	incl   0x118(%esi)