40563a:	bf 01 00 00 00       	mov    $0x1,%edi
40563f:	80 3e 2d             	cmpb   $0x2d,(%esi)
405642:	75 05                	jne    0x405649
405644:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
405648:	47                   	inc    %edi
405649:	33 db                	xor    %ebx,%ebx
40564b:	33 c0                	xor    %eax,%eax
40564d:	89 45 e8             	mov    %eax,-0x18(%ebp)
405650:	c7 45 ec 00 00 f0 3f 	movl   $0x3ff00000,-0x14(%ebp)
405657:	e9 c5 00 00 00       	jmp    0x405721
40565c:	33 c0                	xor    %eax,%eax
40565e:	8a 44 3e ff          	mov    -0x1(%esi,%edi,1),%al
405662:	83 f8 30             	cmp    $0x30,%eax
405665:	7d 0f                	jge    0x405676
405667:	83 e8 2c             	sub    $0x2c,%eax
40566a:	74 21                	je     0x40568d
40566c:	83 e8 02             	sub    $0x2,%eax
40566f:	74 1c                	je     0x40568d
405671:	e9 aa 00 00 00       	jmp    0x405720
405676:	83 c0 d0             	add    $0xffffffd0,%eax
405679:	83 e8 0a             	sub    $0xa,%eax
40567c:	72 1e                	jb     0x40569c
40567e:	83 e8 0b             	sub    $0xb,%eax
405681:	74 68                	je     0x4056eb
405683:	83 e8 20             	sub    $0x20,%eax
405686:	74 63                	je     0x4056eb
405688:	e9 93 00 00 00       	jmp    0x405720
40568d:	84 db                	test   %bl,%bl
40568f:	0f 85 9b 00 00 00    	jne    0x405730
405695:	b3 01                	mov    $0x1,%bl
405697:	e9 84 00 00 00       	jmp    0x405720
40569c:	84 db                	test   %bl,%bl
40569e:	75 23                	jne    0x4056c3
4056a0:	dd 45 f8             	fldl   -0x8(%ebp)
4056a3:	d8 0d 68 57 40 00    	fmuls  0x405768
4056a9:	33 c0                	xor    %eax,%eax
4056ab:	8a 44 3e ff          	mov    -0x1(%esi,%edi,1),%al
4056af:	89 45 e0             	mov    %eax,-0x20(%ebp)
4056b2:	db 45 e0             	fildl  -0x20(%ebp)
4056b5:	de c1                	faddp  %st,%st(1)
4056b7:	d8 25 6c 57 40 00    	fsubs  0x40576c
4056bd:	dd 5d f8             	fstpl  -0x8(%ebp)
4056c0:	9b                   	fwait
4056c1:	eb 5d                	jmp    0x405720
4056c3:	db 2d 70 57 40 00    	fldt   0x405770
4056c9:	dc 4d e8             	fmull  -0x18(%ebp)
4056cc:	dd 5d e8             	fstpl  -0x18(%ebp)
4056cf:	9b                   	fwait
4056d0:	33 c0                	xor    %eax,%eax
4056d2:	8a 44 3e ff          	mov    -0x1(%esi,%edi,1),%al
4056d6:	83 e8 30             	sub    $0x30,%eax
4056d9:	89 45 e0             	mov    %eax,-0x20(%ebp)
4056dc:	db 45 e0             	fildl  -0x20(%ebp)
4056df:	dc 4d e8             	fmull  -0x18(%ebp)
4056e2:	dc 45 f8             	faddl  -0x8(%ebp)
4056e5:	dd 5d f8             	fstpl  -0x8(%ebp)
4056e8:	9b                   	fwait
4056e9:	eb 35                	jmp    0x405720
4056eb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4056ee:	8d 57 01             	lea    0x1(%edi),%edx
4056f1:	8b c6                	mov    %esi,%eax
4056f3:	e8 14 80 00 00       	call   0x40d70c
4056f8:	8b 45 dc             	mov    -0x24(%ebp),%eax
4056fb:	e8 00 80 00 00       	call   0x40d700
405700:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405703:	68 02 40 00 00       	push   $0x4002
405708:	68 00 00 00 a0       	push   $0xa0000000
40570d:	6a 00                	push   $0x0
40570f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
405712:	e8 c9 fe ff ff       	call   0x4055e0
405717:	dc 4d f8             	fmull  -0x8(%ebp)
40571a:	dd 5d f8             	fstpl  -0x8(%ebp)
40571d:	9b                   	fwait
40571e:	eb 10                	jmp    0x405730
405720:	47                   	inc    %edi
405721:	8b c6                	mov    %esi,%eax
405723:	e8 cc e1 ff ff       	call   0x4038f4
405728:	3b f8                	cmp    %eax,%edi
40572a:	0f 8e 2c ff ff ff    	jle    0x40565c
405730:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
405734:	74 09                	je     0x40573f
405736:	dd 45 f8             	fldl   -0x8(%ebp)
405739:	d9 e0                	fchs
40573b:	dd 5d f8             	fstpl  -0x8(%ebp)
40573e:	9b                   	fwait
40573f:	33 c0                	xor    %eax,%eax
405741:	5a                   	pop    %edx
405742:	59                   	pop    %ecx
405743:	59                   	pop    %ecx
405744:	64 89 10             	mov    %edx,%fs:(%eax)
405747:	68 5c 57 40 00       	push   $0x40575c
40574c:	8d 45 dc             	lea    -0x24(%ebp),%eax
40574f:	e8 40 df ff ff       	call   0x403694
405754:	c3                   	ret
405755:	e9 ae d9 ff ff       	jmp    0x403108
40575a:	eb f0                	jmp    0x40574c
40575c:	dd 45 f8             	fldl   -0x8(%ebp)
40575f:	5f                   	pop    %edi
405760:	5e                   	pop    %esi
405761:	5b                   	pop    %ebx
405762:	8b e5                	mov    %ebp,%esp
405764:	5d                   	pop    %ebp
405765:	c3                   	ret
405766:	00 00                	add    %al,(%eax)
405768:	00 00                	add    %al,(%eax)
40576a:	20 41 00             	and    %al,0x0(%ecx)
40576d:	00 40 42             	add    %al,0x42(%eax)
405770:	cd cc                	int    $0xcc
405772:	cc                   	int3
405773:	cc                   	int3
405774:	cc                   	int3
405775:	cc                   	int3
405776:	cc                   	int3
405777:	cc                   	int3
405778:	fb                   	sti
405779:	3f                   	aas
40577a:	00 00                	add    %al,(%eax)
40577c:	f7 ea                	imul   %edx
40577e:	f7 f9                	idiv   %ecx
405780:	c3                   	ret
405781:	8d 40 00             	lea    0x0(%eax),%eax
405784:	57                   	push   %edi
405785:	56                   	push   %esi
405786:	89 c6                	mov    %eax,%esi
405788:	89 d7                	mov    %edx,%edi
40578a:	83 c9 ff             	or     $0xffffffff,%ecx
40578d:	32 c0                	xor    %al,%al
40578f:	f2 ae                	repnz scas %es:(%edi),%al
405791:	f7 d1                	not    %ecx
405793:	89 f7                	mov    %esi,%edi
405795:	89 d6                	mov    %edx,%esi
405797:	89 ca                	mov    %ecx,%edx
405799:	89 f8                	mov    %edi,%eax
40579b:	c1 e9 02             	shr    $0x2,%ecx
40579e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4057a0:	89 d1                	mov    %edx,%ecx
4057a2:	83 e1 03             	and    $0x3,%ecx
4057a5:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4057a7:	5e                   	pop    %esi
4057a8:	5f                   	pop    %edi
4057a9:	c3                   	ret
4057aa:	8b c0                	mov    %eax,%eax
4057ac:	57                   	push   %edi
4057ad:	89 c7                	mov    %eax,%edi
4057af:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
4057b4:	32 c0                	xor    %al,%al
4057b6:	f2 ae                	repnz scas %es:(%edi),%al
4057b8:	f7 d1                	not    %ecx
4057ba:	fd                   	std
4057bb:	4f                   	dec    %edi
4057bc:	88 d0                	mov    %dl,%al
4057be:	f2 ae                	repnz scas %es:(%edi),%al
4057c0:	b8 00 00 00 00       	mov    $0x0,%eax
4057c5:	75 03                	jne    0x4057ca
4057c7:	89 f8                	mov    %edi,%eax
4057c9:	40                   	inc    %eax
4057ca:	fc                   	cld
4057cb:	5f                   	pop    %edi
4057cc:	c3                   	ret
4057cd:	8d 40 00             	lea    0x0(%eax),%eax
4057d0:	57                   	push   %edi
4057d1:	97                   	xchg   %eax,%edi
4057d2:	92                   	xchg   %eax,%edx
4057d3:	f2 ae                	repnz scas %es:(%edi),%al
4057d5:	97                   	xchg   %eax,%edi
4057d6:	5f                   	pop    %edi
4057d7:	c3                   	ret
4057d8:	56                   	push   %esi
4057d9:	57                   	push   %edi
4057da:	89 c6                	mov    %eax,%esi
4057dc:	89 d7                	mov    %edx,%edi
4057de:	89 ca                	mov    %ecx,%edx
4057e0:	31 c0                	xor    %eax,%eax
4057e2:	83 e2 03             	and    $0x3,%edx
4057e5:	d1 e9                	shr    $1,%ecx
4057e7:	d1 e9                	shr    $1,%ecx
4057e9:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
4057eb:	75 07                	jne    0x4057f4
4057ed:	89 d1                	mov    %edx,%ecx
4057ef:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
4057f1:	75 01                	jne    0x4057f4
4057f3:	40                   	inc    %eax
4057f4:	5f                   	pop    %edi
4057f5:	5e                   	pop    %esi
4057f6:	c3                   	ret
4057f7:	90                   	nop
4057f8:	53                   	push   %ebx
4057f9:	56                   	push   %esi
4057fa:	57                   	push   %edi
4057fb:	8b fa                	mov    %edx,%edi
4057fd:	8b f0                	mov    %eax,%esi
4057ff:	8b c6                	mov    %esi,%eax
405801:	e8 ee e0 ff ff       	call   0x4038f4
405806:	8b d8                	mov    %eax,%ebx
405808:	8b c6                	mov    %esi,%eax
40580a:	e8 e5 e2 ff ff       	call   0x403af4
40580f:	8b d0                	mov    %eax,%edx
405811:	8b c7                	mov    %edi,%eax
405813:	8b cb                	mov    %ebx,%ecx
405815:	e8 6a df ff ff       	call   0x403784
40581a:	85 db                	test   %ebx,%ebx
40581c:	7e 09                	jle    0x405827
40581e:	53                   	push   %ebx
40581f:	8b 07                	mov    (%edi),%eax
405821:	50                   	push   %eax
405822:	e8 a1 f1 ff ff       	call   0x4049c8
405827:	5f                   	pop    %edi
405828:	5e                   	pop    %esi
405829:	5b                   	pop    %ebx
40582a:	c3                   	ret
40582b:	90                   	nop
40582c:	53                   	push   %ebx
40582d:	56                   	push   %esi
40582e:	8b f2                	mov    %edx,%esi
405830:	8b d8                	mov    %eax,%ebx
405832:	6a ff                	push   $0xffffffff
405834:	8b c6                	mov    %esi,%eax
405836:	e8 b9 e2 ff ff       	call   0x403af4
40583b:	50                   	push   %eax
40583c:	6a ff                	push   $0xffffffff
40583e:	8b c3                	mov    %ebx,%eax
405840:	e8 af e2 ff ff       	call   0x403af4
405845:	50                   	push   %eax
405846:	6a 01                	push   $0x1
405848:	68 00 04 00 00       	push   $0x400
40584d:	e8 1a f6 ff ff       	call   0x404e6c
405852:	83 e8 02             	sub    $0x2,%eax
405855:	5e                   	pop    %esi
405856:	5b                   	pop    %ebx
405857:	c3                   	ret
405858:	e8 cf ff ff ff       	call   0x40582c
40585d:	c3                   	ret
40585e:	8b c0                	mov    %eax,%eax
405860:	57                   	push   %edi
405861:	56                   	push   %esi
405862:	53                   	push   %ebx
405863:	89 c6                	mov    %eax,%esi
405865:	89 d7                	mov    %edx,%edi
405867:	89 cb                	mov    %ecx,%ebx
405869:	32 c0                	xor    %al,%al
40586b:	85 c9                	test   %ecx,%ecx
40586d:	74 05                	je     0x405874
40586f:	f2 ae                	repnz scas %es:(%edi),%al
405871:	75 01                	jne    0x405874
405873:	41                   	inc    %ecx
405874:	29 cb                	sub    %ecx,%ebx
405876:	89 f7                	mov    %esi,%edi
405878:	89 d6                	mov    %edx,%esi
40587a:	89 fa                	mov    %edi,%edx
40587c:	89 d9                	mov    %ebx,%ecx
40587e:	c1 e9 02             	shr    $0x2,%ecx
405881:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
405883:	89 d9                	mov    %ebx,%ecx
405885:	83 e1 03             	and    $0x3,%ecx
405888:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40588a:	aa                   	stos   %al,%es:(%edi)
40588b:	89 d0                	mov    %edx,%eax
40588d:	5b                   	pop    %ebx
40588e:	5e                   	pop    %esi
40588f:	5f                   	pop    %edi
405890:	c3                   	ret
405891:	8d 40 00             	lea    0x0(%eax),%eax
405894:	55                   	push   %ebp
405895:	8b ec                	mov    %esp,%ebp
405897:	6a 00                	push   $0x0
405899:	6a 00                	push   $0x0
40589b:	6a 00                	push   $0x0
40589d:	53                   	push   %ebx
40589e:	56                   	push   %esi
40589f:	57                   	push   %edi
4058a0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4058a3:	8b fa                	mov    %edx,%edi
4058a5:	8b f0                	mov    %eax,%esi
4058a7:	33 c0                	xor    %eax,%eax
4058a9:	55                   	push   %ebp
4058aa:	68 22 59 40 00       	push   $0x405922
4058af:	64 ff 30             	push   %fs:(%eax)
4058b2:	64 89 20             	mov    %esp,%fs:(%eax)
4058b5:	8b 16                	mov    (%esi),%edx
4058b7:	8b c7                	mov    %edi,%eax
4058b9:	e8 7a e3 ff ff       	call   0x403c38
4058be:	8b d8                	mov    %eax,%ebx
4058c0:	85 db                	test   %ebx,%ebx
4058c2:	7e 41                	jle    0x405905
4058c4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4058c7:	50                   	push   %eax
4058c8:	8b cb                	mov    %ebx,%ecx
4058ca:	49                   	dec    %ecx
4058cb:	8b 06                	mov    (%esi),%eax
4058cd:	ba 01 00 00 00       	mov    $0x1,%edx
4058d2:	e8 7d e2 ff ff       	call   0x403b54
4058d7:	ff 75 f8             	push   -0x8(%ebp)
4058da:	ff 75 fc             	push   -0x4(%ebp)
4058dd:	8b c7                	mov    %edi,%eax
4058df:	e8 10 e0 ff ff       	call   0x4038f4
4058e4:	8b d0                	mov    %eax,%edx
4058e6:	03 d3                	add    %ebx,%edx
4058e8:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4058eb:	8b 06                	mov    (%esi),%eax
4058ed:	e8 1a 7e 00 00       	call   0x40d70c
4058f2:	ff 75 f4             	push   -0xc(%ebp)
4058f5:	8b c6                	mov    %esi,%eax
4058f7:	ba 03 00 00 00       	mov    $0x3,%edx
4058fc:	e8 b3 e0 ff ff       	call   0x4039b4
405901:	b3 01                	mov    $0x1,%bl
405903:	eb 02                	jmp    0x405907
405905:	33 db                	xor    %ebx,%ebx
405907:	33 c0                	xor    %eax,%eax
405909:	5a                   	pop    %edx
40590a:	59                   	pop    %ecx
40590b:	59                   	pop    %ecx
40590c:	64 89 10             	mov    %edx,%fs:(%eax)
40590f:	68 29 59 40 00       	push   $0x405929
405914:	8d 45 f4             	lea    -0xc(%ebp),%eax
405917:	ba 02 00 00 00       	mov    $0x2,%edx
40591c:	e8 97 dd ff ff       	call   0x4036b8
405921:	c3                   	ret
405922:	e9 e1 d7 ff ff       	jmp    0x403108
405927:	eb eb                	jmp    0x405914
405929:	8b c3                	mov    %ebx,%eax
40592b:	5f                   	pop    %edi
40592c:	5e                   	pop    %esi
40592d:	5b                   	pop    %ebx
40592e:	8b e5                	mov    %ebp,%esp
405930:	5d                   	pop    %ebp
405931:	c3                   	ret
405932:	8b c0                	mov    %eax,%eax
405934:	57                   	push   %edi
405935:	56                   	push   %esi
405936:	89 d7                	mov    %edx,%edi
405938:	96                   	xchg   %eax,%esi
405939:	83 c9 ff             	or     $0xffffffff,%ecx
40593c:	31 c0                	xor    %eax,%eax
40593e:	f2 ae                	repnz scas %es:(%edi),%al
405940:	f7 d1                	not    %ecx
405942:	89 d7                	mov    %edx,%edi
405944:	31 d2                	xor    %edx,%edx
405946:	f3 a6                	repz cmpsb %es:(%edi),%ds:(%esi)
405948:	8a 46 ff             	mov    -0x1(%esi),%al
40594b:	8a 57 ff             	mov    -0x1(%edi),%dl
40594e:	29 d0                	sub    %edx,%eax
405950:	5e                   	pop    %esi
405951:	5f                   	pop    %edi
405952:	c3                   	ret
405953:	90                   	nop
405954:	57                   	push   %edi
405955:	56                   	push   %esi
405956:	53                   	push   %ebx
405957:	89 d7                	mov    %edx,%edi
405959:	89 c6                	mov    %eax,%esi