40d66a:	5a                   	pop    %edx
40d66b:	89 f2                	mov    %esi,%edx
40d66d:	e8 62 ff ff ff       	call   0x40d5d4
40d672:	de e9                	fsubrp %st,%st(1)
40d674:	da 0d 47 d6 40 00    	fimull 0x40d647
40d67a:	e8 29 53 ff ff       	call   0x4029a8
40d67f:	85 c0                	test   %eax,%eax
40d681:	74 26                	je     0x40d6a9
40d683:	31 c9                	xor    %ecx,%ecx
40d685:	b1 0a                	mov    $0xa,%cl
40d687:	99                   	cltd
40d688:	f7 f9                	idiv   %ecx
40d68a:	85 d2                	test   %edx,%edx
40d68c:	74 10                	je     0x40d69e
40d68e:	88 d4                	mov    %dl,%ah
40d690:	c1 e0 10             	shl    $0x10,%eax
40d693:	05 20 2e 30 30       	add    $0x30302e20,%eax
40d698:	50                   	push   %eax
40d699:	89 e7                	mov    %esp,%edi
40d69b:	47                   	inc    %edi
40d69c:	eb 0b                	jmp    0x40d6a9
40d69e:	c1 e0 08             	shl    $0x8,%eax
40d6a1:	66 05 2e 30          	add    $0x302e,%ax
40d6a5:	66 50                	push   %ax
40d6a7:	89 e7                	mov    %esp,%edi
40d6a9:	8b 06                	mov    (%esi),%eax
40d6ab:	e8 44 62 ff ff       	call   0x4038f4
40d6b0:	83 c4 9c             	add    $0xffffff9c,%esp
40d6b3:	29 c7                	sub    %eax,%edi
40d6b5:	56                   	push   %esi
40d6b6:	57                   	push   %edi
40d6b7:	8b 36                	mov    (%esi),%esi
40d6b9:	89 c1                	mov    %eax,%ecx
40d6bb:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40d6bd:	5a                   	pop    %edx
40d6be:	58                   	pop    %eax
40d6bf:	e8 ac 61 ff ff       	call   0x403870
40d6c4:	89 dc                	mov    %ebx,%esp
40d6c6:	5f                   	pop    %edi
40d6c7:	5e                   	pop    %esi
40d6c8:	5b                   	pop    %ebx
40d6c9:	5d                   	pop    %ebp
40d6ca:	c2 08 00             	ret    $0x8
40d6cd:	8d 40 00             	lea    0x0(%eax),%eax
40d6d0:	92                   	xchg   %eax,%edx
40d6d1:	31 c0                	xor    %eax,%eax
40d6d3:	85 d2                	test   %edx,%edx
40d6d5:	74 28                	je     0x40d6ff
40d6d7:	31 c9                	xor    %ecx,%ecx
40d6d9:	8a 0a                	mov    (%edx),%cl
40d6db:	42                   	inc    %edx
40d6dc:	80 f9 2d             	cmp    $0x2d,%cl
40d6df:	9c                   	pushf
40d6e0:	74 05                	je     0x40d6e7
40d6e2:	80 f9 2b             	cmp    $0x2b,%cl
40d6e5:	75 03                	jne    0x40d6ea
40d6e7:	8a 0a                	mov    (%edx),%cl
40d6e9:	42                   	inc    %edx
40d6ea:	80 e9 30             	sub    $0x30,%cl
40d6ed:	80 f9 09             	cmp    $0x9,%cl
40d6f0:	77 08                	ja     0x40d6fa
40d6f2:	8d 04 80             	lea    (%eax,%eax,4),%eax
40d6f5:	8d 04 41             	lea    (%ecx,%eax,2),%eax
40d6f8:	eb ed                	jmp    0x40d6e7
40d6fa:	9d                   	popf
40d6fb:	75 02                	jne    0x40d6ff
40d6fd:	f7 d8                	neg    %eax
40d6ff:	c3                   	ret
40d700:	e8 27 79 ff ff       	call   0x40502c
40d705:	e8 c6 ff ff ff       	call   0x40d6d0
40d70a:	c3                   	ret
40d70b:	90                   	nop
40d70c:	51                   	push   %ecx
40d70d:	50                   	push   %eax
40d70e:	52                   	push   %edx
40d70f:	e8 e0 61 ff ff       	call   0x4038f4
40d714:	5a                   	pop    %edx
40d715:	85 d2                	test   %edx,%edx
40d717:	7f 03                	jg     0x40d71c
40d719:	31 d2                	xor    %edx,%edx
40d71b:	42                   	inc    %edx
40d71c:	29 d0                	sub    %edx,%eax
40d71e:	89 c1                	mov    %eax,%ecx
40d720:	58                   	pop    %eax
40d721:	7d 07                	jge    0x40d72a
40d723:	58                   	pop    %eax
40d724:	0f 8c 6a 5f ff ff    	jl     0x403694
40d72a:	41                   	inc    %ecx
40d72b:	e8 24 64 ff ff       	call   0x403b54
40d730:	c3                   	ret
40d731:	8d 40 00             	lea    0x0(%eax),%eax
40d734:	e8 f3 78 ff ff       	call   0x40502c
40d739:	50                   	push   %eax
40d73a:	8b 48 fc             	mov    -0x4(%eax),%ecx
40d73d:	e8 8e 80 ff ff       	call   0x4057d0
40d742:	5a                   	pop    %edx
40d743:	74 03                	je     0x40d748
40d745:	8d 50 01             	lea    0x1(%eax),%edx
40d748:	29 d0                	sub    %edx,%eax
40d74a:	c3                   	ret
40d74b:	90                   	nop
40d74c:	56                   	push   %esi
40d74d:	53                   	push   %ebx
40d74e:	50                   	push   %eax
40d74f:	e8 e4 78 ff ff       	call   0x405038
40d754:	89 d6                	mov    %edx,%esi
40d756:	83 cb ff             	or     $0xffffffff,%ebx
40d759:	8b 4a fc             	mov    -0x4(%edx),%ecx
40d75c:	e3 1a                	jecxz  0x40d778
40d75e:	ac                   	lods   %ds:(%esi),%al
40d75f:	92                   	xchg   %eax,%edx
40d760:	58                   	pop    %eax
40d761:	50                   	push   %eax
40d762:	51                   	push   %ecx
40d763:	e8 cc ff ff ff       	call   0x40d734
40d768:	59                   	pop    %ecx
40d769:	85 c0                	test   %eax,%eax
40d76b:	7e 09                	jle    0x40d776
40d76d:	85 db                	test   %ebx,%ebx
40d76f:	7e 04                	jle    0x40d775
40d771:	39 d8                	cmp    %ebx,%eax
40d773:	7d 01                	jge    0x40d776
40d775:	93                   	xchg   %eax,%ebx
40d776:	e2 e6                	loop   0x40d75e
40d778:	93                   	xchg   %eax,%ebx
40d779:	59                   	pop    %ecx
40d77a:	5b                   	pop    %ebx
40d77b:	5e                   	pop    %esi
40d77c:	c3                   	ret
40d77d:	8d 40 00             	lea    0x0(%eax),%eax
40d780:	53                   	push   %ebx
40d781:	56                   	push   %esi
40d782:	57                   	push   %edi
40d783:	89 cf                	mov    %ecx,%edi
40d785:	96                   	xchg   %eax,%esi
40d786:	8b 06                	mov    (%esi),%eax
40d788:	e8 bf ff ff ff       	call   0x40d74c
40d78d:	93                   	xchg   %eax,%ebx
40d78e:	85 db                	test   %ebx,%ebx
40d790:	7f 09                	jg     0x40d79b
40d792:	8b 06                	mov    (%esi),%eax
40d794:	e8 5b 61 ff ff       	call   0x4038f4
40d799:	93                   	xchg   %eax,%ebx
40d79a:	43                   	inc    %ebx
40d79b:	31 d2                	xor    %edx,%edx
40d79d:	42                   	inc    %edx
40d79e:	52                   	push   %edx
40d79f:	57                   	push   %edi
40d7a0:	89 d9                	mov    %ebx,%ecx
40d7a2:	49                   	dec    %ecx
40d7a3:	8b 06                	mov    (%esi),%eax
40d7a5:	e8 aa 63 ff ff       	call   0x403b54
40d7aa:	96                   	xchg   %eax,%esi
40d7ab:	89 d9                	mov    %ebx,%ecx
40d7ad:	5a                   	pop    %edx
40d7ae:	e8 e1 63 ff ff       	call   0x403b94
40d7b3:	5f                   	pop    %edi
40d7b4:	5e                   	pop    %esi
40d7b5:	5b                   	pop    %ebx
40d7b6:	c3                   	ret
40d7b7:	90                   	nop
40d7b8:	85 c0                	test   %eax,%eax
40d7ba:	74 53                	je     0x40d80f
40d7bc:	91                   	xchg   %eax,%ecx
40d7bd:	31 c0                	xor    %eax,%eax
40d7bf:	b0 2a                	mov    $0x2a,%al
40d7c1:	51                   	push   %ecx
40d7c2:	52                   	push   %edx
40d7c3:	8a 22                	mov    (%edx),%ah
40d7c5:	0a 21                	or     (%ecx),%ah
40d7c7:	74 44                	je     0x40d80d
40d7c9:	b4 00                	mov    $0x0,%ah
40d7cb:	66 39 02             	cmp    %ax,(%edx)
40d7ce:	74 3d                	je     0x40d80d
40d7d0:	38 21                	cmp    %ah,(%ecx)
40d7d2:	75 0d                	jne    0x40d7e1
40d7d4:	4a                   	dec    %edx
40d7d5:	42                   	inc    %edx
40d7d6:	38 02                	cmp    %al,(%edx)
40d7d8:	74 fb                	je     0x40d7d5
40d7da:	38 22                	cmp    %ah,(%edx)
40d7dc:	0f 94 c0             	sete   %al
40d7df:	eb 2c                	jmp    0x40d80d
40d7e1:	38 22                	cmp    %ah,(%edx)
40d7e3:	74 26                	je     0x40d80b
40d7e5:	80 3a 3f             	cmpb   $0x3f,(%edx)
40d7e8:	75 04                	jne    0x40d7ee
40d7ea:	41                   	inc    %ecx
40d7eb:	42                   	inc    %edx
40d7ec:	eb d5                	jmp    0x40d7c3
40d7ee:	38 02                	cmp    %al,(%edx)
40d7f0:	75 13                	jne    0x40d805
40d7f2:	42                   	inc    %edx
40d7f3:	38 21                	cmp    %ah,(%ecx)
40d7f5:	74 14                	je     0x40d80b
40d7f7:	e8 c5 ff ff ff       	call   0x40d7c1
40d7fc:	84 c0                	test   %al,%al
40d7fe:	75 0d                	jne    0x40d80d
40d800:	b0 2a                	mov    $0x2a,%al
40d802:	41                   	inc    %ecx
40d803:	eb ee                	jmp    0x40d7f3
40d805:	8a 22                	mov    (%edx),%ah
40d807:	32 21                	xor    (%ecx),%ah
40d809:	74 df                	je     0x40d7ea
40d80b:	31 c0                	xor    %eax,%eax
40d80d:	5a                   	pop    %edx
40d80e:	59                   	pop    %ecx
40d80f:	c3                   	ret
40d810:	56                   	push   %esi
40d811:	85 c0                	test   %eax,%eax
40d813:	74 38                	je     0x40d84d
40d815:	96                   	xchg   %eax,%esi
40d816:	92                   	xchg   %eax,%edx
40d817:	85 c0                	test   %eax,%eax
40d819:	74 32                	je     0x40d84d
40d81b:	e8 0c 78 ff ff       	call   0x40502c
40d820:	6a 00                	push   $0x0
40d822:	89 e2                	mov    %esp,%edx
40d824:	e8 cf 7f ff ff       	call   0x4057f8
40d829:	96                   	xchg   %eax,%esi
40d82a:	e8 fd 77 ff ff       	call   0x40502c
40d82f:	6a 00                	push   $0x0
40d831:	89 e2                	mov    %esp,%edx
40d833:	e8 c0 7f ff ff       	call   0x4057f8
40d838:	58                   	pop    %eax
40d839:	5a                   	pop    %edx
40d83a:	52                   	push   %edx
40d83b:	50                   	push   %eax
40d83c:	e8 77 ff ff ff       	call   0x40d7b8
40d841:	96                   	xchg   %eax,%esi
40d842:	e8 fd 77 ff ff       	call   0x405044
40d847:	e8 f8 77 ff ff       	call   0x405044
40d84c:	96                   	xchg   %eax,%esi
40d84d:	5e                   	pop    %esi
40d84e:	c3                   	ret
40d84f:	90                   	nop
40d850:	48                   	dec    %eax
40d851:	40                   	inc    %eax
40d852:	80 38 00             	cmpb   $0x0,(%eax)
40d855:	74 05                	je     0x40d85c
40d857:	80 38 20             	cmpb   $0x20,(%eax)
40d85a:	76 f5                	jbe    0x40d851
40d85c:	c3                   	ret
40d85d:	8d 40 00             	lea    0x0(%eax),%eax
40d860:	e8 eb ff ff ff       	call   0x40d850
40d865:	80 38 20             	cmpb   $0x20,(%eax)
40d868:	76 13                	jbe    0x40d87d
40d86a:	80 38 22             	cmpb   $0x22,(%eax)
40d86d:	75 0b                	jne    0x40d87a
40d86f:	40                   	inc    %eax
40d870:	80 38 00             	cmpb   $0x0,(%eax)
40d873:	74 08                	je     0x40d87d
40d875:	80 38 22             	cmpb   $0x22,(%eax)
40d878:	75 f5                	jne    0x40d86f
40d87a:	40                   	inc    %eax
40d87b:	eb e8                	jmp    0x40d865
40d87d:	c3                   	ret
40d87e:	8b c0                	mov    %eax,%eax
40d880:	e8 1f 76 ff ff       	call   0x404ea4
40d885:	83 ca ff             	or     $0xffffffff,%edx
40d888:	42                   	inc    %edx
40d889:	e8 d2 ff ff ff       	call   0x40d860
40d88e:	e8 bd ff ff ff       	call   0x40d850
40d893:	80 38 00             	cmpb   $0x0,(%eax)
40d896:	75 f0                	jne    0x40d888
40d898:	92                   	xchg   %eax,%edx
40d899:	c3                   	ret
40d89a:	8b c0                	mov    %eax,%eax
40d89c:	56                   	push   %esi
40d89d:	e8 8a 77 ff ff       	call   0x40502c
40d8a2:	89 d6                	mov    %edx,%esi
40d8a4:	89 c2                	mov    %eax,%edx
40d8a6:	80 38 00             	cmpb   $0x0,(%eax)
40d8a9:	74 03                	je     0x40d8ae
40d8ab:	40                   	inc    %eax
40d8ac:	eb f8                	jmp    0x40d8a6
40d8ae:	50                   	push   %eax
40d8af:	ac                   	lods   %ds:(%esi),%al
40d8b0:	84 c0                	test   %al,%al
40d8b2:	74 19                	je     0x40d8cd
40d8b4:	52                   	push   %edx
40d8b5:	92                   	xchg   %eax,%edx
40d8b6:	e8 f1 7e ff ff       	call   0x4057ac
40d8bb:	5a                   	pop    %edx
40d8bc:	85 c0                	test   %eax,%eax
40d8be:	74 ef                	je     0x40d8af
40d8c0:	59                   	pop    %ecx
40d8c1:	80 39 00             	cmpb   $0x0,(%ecx)
40d8c4:	74 e8                	je     0x40d8ae
40d8c6:	39 c8                	cmp    %ecx,%eax
40d8c8:	7f e4                	jg     0x40d8ae
40d8ca:	51                   	push   %ecx
40d8cb:	7e e2                	jle    0x40d8af
40d8cd:	58                   	pop    %eax
40d8ce:	5e                   	pop    %esi
40d8cf:	c3                   	ret
40d8d0:	55                   	push   %ebp
40d8d1:	8b ec                	mov    %esp,%ebp
40d8d3:	56                   	push   %esi
40d8d4:	57                   	push   %edi
40d8d5:	53                   	push   %ebx
40d8d6:	89 e3                	mov    %esp,%ebx
40d8d8:	81 c4 00 fc ff ff    	add    $0xfffffc00,%esp
40d8de:	89 e6                	mov    %esp,%esi
40d8e0:	41                   	inc    %ecx
40d8e1:	74 07                	je     0x40d8ea
40d8e3:	8b 7c ca f8          	mov    -0x8(%edx,%ecx,8),%edi
40d8e7:	57                   	push   %edi
40d8e8:	e2 f9                	loop   0x40d8e3
40d8ea:	54                   	push   %esp
40d8eb:	50                   	push   %eax
40d8ec:	56                   	push   %esi
40d8ed:	e8 22 77 ff ff       	call   0x405014
40d8f2:	89 f2                	mov    %esi,%edx
40d8f4:	8b 45 08             	mov    0x8(%ebp),%eax
40d8f7:	e8 74 5f ff ff       	call   0x403870
40d8fc:	89 dc                	mov    %ebx,%esp
40d8fe:	5b                   	pop    %ebx
40d8ff:	5f                   	pop    %edi
40d900:	5e                   	pop    %esi
40d901:	8b e5                	mov    %ebp,%esp
40d903:	5d                   	pop    %ebp
40d904:	c2 04 00             	ret    $0x4
40d907:	90                   	nop
40d908:	e8 1f 77 ff ff       	call   0x40502c
40d90d:	50                   	push   %eax
40d90e:	e8 b1 75 ff ff       	call   0x404ec4
40d913:	40                   	inc    %eax
40d914:	74 06                	je     0x40d91c
40d916:	48                   	dec    %eax
40d917:	24 10                	and    $0x10,%al
40d919:	0f 94 c0             	sete   %al
40d91c:	c3                   	ret
40d91d:	8d 40 00             	lea    0x0(%eax),%eax
40d920:	52                   	push   %edx
40d921:	51                   	push   %ecx
40d922:	91                   	xchg   %eax,%ecx
40d923:	87 d1                	xchg   %edx,%ecx
40d925:	e8 be 5d ff ff       	call   0x4036e8
40d92a:	58                   	pop    %eax
40d92b:	5a                   	pop    %edx
40d92c:	8b 08                	mov    (%eax),%ecx
40d92e:	e3 08                	jecxz  0x40d938
40d930:	03 49 fc             	add    -0x4(%ecx),%ecx
40d933:	49                   	dec    %ecx
40d934:	38 11                	cmp    %dl,(%ecx)
40d936:	74 1c                	je     0x40d954
40d938:	50                   	push   %eax
40d939:	6a 00                	push   $0x0
40d93b:	89 e0                	mov    %esp,%eax