46158c:	74 19                	je     0x4615a7
46158e:	0f b6 47 25          	movzbl 0x25(%edi),%eax
461592:	c1 e0 10             	shl    $0x10,%eax
461595:	0d 01 00 00 c0       	or     $0xc0000001,%eax
46159a:	50                   	push   %eax
46159b:	6a 12                	push   $0x12
46159d:	68 01 01 00 00       	push   $0x101
4615a2:	ff 77 20             	push   0x20(%edi)
4615a5:	ff d3                	call   *%ebx
4615a7:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
4615ab:	0f 84 91 00 00 00    	je     0x461642
4615b1:	0f b6 47 29          	movzbl 0x29(%edi),%eax
4615b5:	c1 e0 10             	shl    $0x10,%eax
4615b8:	0d 01 00 00 c0       	or     $0xc0000001,%eax
4615bd:	50                   	push   %eax
4615be:	6a 5b                	push   $0x5b
4615c0:	68 01 01 00 00       	push   $0x101
4615c5:	ff 77 20             	push   0x20(%edi)
4615c8:	ff d3                	call   *%ebx
4615ca:	eb 76                	jmp    0x461642
4615cc:	80 3e 00             	cmpb   $0x0,(%esi)
4615cf:	6a 02                	push   $0x2
4615d1:	5b                   	pop    %ebx
4615d2:	74 13                	je     0x4615e7
4615d4:	0f b6 47 27          	movzbl 0x27(%edi),%eax
4615d8:	51                   	push   %ecx
4615d9:	53                   	push   %ebx
4615da:	50                   	push   %eax
4615db:	68 a0 00 00 00       	push   $0xa0
4615e0:	8b cf                	mov    %edi,%ecx
4615e2:	e8 f0 01 00 00       	call   0x4617d7
4615e7:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
4615eb:	74 13                	je     0x461600
4615ed:	0f b6 47 28          	movzbl 0x28(%edi),%eax
4615f1:	51                   	push   %ecx
4615f2:	53                   	push   %ebx
4615f3:	50                   	push   %eax
4615f4:	68 a1 00 00 00       	push   $0xa1
4615f9:	8b cf                	mov    %edi,%ecx
4615fb:	e8 d7 01 00 00       	call   0x4617d7
461600:	80 7e 02 00          	cmpb   $0x0,0x2(%esi)
461604:	74 10                	je     0x461616
461606:	0f b6 47 24          	movzbl 0x24(%edi),%eax
46160a:	51                   	push   %ecx
46160b:	53                   	push   %ebx
46160c:	50                   	push   %eax
46160d:	6a 11                	push   $0x11
46160f:	8b cf                	mov    %edi,%ecx
461611:	e8 c1 01 00 00       	call   0x4617d7
461616:	80 7e 03 00          	cmpb   $0x0,0x3(%esi)
46161a:	74 10                	je     0x46162c
46161c:	0f b6 47 25          	movzbl 0x25(%edi),%eax
461620:	51                   	push   %ecx
461621:	53                   	push   %ebx
461622:	50                   	push   %eax
461623:	6a 12                	push   $0x12
461625:	8b cf                	mov    %edi,%ecx
461627:	e8 ab 01 00 00       	call   0x4617d7
46162c:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
461630:	74 10                	je     0x461642
461632:	0f b6 47 29          	movzbl 0x29(%edi),%eax
461636:	51                   	push   %ecx
461637:	53                   	push   %ebx
461638:	50                   	push   %eax
461639:	6a 5b                	push   $0x5b
46163b:	8b cf                	mov    %edi,%ecx
46163d:	e8 95 01 00 00       	call   0x4617d7
461642:	8b cf                	mov    %edi,%ecx
461644:	e8 9c eb ff ff       	call   0x4601e5
461649:	5b                   	pop    %ebx
46164a:	5f                   	pop    %edi
46164b:	5e                   	pop    %esi
46164c:	8b e5                	mov    %ebp,%esp
46164e:	5d                   	pop    %ebp
46164f:	c2 04 00             	ret    $0x4
461652:	55                   	push   %ebp
461653:	8b ec                	mov    %esp,%ebp
461655:	83 ec 28             	sub    $0x28,%esp
461658:	56                   	push   %esi
461659:	8b 75 08             	mov    0x8(%ebp),%esi
46165c:	85 f6                	test   %esi,%esi
46165e:	78 77                	js     0x4616d7
461660:	75 04                	jne    0x461666
461662:	6a 00                	push   $0x0
461664:	eb 6b                	jmp    0x4616d1
461666:	83 fe 0f             	cmp    $0xf,%esi
461669:	73 65                	jae    0x4616d0
46166b:	8d 45 f0             	lea    -0x10(%ebp),%eax
46166e:	50                   	push   %eax
46166f:	ff 15 bc f1 48 00    	call   *0x48f1bc
461675:	85 c0                	test   %eax,%eax
461677:	74 57                	je     0x4616d0
461679:	89 75 08             	mov    %esi,0x8(%ebp)
46167c:	db 45 08             	fildl  0x8(%ebp)
46167f:	85 f6                	test   %esi,%esi
461681:	79 06                	jns    0x461689
461683:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
461689:	dd 5d e8             	fstpl  -0x18(%ebp)
46168c:	dd 45 e8             	fldl   -0x18(%ebp)
46168f:	dd 5d d8             	fstpl  -0x28(%ebp)
461692:	6a 00                	push   $0x0
461694:	ff 15 7c f1 48 00    	call   *0x48f17c
46169a:	8d 45 f8             	lea    -0x8(%ebp),%eax
46169d:	50                   	push   %eax
46169e:	ff 15 bc f1 48 00    	call   *0x48f1bc
4616a4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4616a7:	2b 4d f0             	sub    -0x10(%ebp),%ecx
4616aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4616ad:	1b 45 f4             	sbb    -0xc(%ebp),%eax
4616b0:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4616b3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4616b6:	df 6d e8             	fildll -0x18(%ebp)
4616b9:	dd 5d e0             	fstpl  -0x20(%ebp)
4616bc:	e8 35 f1 fb ff       	call   0x4207f6
4616c1:	dc 7d e0             	fdivrl -0x20(%ebp)
4616c4:	dc 5d d8             	fcompl -0x28(%ebp)
4616c7:	df e0                	fnstsw %ax
4616c9:	f6 c4 05             	test   $0x5,%ah
4616cc:	7b c4                	jnp    0x461692
4616ce:	eb 07                	jmp    0x4616d7
4616d0:	56                   	push   %esi
4616d1:	ff 15 7c f1 48 00    	call   *0x48f17c
4616d7:	5e                   	pop    %esi
4616d8:	8b e5                	mov    %ebp,%esp
4616da:	5d                   	pop    %ebp
4616db:	c2 04 00             	ret    $0x4
4616de:	55                   	push   %ebp
4616df:	8b ec                	mov    %esp,%ebp
4616e1:	51                   	push   %ecx
4616e2:	53                   	push   %ebx
4616e3:	57                   	push   %edi
4616e4:	8b 7d 08             	mov    0x8(%ebp),%edi
4616e7:	8b d9                	mov    %ecx,%ebx
4616e9:	85 ff                	test   %edi,%edi
4616eb:	75 0a                	jne    0x4616f7
4616ed:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4616f1:	0f 84 d8 00 00 00    	je     0x4617cf
4616f7:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4616fb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4616ff:	56                   	push   %esi
461700:	ff 15 80 f1 48 00    	call   *0x48f180
461706:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
46170a:	8b f0                	mov    %eax,%esi
46170c:	0f 84 87 00 00 00    	je     0x461799
461712:	6a 00                	push   $0x0
461714:	ff 15 34 f7 48 00    	call   *0x48f734
46171a:	50                   	push   %eax
46171b:	ff 15 60 f6 48 00    	call   *0x48f660
461721:	6a 01                	push   $0x1
461723:	50                   	push   %eax
461724:	56                   	push   %esi
461725:	a3 04 7f 4c 00       	mov    %eax,0x4c7f04
46172a:	ff 15 64 f6 48 00    	call   *0x48f664
461730:	89 45 0c             	mov    %eax,0xc(%ebp)
461733:	85 ff                	test   %edi,%edi
461735:	74 38                	je     0x46176f
461737:	8d 45 fc             	lea    -0x4(%ebp),%eax
46173a:	50                   	push   %eax
46173b:	57                   	push   %edi
46173c:	ff 15 60 f6 48 00    	call   *0x48f660
461742:	8b 0d 04 7f 4c 00    	mov    0x4c7f04,%ecx
461748:	a3 08 7f 4c 00       	mov    %eax,0x4c7f08
46174d:	3b c8                	cmp    %eax,%ecx
46174f:	74 12                	je     0x461763
461751:	6a 01                	push   $0x1
461753:	50                   	push   %eax
461754:	51                   	push   %ecx
461755:	ff 15 64 f6 48 00    	call   *0x48f664
46175b:	89 45 08             	mov    %eax,0x8(%ebp)
46175e:	a1 08 7f 4c 00       	mov    0x4c7f08,%eax
461763:	6a 01                	push   $0x1
461765:	50                   	push   %eax
461766:	56                   	push   %esi
461767:	ff 15 64 f6 48 00    	call   *0x48f664
46176d:	eb 03                	jmp    0x461772
46176f:	8b 45 fc             	mov    -0x4(%ebp),%eax
461772:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
461776:	75 56                	jne    0x4617ce
461778:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
46177c:	75 50                	jne    0x4617ce
46177e:	85 c0                	test   %eax,%eax
461780:	75 4c                	jne    0x4617ce
461782:	a1 04 7f 4c 00       	mov    0x4c7f04,%eax
461787:	3b f0                	cmp    %eax,%esi
461789:	75 43                	jne    0x4617ce
46178b:	3b 05 08 7f 4c 00    	cmp    0x4c7f08,%eax
461791:	75 3b                	jne    0x4617ce
461793:	83 63 20 00          	andl   $0x0,0x20(%ebx)
461797:	eb 35                	jmp    0x4617ce
461799:	85 ff                	test   %edi,%edi
46179b:	8b 3d 64 f6 48 00    	mov    0x48f664,%edi
4617a1:	74 20                	je     0x4617c3
4617a3:	6a 00                	push   $0x0
4617a5:	ff 35 08 7f 4c 00    	push   0x4c7f08
4617ab:	56                   	push   %esi
4617ac:	ff d7                	call   *%edi
4617ae:	a1 04 7f 4c 00       	mov    0x4c7f04,%eax
4617b3:	8b 0d 08 7f 4c 00    	mov    0x4c7f08,%ecx
4617b9:	3b c1                	cmp    %ecx,%eax
4617bb:	74 0b                	je     0x4617c8
4617bd:	6a 00                	push   $0x0
4617bf:	51                   	push   %ecx
4617c0:	50                   	push   %eax
4617c1:	ff d7                	call   *%edi
4617c3:	a1 04 7f 4c 00       	mov    0x4c7f04,%eax
4617c8:	6a 00                	push   $0x0
4617ca:	50                   	push   %eax
4617cb:	56                   	push   %esi
4617cc:	ff d7                	call   *%edi
4617ce:	5e                   	pop    %esi
4617cf:	5f                   	pop    %edi
4617d0:	5b                   	pop    %ebx
4617d1:	8b e5                	mov    %ebp,%esp
4617d3:	5d                   	pop    %ebp
4617d4:	c2 08 00             	ret    $0x8
4617d7:	55                   	push   %ebp
4617d8:	8b ec                	mov    %esp,%ebp
4617da:	83 ec 1c             	sub    $0x1c,%esp
4617dd:	f6 41 0c 04          	testb  $0x4,0xc(%ecx)
4617e1:	74 37                	je     0x46181a
4617e3:	8b 45 08             	mov    0x8(%ebp),%eax
4617e6:	33 c9                	xor    %ecx,%ecx
4617e8:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4617ec:	41                   	inc    %ecx
4617ed:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4617f1:	0f b6 c0             	movzbl %al,%eax
4617f4:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
4617f8:	8b 45 0c             	mov    0xc(%ebp),%eax
4617fb:	0f b6 c0             	movzbl %al,%eax
4617fe:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
461802:	8b 45 10             	mov    0x10(%ebp),%eax
461805:	89 45 ec             	mov    %eax,-0x14(%ebp)
461808:	8d 45 e4             	lea    -0x1c(%ebp),%eax
46180b:	6a 1c                	push   $0x1c
46180d:	50                   	push   %eax
46180e:	51                   	push   %ecx
46180f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
461812:	ff 15 ec f5 48 00    	call   *0x48f5ec
461818:	eb 11                	jmp    0x46182b
46181a:	6a 00                	push   $0x0
46181c:	ff 75 10             	push   0x10(%ebp)
46181f:	ff 75 0c             	push   0xc(%ebp)
461822:	ff 75 08             	push   0x8(%ebp)
461825:	ff 15 e8 f5 48 00    	call   *0x48f5e8
46182b:	8b e5                	mov    %ebp,%esp
46182d:	5d                   	pop    %ebp
46182e:	c2 10 00             	ret    $0x10
461831:	55                   	push   %ebp
461832:	8b ec                	mov    %esp,%ebp
461834:	56                   	push   %esi
461835:	8b f1                	mov    %ecx,%esi
461837:	33 c0                	xor    %eax,%eax
461839:	89 46 04             	mov    %eax,0x4(%esi)
46183c:	88 46 0a             	mov    %al,0xa(%esi)
46183f:	8b 45 08             	mov    0x8(%ebp),%eax
461842:	c7 06 ff 00 00 00    	movl   $0xff,(%esi)
461848:	66 89 46 08          	mov    %ax,0x8(%esi)
46184c:	66 85 c0             	test   %ax,%ax
46184f:	75 04                	jne    0x461855
461851:	32 c0                	xor    %al,%al
461853:	eb 45                	jmp    0x46189a
461855:	50                   	push   %eax
461856:	ff 15 00 f6 48 00    	call   *0x48f600
46185c:	0f b7 c0             	movzwl %ax,%eax
46185f:	66 83 f8 ff          	cmp    $0xffff,%ax
461863:	74 ec                	je     0x461851
461865:	53                   	push   %ebx
461866:	8b d8                	mov    %eax,%ebx
461868:	88 06                	mov    %al,(%esi)
46186a:	6a 00                	push   $0x0
46186c:	0f b6 c0             	movzbl %al,%eax
46186f:	50                   	push   %eax
461870:	c1 fb 08             	sar    $0x8,%ebx
461873:	ff 15 8c f6 48 00    	call   *0x48f68c
461879:	88 46 07             	mov    %al,0x7(%esi)
46187c:	f6 c3 01             	test   $0x1,%bl
46187f:	74 04                	je     0x461885
461881:	c6 46 01 01          	movb   $0x1,0x1(%esi)
461885:	f6 c3 02             	test   $0x2,%bl
461888:	74 04                	je     0x46188e
46188a:	c6 46 03 01          	movb   $0x1,0x3(%esi)
46188e:	f6 c3 04             	test   $0x4,%bl
461891:	5b                   	pop    %ebx
461892:	74 04                	je     0x461898
461894:	c6 46 04 01          	movb   $0x1,0x4(%esi)
461898:	b0 01                	mov    $0x1,%al
46189a:	5e                   	pop    %esi
46189b:	5d                   	pop    %ebp
46189c:	c2 04 00             	ret    $0x4
46189f:	55                   	push   %ebp
4618a0:	8b ec                	mov    %esp,%ebp
4618a2:	56                   	push   %esi
4618a3:	8b f1                	mov    %ecx,%esi
4618a5:	33 c0                	xor    %eax,%eax
4618a7:	33 c9                	xor    %ecx,%ecx
4618a9:	89 46 06             	mov    %eax,0x6(%esi)
4618ac:	8a 45 08             	mov    0x8(%ebp),%al
4618af:	89 4e 01             	mov    %ecx,0x1(%esi)
4618b2:	88 4e 05             	mov    %cl,0x5(%esi)
4618b5:	88 4e 0a             	mov    %cl,0xa(%esi)
4618b8:	88 06                	mov    %al,(%esi)
4618ba:	3c ff                	cmp    $0xff,%al
4618bc:	75 04                	jne    0x4618c2
4618be:	32 c0                	xor    %al,%al
4618c0:	eb 10                	jmp    0x4618d2
4618c2:	51                   	push   %ecx
4618c3:	0f b6 c0             	movzbl %al,%eax
4618c6:	50                   	push   %eax
4618c7:	ff 15 8c f6 48 00    	call   *0x48f68c
4618cd:	88 46 07             	mov    %al,0x7(%esi)
4618d0:	b0 01                	mov    $0x1,%al
4618d2:	5e                   	pop    %esi
4618d3:	5d                   	pop    %ebp
4618d4:	c2 04 00             	ret    $0x4
4618d7:	55                   	push   %ebp
4618d8:	8b ec                	mov    %esp,%ebp
4618da:	8d 45 10             	lea    0x10(%ebp),%eax
4618dd:	50                   	push   %eax
4618de:	ff 75 0c             	push   0xc(%ebp)
4618e1:	ff 75 08             	push   0x8(%ebp)
4618e4:	e8 1c 27 fc ff       	call   0x424005
4618e9:	83 c4 0c             	add    $0xc,%esp
4618ec:	5d                   	pop    %ebp
4618ed:	c3                   	ret
4618ee:	55                   	push   %ebp
4618ef:	8b ec                	mov    %esp,%ebp
4618f1:	51                   	push   %ecx
4618f2:	56                   	push   %esi
4618f3:	57                   	push   %edi
4618f4:	8b f9                	mov    %ecx,%edi
4618f6:	33 f6                	xor    %esi,%esi
4618f8:	8d 47 04             	lea    0x4(%edi),%eax
4618fb:	83 38 00             	cmpl   $0x0,(%eax)
4618fe:	74 09                	je     0x461909
461900:	46                   	inc    %esi
461901:	83 c0 08             	add    $0x8,%eax
461904:	83 fe 10             	cmp    $0x10,%esi
461907:	7c f2                	jl     0x4618fb
461909:	83 fe 10             	cmp    $0x10,%esi
46190c:	75 04                	jne    0x461912
46190e:	33 c0                	xor    %eax,%eax
461910:	eb 37                	jmp    0x461949
461912:	8d 45 fc             	lea    -0x4(%ebp),%eax
461915:	50                   	push   %eax
461916:	ff 75 0c             	push   0xc(%ebp)
461919:	ff 15 60 f6 48 00    	call   *0x48f660
46191f:	ff 75 fc             	push   -0x4(%ebp)
461922:	6a 00                	push   $0x0
461924:	68 38 04 00 00       	push   $0x438
461929:	ff 15 c4 f1 48 00    	call   *0x48f1c4