5f5497:	83 e8 01             	sub    $0x1,%eax
5f549a:	74 26                	je     0x5f54c2
5f549c:	83 e8 01             	sub    $0x1,%eax
5f549f:	74 1d                	je     0x5f54be
5f54a1:	83 e8 01             	sub    $0x1,%eax
5f54a4:	74 14                	je     0x5f54ba
5f54a6:	83 e8 01             	sub    $0x1,%eax
5f54a9:	74 1b                	je     0x5f54c6
5f54ab:	48                   	dec    %eax
5f54ac:	83 e8 01             	sub    $0x1,%eax
5f54af:	74 71                	je     0x5f5522
5f54b1:	83 e8 01             	sub    $0x1,%eax
5f54b4:	75 6c                	jne    0x5f5522
5f54b6:	6a 10                	push   $0x10
5f54b8:	eb 0e                	jmp    0x5f54c8
5f54ba:	6a 12                	push   $0x12
5f54bc:	eb 0a                	jmp    0x5f54c8
5f54be:	6a 11                	push   $0x11
5f54c0:	eb 06                	jmp    0x5f54c8
5f54c2:	6a 04                	push   $0x4
5f54c4:	eb 02                	jmp    0x5f54c8
5f54c6:	6a 08                	push   $0x8
5f54c8:	5f                   	pop    %edi
5f54c9:	51                   	push   %ecx
5f54ca:	8d 46 18             	lea    0x18(%esi),%eax
5f54cd:	50                   	push   %eax
5f54ce:	57                   	push   %edi
5f54cf:	e8 2e 46 ff ff       	call   0x5e9b02
5f54d4:	83 c4 0c             	add    $0xc,%esp
5f54d7:	85 c0                	test   %eax,%eax
5f54d9:	75 47                	jne    0x5f5522
5f54db:	8b 4b 08             	mov    0x8(%ebx),%ecx
5f54de:	83 f9 10             	cmp    $0x10,%ecx
5f54e1:	74 10                	je     0x5f54f3
5f54e3:	83 f9 16             	cmp    $0x16,%ecx
5f54e6:	74 0b                	je     0x5f54f3
5f54e8:	83 f9 1d             	cmp    $0x1d,%ecx
5f54eb:	74 06                	je     0x5f54f3
5f54ed:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
5f54f1:	eb 12                	jmp    0x5f5505
5f54f3:	8b 45 c0             	mov    -0x40(%ebp),%eax
5f54f6:	dd 46 10             	fldl   0x10(%esi)
5f54f9:	83 e0 e3             	and    $0xffffffe3,%eax
5f54fc:	83 c8 03             	or     $0x3,%eax
5f54ff:	dd 5d b0             	fstpl  -0x50(%ebp)
5f5502:	89 45 c0             	mov    %eax,-0x40(%ebp)
5f5505:	8d 46 18             	lea    0x18(%esi),%eax
5f5508:	50                   	push   %eax
5f5509:	8d 46 08             	lea    0x8(%esi),%eax
5f550c:	50                   	push   %eax
5f550d:	51                   	push   %ecx
5f550e:	57                   	push   %edi
5f550f:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
5f5515:	50                   	push   %eax
5f5516:	8d 45 80             	lea    -0x80(%ebp),%eax
5f5519:	50                   	push   %eax
5f551a:	e8 63 48 ff ff       	call   0x5e9d82
5f551f:	83 c4 18             	add    $0x18,%esp
5f5522:	68 ff ff 00 00       	push   $0xffff
5f5527:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
5f552d:	e8 28 8b ff ff       	call   0x5ee05a
5f5532:	83 3e 08             	cmpl   $0x8,(%esi)
5f5535:	59                   	pop    %ecx
5f5536:	59                   	pop    %ecx
5f5537:	74 14                	je     0x5f554d
5f5539:	e8 61 42 ff ff       	call   0x5e979f
5f553e:	84 c0                	test   %al,%al
5f5540:	74 0b                	je     0x5f554d
5f5542:	56                   	push   %esi
5f5543:	e8 83 42 ff ff       	call   0x5e97cb
5f5548:	59                   	pop    %ecx
5f5549:	85 c0                	test   %eax,%eax
5f554b:	75 08                	jne    0x5f5555
5f554d:	ff 36                	push   (%esi)
5f554f:	e8 42 4b ff ff       	call   0x5ea096
5f5554:	59                   	pop    %ecx
5f5555:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f5558:	5f                   	pop    %edi
5f5559:	33 cd                	xor    %ebp,%ecx
5f555b:	5e                   	pop    %esi
5f555c:	e8 c5 c4 fd ff       	call   0x5d1a26
5f5561:	8b e5                	mov    %ebp,%esp
5f5563:	5d                   	pop    %ebp
5f5564:	8b e3                	mov    %ebx,%esp
5f5566:	5b                   	pop    %ebx
5f5567:	c3                   	ret
5f5568:	8b ff                	mov    %edi,%edi
5f556a:	55                   	push   %ebp
5f556b:	8b ec                	mov    %esp,%ebp
5f556d:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
5f5571:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
5f5576:	66 8b c1             	mov    %cx,%ax
5f5579:	66 23 c2             	and    %dx,%ax
5f557c:	66 3b c2             	cmp    %dx,%ax
5f557f:	75 33                	jne    0x5f55b4
5f5581:	dd 45 08             	fldl   0x8(%ebp)
5f5584:	51                   	push   %ecx
5f5585:	51                   	push   %ecx
5f5586:	dd 1c 24             	fstpl  (%esp)
5f5589:	e8 d8 89 ff ff       	call   0x5edf66
5f558e:	59                   	pop    %ecx
5f558f:	59                   	pop    %ecx
5f5590:	83 e8 01             	sub    $0x1,%eax
5f5593:	74 18                	je     0x5f55ad
5f5595:	83 e8 01             	sub    $0x1,%eax
5f5598:	74 0e                	je     0x5f55a8
5f559a:	83 e8 01             	sub    $0x1,%eax
5f559d:	74 05                	je     0x5f55a4
5f559f:	33 c0                	xor    %eax,%eax
5f55a1:	40                   	inc    %eax
5f55a2:	5d                   	pop    %ebp
5f55a3:	c3                   	ret
5f55a4:	6a 02                	push   $0x2
5f55a6:	eb 02                	jmp    0x5f55aa
5f55a8:	6a 04                	push   $0x4
5f55aa:	58                   	pop    %eax
5f55ab:	5d                   	pop    %ebp
5f55ac:	c3                   	ret
5f55ad:	b8 00 02 00 00       	mov    $0x200,%eax
5f55b2:	5d                   	pop    %ebp
5f55b3:	c3                   	ret
5f55b4:	0f b7 c9             	movzwl %cx,%ecx
5f55b7:	81 e1 00 80 00 00    	and    $0x8000,%ecx
5f55bd:	66 85 c0             	test   %ax,%ax
5f55c0:	75 1e                	jne    0x5f55e0
5f55c2:	f7 45 0c ff ff 0f 00 	testl  $0xfffff,0xc(%ebp)
5f55c9:	75 06                	jne    0x5f55d1
5f55cb:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f55cf:	74 0f                	je     0x5f55e0
5f55d1:	f7 d9                	neg    %ecx
5f55d3:	1b c9                	sbb    %ecx,%ecx
5f55d5:	83 e1 90             	and    $0xffffff90,%ecx
5f55d8:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
5f55de:	5d                   	pop    %ebp
5f55df:	c3                   	ret
5f55e0:	dd 45 08             	fldl   0x8(%ebp)
5f55e3:	d9 ee                	fldz
5f55e5:	da e9                	fucompp
5f55e7:	df e0                	fnstsw %ax
5f55e9:	f6 c4 44             	test   $0x44,%ah
5f55ec:	7a 0c                	jp     0x5f55fa
5f55ee:	f7 d9                	neg    %ecx
5f55f0:	1b c9                	sbb    %ecx,%ecx
5f55f2:	83 e1 e0             	and    $0xffffffe0,%ecx
5f55f5:	8d 41 40             	lea    0x40(%ecx),%eax
5f55f8:	5d                   	pop    %ebp
5f55f9:	c3                   	ret
5f55fa:	f7 d9                	neg    %ecx
5f55fc:	1b c9                	sbb    %ecx,%ecx
5f55fe:	81 e1 08 ff ff ff    	and    $0xffffff08,%ecx
5f5604:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
5f560a:	5d                   	pop    %ebp
5f560b:	c3                   	ret
5f560c:	8b ff                	mov    %edi,%edi
5f560e:	55                   	push   %ebp
5f560f:	8b ec                	mov    %esp,%ebp
5f5611:	83 ec 24             	sub    $0x24,%esp
5f5614:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5f5619:	33 c5                	xor    %ebp,%eax
5f561b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f561e:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f5621:	8b 45 0c             	mov    0xc(%ebp),%eax
5f5624:	53                   	push   %ebx
5f5625:	56                   	push   %esi
5f5626:	8b 75 14             	mov    0x14(%ebp),%esi
5f5629:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5f562c:	8b 4d 18             	mov    0x18(%ebp),%ecx
5f562f:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f5632:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f5635:	57                   	push   %edi
5f5636:	85 f6                	test   %esi,%esi
5f5638:	75 05                	jne    0x5f563f
5f563a:	be 88 73 71 00       	mov    $0x717388,%esi
5f563f:	33 d2                	xor    %edx,%edx
5f5641:	33 db                	xor    %ebx,%ebx
5f5643:	42                   	inc    %edx
5f5644:	85 c0                	test   %eax,%eax
5f5646:	75 11                	jne    0x5f5659
5f5648:	8b c2                	mov    %edx,%eax
5f564a:	bf 64 25 60 00       	mov    $0x602564,%edi
5f564f:	89 45 10             	mov    %eax,0x10(%ebp)
5f5652:	8b c3                	mov    %ebx,%eax
5f5654:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f5657:	eb 12                	jmp    0x5f566b
5f5659:	8b f8                	mov    %eax,%edi
5f565b:	39 5d 10             	cmp    %ebx,0x10(%ebp)
5f565e:	75 08                	jne    0x5f5668
5f5660:	6a fe                	push   $0xfffffffe
5f5662:	58                   	pop    %eax
5f5663:	e9 46 01 00 00       	jmp    0x5f57ae
5f5668:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f566b:	66 39 5e 06          	cmp    %bx,0x6(%esi)
5f566f:	75 5c                	jne    0x5f56cd
5f5671:	8a 1f                	mov    (%edi),%bl
5f5673:	47                   	inc    %edi
5f5674:	84 db                	test   %bl,%bl
5f5676:	78 18                	js     0x5f5690
5f5678:	85 c0                	test   %eax,%eax
5f567a:	74 08                	je     0x5f5684
5f567c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f567f:	0f b6 c3             	movzbl %bl,%eax
5f5682:	89 01                	mov    %eax,(%ecx)
5f5684:	33 c0                	xor    %eax,%eax
5f5686:	84 db                	test   %bl,%bl
5f5688:	0f 95 c0             	setne  %al
5f568b:	e9 1e 01 00 00       	jmp    0x5f57ae
5f5690:	8a c3                	mov    %bl,%al
5f5692:	24 e0                	and    $0xe0,%al
5f5694:	3c c0                	cmp    $0xc0,%al
5f5696:	75 04                	jne    0x5f569c
5f5698:	b7 02                	mov    $0x2,%bh
5f569a:	eb 1a                	jmp    0x5f56b6
5f569c:	8a c3                	mov    %bl,%al
5f569e:	24 f0                	and    $0xf0,%al
5f56a0:	3c e0                	cmp    $0xe0,%al
5f56a2:	75 04                	jne    0x5f56a8
5f56a4:	b7 03                	mov    $0x3,%bh
5f56a6:	eb 0e                	jmp    0x5f56b6
5f56a8:	8a c3                	mov    %bl,%al
5f56aa:	24 f8                	and    $0xf8,%al
5f56ac:	3c f0                	cmp    $0xf0,%al
5f56ae:	0f 85 f1 00 00 00    	jne    0x5f57a5
5f56b4:	b7 04                	mov    $0x4,%bh
5f56b6:	6a 07                	push   $0x7
5f56b8:	0f b6 c7             	movzbl %bh,%eax
5f56bb:	59                   	pop    %ecx
5f56bc:	2b c8                	sub    %eax,%ecx
5f56be:	88 7d ef             	mov    %bh,-0x11(%ebp)
5f56c1:	d3 e2                	shl    %cl,%edx
5f56c3:	0f b6 c3             	movzbl %bl,%eax
5f56c6:	4a                   	dec    %edx
5f56c7:	23 d0                	and    %eax,%edx
5f56c9:	8a df                	mov    %bh,%bl
5f56cb:	eb 28                	jmp    0x5f56f5
5f56cd:	8a 7e 04             	mov    0x4(%esi),%bh
5f56d0:	8a 5e 06             	mov    0x6(%esi),%bl
5f56d3:	8a c7                	mov    %bh,%al
5f56d5:	8b 16                	mov    (%esi),%edx
5f56d7:	2c 02                	sub    $0x2,%al
5f56d9:	88 5d ef             	mov    %bl,-0x11(%ebp)
5f56dc:	3c 02                	cmp    $0x2,%al
5f56de:	0f 87 c1 00 00 00    	ja     0x5f57a5
5f56e4:	80 fb 01             	cmp    $0x1,%bl
5f56e7:	0f 82 b8 00 00 00    	jb     0x5f57a5
5f56ed:	3a df                	cmp    %bh,%bl
5f56ef:	0f 83 b0 00 00 00    	jae    0x5f57a5
5f56f5:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f56f8:	0f b6 c3             	movzbl %bl,%eax
5f56fb:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f56fe:	3b c1                	cmp    %ecx,%eax
5f5700:	73 02                	jae    0x5f5704
5f5702:	8b c8                	mov    %eax,%ecx
5f5704:	8b c7                	mov    %edi,%eax
5f5706:	2b 45 e0             	sub    -0x20(%ebp),%eax
5f5709:	eb 25                	jmp    0x5f5730
5f570b:	8a 1f                	mov    (%edi),%bl
5f570d:	47                   	inc    %edi
5f570e:	40                   	inc    %eax
5f570f:	88 5d ee             	mov    %bl,-0x12(%ebp)
5f5712:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f5715:	8a e3                	mov    %bl,%ah
5f5717:	8a 5d ef             	mov    -0x11(%ebp),%bl
5f571a:	8a c4                	mov    %ah,%al
5f571c:	24 c0                	and    $0xc0,%al
5f571e:	3c 80                	cmp    $0x80,%al
5f5720:	75 30                	jne    0x5f5752
5f5722:	0f b6 c4             	movzbl %ah,%eax
5f5725:	83 e0 3f             	and    $0x3f,%eax
5f5728:	c1 e2 06             	shl    $0x6,%edx
5f572b:	0b d0                	or     %eax,%edx
5f572d:	8b 45 e0             	mov    -0x20(%ebp),%eax
5f5730:	3b c1                	cmp    %ecx,%eax
5f5732:	72 d7                	jb     0x5f570b
5f5734:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f5737:	3b cf                	cmp    %edi,%ecx
5f5739:	73 1c                	jae    0x5f5757
5f573b:	0f b6 c7             	movzbl %bh,%eax
5f573e:	2a d9                	sub    %cl,%bl
5f5740:	66 89 46 04          	mov    %ax,0x4(%esi)
5f5744:	0f b6 c3             	movzbl %bl,%eax
5f5747:	89 16                	mov    %edx,(%esi)
5f5749:	66 89 46 06          	mov    %ax,0x6(%esi)
5f574d:	e9 0e ff ff ff       	jmp    0x5f5660
5f5752:	ff 75 e4             	push   -0x1c(%ebp)
5f5755:	eb 4f                	jmp    0x5f57a6
5f5757:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
5f575d:	72 08                	jb     0x5f5767
5f575f:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
5f5765:	76 eb                	jbe    0x5f5752
5f5767:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
5f576d:	77 e3                	ja     0x5f5752
5f576f:	0f b6 c7             	movzbl %bh,%eax
5f5772:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
5f5779:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
5f5780:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
5f5787:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
5f578b:	72 c5                	jb     0x5f5752
5f578d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f5790:	85 c9                	test   %ecx,%ecx
5f5792:	74 02                	je     0x5f5796
5f5794:	89 11                	mov    %edx,(%ecx)
5f5796:	f7 da                	neg    %edx
5f5798:	56                   	push   %esi
5f5799:	1b d2                	sbb    %edx,%edx
5f579b:	23 d7                	and    %edi,%edx
5f579d:	52                   	push   %edx
5f579e:	e8 3d 03 00 00       	call   0x5f5ae0
5f57a3:	eb 07                	jmp    0x5f57ac
5f57a5:	51                   	push   %ecx
5f57a6:	56                   	push   %esi
5f57a7:	e8 48 03 00 00       	call   0x5f5af4
5f57ac:	59                   	pop    %ecx
5f57ad:	59                   	pop    %ecx
5f57ae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f57b1:	5f                   	pop    %edi
5f57b2:	5e                   	pop    %esi
5f57b3:	33 cd                	xor    %ebp,%ecx
5f57b5:	5b                   	pop    %ebx
5f57b6:	e8 6b c2 fd ff       	call   0x5d1a26
5f57bb:	c9                   	leave
5f57bc:	c3                   	ret
5f57bd:	33 c0                	xor    %eax,%eax
5f57bf:	50                   	push   %eax
5f57c0:	50                   	push   %eax
5f57c1:	6a 03                	push   $0x3
5f57c3:	50                   	push   %eax
5f57c4:	6a 03                	push   $0x3
5f57c6:	68 00 00 00 40       	push   $0x40000000
5f57cb:	68 90 ad 67 00       	push   $0x67ad90
5f57d0:	ff 15 18 21 60 00    	call   *0x602118
5f57d6:	a3 78 1f 69 00       	mov    %eax,0x691f78
5f57db:	c3                   	ret
5f57dc:	8b 0d 78 1f 69 00    	mov    0x691f78,%ecx
5f57e2:	83 f9 fe             	cmp    $0xfffffffe,%ecx
5f57e5:	75 0b                	jne    0x5f57f2
5f57e7:	e8 d1 ff ff ff       	call   0x5f57bd
5f57ec:	8b 0d 78 1f 69 00    	mov    0x691f78,%ecx
5f57f2:	33 c0                	xor    %eax,%eax
5f57f4:	83 f9 ff             	cmp    $0xffffffff,%ecx
5f57f7:	0f 95 c0             	setne  %al
5f57fa:	c3                   	ret
5f57fb:	a1 78 1f 69 00       	mov    0x691f78,%eax
5f5800:	83 f8 ff             	cmp    $0xffffffff,%eax
5f5803:	74 0c                	je     0x5f5811
5f5805:	83 f8 fe             	cmp    $0xfffffffe,%eax
5f5808:	74 07                	je     0x5f5811
5f580a:	50                   	push   %eax
5f580b:	ff 15 5c 21 60 00    	call   *0x60215c
5f5811:	c3                   	ret
5f5812:	8b ff                	mov    %edi,%edi