6104b1:	eb 05                	jmp    0x6104b8
6104b3:	0d 00 00 00 02       	or     $0x2000000,%eax
6104b8:	8b c8                	mov    %eax,%ecx
6104ba:	33 c6                	xor    %esi,%eax
6104bc:	0b ce                	or     %esi,%ecx
6104be:	a9 1f 03 08 00       	test   $0x8031f,%eax
6104c3:	74 06                	je     0x6104cb
6104c5:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
6104cb:	8b c1                	mov    %ecx,%eax
6104cd:	eb 02                	jmp    0x6104d1
6104cf:	8b c6                	mov    %esi,%eax
6104d1:	5f                   	pop    %edi
6104d2:	5e                   	pop    %esi
6104d3:	5b                   	pop    %ebx
6104d4:	c9                   	leave
6104d5:	c3                   	ret
6104d6:	8b ff                	mov    %edi,%edi
6104d8:	55                   	push   %ebp
6104d9:	8b ec                	mov    %esp,%ebp
6104db:	8b 4d 08             	mov    0x8(%ebp),%ecx
6104de:	8b d1                	mov    %ecx,%edx
6104e0:	c1 ea 04             	shr    $0x4,%edx
6104e3:	83 e2 01             	and    $0x1,%edx
6104e6:	8b c2                	mov    %edx,%eax
6104e8:	f6 c1 08             	test   $0x8,%cl
6104eb:	74 06                	je     0x6104f3
6104ed:	83 ca 04             	or     $0x4,%edx
6104f0:	0f b7 c2             	movzwl %dx,%eax
6104f3:	f6 c1 04             	test   $0x4,%cl
6104f6:	74 03                	je     0x6104fb
6104f8:	83 c8 08             	or     $0x8,%eax
6104fb:	f6 c1 02             	test   $0x2,%cl
6104fe:	74 03                	je     0x610503
610500:	83 c8 10             	or     $0x10,%eax
610503:	f6 c1 01             	test   $0x1,%cl
610506:	74 03                	je     0x61050b
610508:	83 c8 20             	or     $0x20,%eax
61050b:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
610511:	74 03                	je     0x610516
610513:	83 c8 02             	or     $0x2,%eax
610516:	56                   	push   %esi
610517:	8b d1                	mov    %ecx,%edx
610519:	be 00 03 00 00       	mov    $0x300,%esi
61051e:	57                   	push   %edi
61051f:	bf 00 02 00 00       	mov    $0x200,%edi
610524:	23 d6                	and    %esi,%edx
610526:	74 23                	je     0x61054b
610528:	81 fa 00 01 00 00    	cmp    $0x100,%edx
61052e:	74 16                	je     0x610546
610530:	3b d7                	cmp    %edi,%edx
610532:	74 0b                	je     0x61053f
610534:	3b d6                	cmp    %esi,%edx
610536:	75 13                	jne    0x61054b
610538:	0d 00 0c 00 00       	or     $0xc00,%eax
61053d:	eb 0c                	jmp    0x61054b
61053f:	0d 00 08 00 00       	or     $0x800,%eax
610544:	eb 05                	jmp    0x61054b
610546:	0d 00 04 00 00       	or     $0x400,%eax
61054b:	8b d1                	mov    %ecx,%edx
61054d:	81 e2 00 00 03 00    	and    $0x30000,%edx
610553:	74 0c                	je     0x610561
610555:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
61055b:	75 06                	jne    0x610563
61055d:	0b c7                	or     %edi,%eax
61055f:	eb 02                	jmp    0x610563
610561:	0b c6                	or     %esi,%eax
610563:	5f                   	pop    %edi
610564:	5e                   	pop    %esi
610565:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
61056b:	74 05                	je     0x610572
61056d:	0d 00 10 00 00       	or     $0x1000,%eax
610572:	5d                   	pop    %ebp
610573:	c3                   	ret
610574:	8b ff                	mov    %edi,%edi
610576:	55                   	push   %ebp
610577:	8b ec                	mov    %esp,%ebp
610579:	ff 75 14             	push   0x14(%ebp)
61057c:	ff 75 10             	push   0x10(%ebp)
61057f:	ff 75 0c             	push   0xc(%ebp)
610582:	ff 75 08             	push   0x8(%ebp)
610585:	ff 15 a4 22 68 00    	call   *0x6822a4
61058b:	5d                   	pop    %ebp
61058c:	c3                   	ret
61058d:	8b ff                	mov    %edi,%edi
61058f:	55                   	push   %ebp
610590:	8b ec                	mov    %esp,%ebp
610592:	8b 4d 08             	mov    0x8(%ebp),%ecx
610595:	83 f9 fe             	cmp    $0xfffffffe,%ecx
610598:	75 0d                	jne    0x6105a7
61059a:	e8 5a ca fd ff       	call   0x5ecff9
61059f:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6105a5:	eb 38                	jmp    0x6105df
6105a7:	85 c9                	test   %ecx,%ecx
6105a9:	78 24                	js     0x6105cf
6105ab:	3b 0d b8 12 73 00    	cmp    0x7312b8,%ecx
6105b1:	73 1c                	jae    0x6105cf
6105b3:	8b c1                	mov    %ecx,%eax
6105b5:	83 e1 3f             	and    $0x3f,%ecx
6105b8:	c1 f8 06             	sar    $0x6,%eax
6105bb:	6b c9 38             	imul   $0x38,%ecx,%ecx
6105be:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
6105c5:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
6105ca:	83 e0 40             	and    $0x40,%eax
6105cd:	5d                   	pop    %ebp
6105ce:	c3                   	ret
6105cf:	e8 25 ca fd ff       	call   0x5ecff9
6105d4:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6105da:	e8 40 c9 fd ff       	call   0x5ecf1f
6105df:	33 c0                	xor    %eax,%eax
6105e1:	5d                   	pop    %ebp
6105e2:	c3                   	ret
6105e3:	8b ff                	mov    %edi,%edi
6105e5:	55                   	push   %ebp
6105e6:	8b ec                	mov    %esp,%ebp
6105e8:	51                   	push   %ecx
6105e9:	51                   	push   %ecx
6105ea:	dd 45 08             	fldl   0x8(%ebp)
6105ed:	d9 fc                	frndint
6105ef:	dd 5d f8             	fstpl  -0x8(%ebp)
6105f2:	dd 45 f8             	fldl   -0x8(%ebp)
6105f5:	c9                   	leave
6105f6:	c3                   	ret
6105f7:	8b ff                	mov    %edi,%edi
6105f9:	55                   	push   %ebp
6105fa:	8b ec                	mov    %esp,%ebp
6105fc:	8b 55 08             	mov    0x8(%ebp),%edx
6105ff:	85 d2                	test   %edx,%edx
610601:	75 0f                	jne    0x610612
610603:	33 c9                	xor    %ecx,%ecx
610605:	8b 45 10             	mov    0x10(%ebp),%eax
610608:	89 08                	mov    %ecx,(%eax)
61060a:	89 48 04             	mov    %ecx,0x4(%eax)
61060d:	33 c0                	xor    %eax,%eax
61060f:	40                   	inc    %eax
610610:	5d                   	pop    %ebp
610611:	c3                   	ret
610612:	8b 4d 0c             	mov    0xc(%ebp),%ecx
610615:	85 c9                	test   %ecx,%ecx
610617:	75 04                	jne    0x61061d
610619:	88 0a                	mov    %cl,(%edx)
61061b:	eb e8                	jmp    0x610605
61061d:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
610623:	75 04                	jne    0x610629
610625:	88 0a                	mov    %cl,(%edx)
610627:	eb e4                	jmp    0x61060d
610629:	53                   	push   %ebx
61062a:	56                   	push   %esi
61062b:	f7 c1 00 f8 ff ff    	test   $0xfffff800,%ecx
610631:	75 07                	jne    0x61063a
610633:	33 f6                	xor    %esi,%esi
610635:	b3 c0                	mov    $0xc0,%bl
610637:	46                   	inc    %esi
610638:	eb 33                	jmp    0x61066d
61063a:	f7 c1 00 00 ff ff    	test   $0xffff0000,%ecx
610640:	75 16                	jne    0x610658
610642:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
610648:	72 08                	jb     0x610652
61064a:	81 f9 ff df 00 00    	cmp    $0xdfff,%ecx
610650:	76 43                	jbe    0x610695
610652:	6a 02                	push   $0x2
610654:	b3 e0                	mov    $0xe0,%bl
610656:	eb 14                	jmp    0x61066c
610658:	f7 c1 00 00 e0 ff    	test   $0xffe00000,%ecx
61065e:	75 35                	jne    0x610695
610660:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
610666:	77 2d                	ja     0x610695
610668:	6a 03                	push   $0x3
61066a:	b3 f0                	mov    $0xf0,%bl
61066c:	5e                   	pop    %esi
61066d:	57                   	push   %edi
61066e:	8b fe                	mov    %esi,%edi
610670:	8a c1                	mov    %cl,%al
610672:	c1 e9 06             	shr    $0x6,%ecx
610675:	24 3f                	and    $0x3f,%al
610677:	0c 80                	or     $0x80,%al
610679:	88 04 17             	mov    %al,(%edi,%edx,1)
61067c:	83 ef 01             	sub    $0x1,%edi
61067f:	75 ef                	jne    0x610670
610681:	8b 45 10             	mov    0x10(%ebp),%eax
610684:	0a cb                	or     %bl,%cl
610686:	88 0a                	mov    %cl,(%edx)
610688:	33 c9                	xor    %ecx,%ecx
61068a:	5f                   	pop    %edi
61068b:	89 08                	mov    %ecx,(%eax)
61068d:	89 48 04             	mov    %ecx,0x4(%eax)
610690:	8d 46 01             	lea    0x1(%esi),%eax
610693:	eb 09                	jmp    0x61069e
610695:	ff 75 10             	push   0x10(%ebp)
610698:	e8 05 00 00 00       	call   0x6106a2
61069d:	59                   	pop    %ecx
61069e:	5e                   	pop    %esi
61069f:	5b                   	pop    %ebx
6106a0:	5d                   	pop    %ebp
6106a1:	c3                   	ret
6106a2:	8b ff                	mov    %edi,%edi
6106a4:	55                   	push   %ebp
6106a5:	8b ec                	mov    %esp,%ebp
6106a7:	8b 45 08             	mov    0x8(%ebp),%eax
6106aa:	83 20 00             	andl   $0x0,(%eax)
6106ad:	83 60 04 00          	andl   $0x0,0x4(%eax)
6106b1:	e8 43 c9 fd ff       	call   0x5ecff9
6106b6:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
6106bc:	83 c8 ff             	or     $0xffffffff,%eax
6106bf:	5d                   	pop    %ebp
6106c0:	c3                   	ret
6106c1:	8b ff                	mov    %edi,%edi
6106c3:	55                   	push   %ebp
6106c4:	8b ec                	mov    %esp,%ebp
6106c6:	5d                   	pop    %ebp
6106c7:	e9 2b ff ff ff       	jmp    0x6105f7
6106cc:	8b ff                	mov    %edi,%edi
6106ce:	55                   	push   %ebp
6106cf:	8b ec                	mov    %esp,%ebp
6106d1:	8b 55 08             	mov    0x8(%ebp),%edx
6106d4:	56                   	push   %esi
6106d5:	85 d2                	test   %edx,%edx
6106d7:	75 16                	jne    0x6106ef
6106d9:	e8 1b c9 fd ff       	call   0x5ecff9
6106de:	6a 16                	push   $0x16
6106e0:	5e                   	pop    %esi
6106e1:	89 30                	mov    %esi,(%eax)
6106e3:	e8 37 c8 fd ff       	call   0x5ecf1f
6106e8:	8b c6                	mov    %esi,%eax
6106ea:	e9 9a 00 00 00       	jmp    0x610789
6106ef:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
6106f3:	76 e4                	jbe    0x6106d9
6106f5:	8b 4d 10             	mov    0x10(%ebp),%ecx
6106f8:	c6 02 00             	movb   $0x0,(%edx)
6106fb:	85 c9                	test   %ecx,%ecx
6106fd:	7e 04                	jle    0x610703
6106ff:	8b c1                	mov    %ecx,%eax
610701:	eb 02                	jmp    0x610705
610703:	33 c0                	xor    %eax,%eax
610705:	40                   	inc    %eax
610706:	39 45 0c             	cmp    %eax,0xc(%ebp)
610709:	77 09                	ja     0x610714
61070b:	e8 e9 c8 fd ff       	call   0x5ecff9
610710:	6a 22                	push   $0x22
610712:	eb cc                	jmp    0x6106e0
610714:	8b 75 14             	mov    0x14(%ebp),%esi
610717:	85 f6                	test   %esi,%esi
610719:	74 be                	je     0x6106d9
61071b:	53                   	push   %ebx
61071c:	8d 5a 01             	lea    0x1(%edx),%ebx
61071f:	8b c3                	mov    %ebx,%eax
610721:	57                   	push   %edi
610722:	8b 7e 08             	mov    0x8(%esi),%edi
610725:	c6 02 30             	movb   $0x30,(%edx)
610728:	85 c9                	test   %ecx,%ecx
61072a:	7e 16                	jle    0x610742
61072c:	8a 1f                	mov    (%edi),%bl
61072e:	84 db                	test   %bl,%bl
610730:	74 03                	je     0x610735
610732:	47                   	inc    %edi
610733:	eb 02                	jmp    0x610737
610735:	b3 30                	mov    $0x30,%bl
610737:	88 18                	mov    %bl,(%eax)
610739:	40                   	inc    %eax
61073a:	49                   	dec    %ecx
61073b:	85 c9                	test   %ecx,%ecx
61073d:	7f ed                	jg     0x61072c
61073f:	8d 5a 01             	lea    0x1(%edx),%ebx
610742:	c6 00 00             	movb   $0x0,(%eax)
610745:	85 c9                	test   %ecx,%ecx
610747:	78 16                	js     0x61075f
610749:	80 3f 35             	cmpb   $0x35,(%edi)
61074c:	7c 11                	jl     0x61075f
61074e:	eb 03                	jmp    0x610753
610750:	c6 00 30             	movb   $0x30,(%eax)
610753:	48                   	dec    %eax
610754:	8a 08                	mov    (%eax),%cl
610756:	80 f9 39             	cmp    $0x39,%cl
610759:	74 f5                	je     0x610750
61075b:	fe c1                	inc    %cl
61075d:	88 08                	mov    %cl,(%eax)
61075f:	80 3a 31             	cmpb   $0x31,(%edx)
610762:	75 05                	jne    0x610769
610764:	ff 46 04             	incl   0x4(%esi)
610767:	eb 1c                	jmp    0x610785
610769:	8b cb                	mov    %ebx,%ecx
61076b:	8d 71 01             	lea    0x1(%ecx),%esi
61076e:	8a 01                	mov    (%ecx),%al
610770:	41                   	inc    %ecx
610771:	84 c0                	test   %al,%al
610773:	75 f9                	jne    0x61076e
610775:	2b ce                	sub    %esi,%ecx
610777:	8d 41 01             	lea    0x1(%ecx),%eax
61077a:	50                   	push   %eax
61077b:	53                   	push   %ebx
61077c:	52                   	push   %edx
61077d:	e8 fe 2c fd ff       	call   0x5e3480
610782:	83 c4 0c             	add    $0xc,%esp
610785:	5f                   	pop    %edi
610786:	33 c0                	xor    %eax,%eax
610788:	5b                   	pop    %ebx
610789:	5e                   	pop    %esi
61078a:	5d                   	pop    %ebp
61078b:	c3                   	ret
61078c:	8b ff                	mov    %edi,%edi
61078e:	55                   	push   %ebp
61078f:	8b ec                	mov    %esp,%ebp
610791:	81 ec 64 09 00 00    	sub    $0x964,%esp
610797:	a1 d4 89 72 00       	mov    0x7289d4,%eax
61079c:	33 c5                	xor    %ebp,%eax
61079e:	89 45 fc             	mov    %eax,-0x4(%ebp)
6107a1:	8b 45 14             	mov    0x14(%ebp),%eax
6107a4:	89 85 80 f8 ff ff    	mov    %eax,-0x780(%ebp)
6107aa:	8b 45 18             	mov    0x18(%ebp),%eax
6107ad:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
6107b3:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
6107b9:	50                   	push   %eax
6107ba:	e8 f5 22 00 00       	call   0x612ab4
6107bf:	8b 85 6c f8 ff ff    	mov    -0x794(%ebp),%eax
6107c5:	83 e0 1f             	and    $0x1f,%eax
6107c8:	59                   	pop    %ecx
6107c9:	3c 1f                	cmp    $0x1f,%al
6107cb:	75 09                	jne    0x6107d6
6107cd:	c6 85 74 f8 ff ff 00 	movb   $0x0,-0x78c(%ebp)
6107d4:	eb 14                	jmp    0x6107ea
6107d6:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
6107dc:	50                   	push   %eax
6107dd:	e8 3a 23 00 00       	call   0x612b1c
6107e2:	59                   	pop    %ecx
6107e3:	c6 85 74 f8 ff ff 01 	movb   $0x1,-0x78c(%ebp)
6107ea:	53                   	push   %ebx
6107eb:	8b 5d 08             	mov    0x8(%ebp),%ebx
6107ee:	56                   	push   %esi
6107ef:	8b 75 0c             	mov    0xc(%ebp),%esi
6107f2:	57                   	push   %edi
6107f3:	6a 20                	push   $0x20
6107f5:	5f                   	pop    %edi
6107f6:	85 f6                	test   %esi,%esi
6107f8:	7f 0b                	jg     0x610805
6107fa:	7c 04                	jl     0x610800
6107fc:	85 db                	test   %ebx,%ebx
6107fe:	73 05                	jae    0x610805
610800:	6a 2d                	push   $0x2d
610802:	58                   	pop    %eax
610803:	eb 02                	jmp    0x610807
610805:	8b c7                	mov    %edi,%eax
610807:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
61080d:	8b 95 94 f8 ff ff    	mov    -0x76c(%ebp),%edx
610813:	89 01                	mov    %eax,(%ecx)
610815:	33 c0                	xor    %eax,%eax
610817:	89 51 08             	mov    %edx,0x8(%ecx)
61081a:	8b ce                	mov    %esi,%ecx
61081c:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
610822:	0b c1                	or     %ecx,%eax
610824:	75 26                	jne    0x61084c
610826:	8b ce                	mov    %esi,%ecx