42c678:	0f b7 c0             	movzwl %ax,%eax
42c67b:	89 45 a8             	mov    %eax,-0x58(%ebp)
42c67e:	03 f0                	add    %eax,%esi
42c680:	f6 45 d4 01          	testb  $0x1,-0x2c(%ebp)
42c684:	74 01                	je     0x42c687
42c686:	43                   	inc    %ebx
42c687:	8b 4d d8             	mov    -0x28(%ebp),%ecx
42c68a:	8b c2                	mov    %edx,%eax
42c68c:	c1 e0 1f             	shl    $0x1f,%eax
42c68f:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
42c692:	d1 6d b4             	shrl   $1,-0x4c(%ebp)
42c695:	09 45 b4             	or     %eax,-0x4c(%ebp)
42c698:	8b 45 b4             	mov    -0x4c(%ebp),%eax
42c69b:	c1 e1 1f             	shl    $0x1f,%ecx
42c69e:	d1 ef                	shr    $1,%edi
42c6a0:	d1 ea                	shr    $1,%edx
42c6a2:	0b f9                	or     %ecx,%edi
42c6a4:	ff 4d a8             	decl   -0x58(%ebp)
42c6a7:	89 55 dc             	mov    %edx,-0x24(%ebp)
42c6aa:	89 45 d8             	mov    %eax,-0x28(%ebp)
42c6ad:	89 7d d4             	mov    %edi,-0x2c(%ebp)
42c6b0:	75 ce                	jne    0x42c680
42c6b2:	6a 00                	push   $0x0
42c6b4:	85 db                	test   %ebx,%ebx
42c6b6:	89 55 b4             	mov    %edx,-0x4c(%ebp)
42c6b9:	5b                   	pop    %ebx
42c6ba:	74 12                	je     0x42c6ce
42c6bc:	33 c9                	xor    %ecx,%ecx
42c6be:	66 8b c7             	mov    %di,%ax
42c6c1:	41                   	inc    %ecx
42c6c2:	66 0b c1             	or     %cx,%ax
42c6c5:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
42c6c9:	8b 7d d4             	mov    -0x2c(%ebp),%edi
42c6cc:	eb 04                	jmp    0x42c6d2
42c6ce:	66 8b 45 d4          	mov    -0x2c(%ebp),%ax
42c6d2:	ba 00 80 00 00       	mov    $0x8000,%edx
42c6d7:	66 3b c2             	cmp    %dx,%ax
42c6da:	77 0e                	ja     0x42c6ea
42c6dc:	81 e7 ff ff 01 00    	and    $0x1ffff,%edi
42c6e2:	81 ff 00 80 01 00    	cmp    $0x18000,%edi
42c6e8:	75 40                	jne    0x42c72a
42c6ea:	8b 45 d6             	mov    -0x2a(%ebp),%eax
42c6ed:	83 f8 ff             	cmp    $0xffffffff,%eax
42c6f0:	75 34                	jne    0x42c726
42c6f2:	8b 45 da             	mov    -0x26(%ebp),%eax
42c6f5:	89 5d d6             	mov    %ebx,-0x2a(%ebp)
42c6f8:	83 f8 ff             	cmp    $0xffffffff,%eax
42c6fb:	75 20                	jne    0x42c71d
42c6fd:	66 8b 45 de          	mov    -0x22(%ebp),%ax
42c701:	b9 ff ff 00 00       	mov    $0xffff,%ecx
42c706:	89 5d da             	mov    %ebx,-0x26(%ebp)
42c709:	66 3b c1             	cmp    %cx,%ax
42c70c:	75 07                	jne    0x42c715
42c70e:	66 89 55 de          	mov    %dx,-0x22(%ebp)
42c712:	46                   	inc    %esi
42c713:	eb 0c                	jmp    0x42c721
42c715:	66 40                	inc    %ax
42c717:	66 89 45 de          	mov    %ax,-0x22(%ebp)
42c71b:	eb 04                	jmp    0x42c721
42c71d:	40                   	inc    %eax
42c71e:	89 45 da             	mov    %eax,-0x26(%ebp)
42c721:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42c724:	eb 07                	jmp    0x42c72d
42c726:	40                   	inc    %eax
42c727:	89 45 d6             	mov    %eax,-0x2a(%ebp)
42c72a:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
42c72d:	8b 55 b0             	mov    -0x50(%ebp),%edx
42c730:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
42c735:	66 3b f0             	cmp    %ax,%si
42c738:	72 1f                	jb     0x42c759
42c73a:	33 c0                	xor    %eax,%eax
42c73c:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42c73f:	66 39 45 a4          	cmp    %ax,-0x5c(%ebp)
42c743:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
42c746:	0f 94 c0             	sete   %al
42c749:	48                   	dec    %eax
42c74a:	25 00 00 00 80       	and    $0x80000000,%eax
42c74f:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
42c754:	89 45 cc             	mov    %eax,-0x34(%ebp)
42c757:	eb 3a                	jmp    0x42c793
42c759:	66 8b 45 d6          	mov    -0x2a(%ebp),%ax
42c75d:	0b 75 a4             	or     -0x5c(%ebp),%esi
42c760:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
42c764:	8b 45 d8             	mov    -0x28(%ebp),%eax
42c767:	89 45 c6             	mov    %eax,-0x3a(%ebp)
42c76a:	89 4d ca             	mov    %ecx,-0x36(%ebp)
42c76d:	66 89 75 ce          	mov    %si,-0x32(%ebp)
42c771:	eb 20                	jmp    0x42c793
42c773:	33 c0                	xor    %eax,%eax
42c775:	66 39 45 a4          	cmp    %ax,-0x5c(%ebp)
42c779:	0f 94 c0             	sete   %al
42c77c:	48                   	dec    %eax
42c77d:	25 00 00 00 80       	and    $0x80000000,%eax
42c782:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
42c787:	89 45 cc             	mov    %eax,-0x34(%ebp)
42c78a:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42c78d:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
42c790:	8b 55 b0             	mov    -0x50(%ebp),%edx
42c793:	8b 75 ac             	mov    -0x54(%ebp),%esi
42c796:	85 f6                	test   %esi,%esi
42c798:	0f 85 13 fd ff ff    	jne    0x42c4b1
42c79e:	8b 45 cc             	mov    -0x34(%ebp),%eax
42c7a1:	0f b7 4d c4          	movzwl -0x3c(%ebp),%ecx
42c7a5:	8b 55 c6             	mov    -0x3a(%ebp),%edx
42c7a8:	8b 75 ca             	mov    -0x36(%ebp),%esi
42c7ab:	c1 e8 10             	shr    $0x10,%eax
42c7ae:	eb 30                	jmp    0x42c7e0
42c7b0:	8b cb                	mov    %ebx,%ecx
42c7b2:	8b c3                	mov    %ebx,%eax
42c7b4:	8b f3                	mov    %ebx,%esi
42c7b6:	8b d3                	mov    %ebx,%edx
42c7b8:	33 db                	xor    %ebx,%ebx
42c7ba:	43                   	inc    %ebx
42c7bb:	eb 23                	jmp    0x42c7e0
42c7bd:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
42c7c2:	be 00 00 00 80       	mov    $0x80000000,%esi
42c7c7:	6a 02                	push   $0x2
42c7c9:	eb 10                	jmp    0x42c7db
42c7cb:	8b cb                	mov    %ebx,%ecx
42c7cd:	8b c3                	mov    %ebx,%eax
42c7cf:	8b f3                	mov    %ebx,%esi
42c7d1:	8b d3                	mov    %ebx,%edx
42c7d3:	eb 0b                	jmp    0x42c7e0
42c7d5:	8b c3                	mov    %ebx,%eax
42c7d7:	8b f3                	mov    %ebx,%esi
42c7d9:	6a 04                	push   $0x4
42c7db:	8b cb                	mov    %ebx,%ecx
42c7dd:	8b d3                	mov    %ebx,%edx
42c7df:	5b                   	pop    %ebx
42c7e0:	8b 7d 80             	mov    -0x80(%ebp),%edi
42c7e3:	0b 45 84             	or     -0x7c(%ebp),%eax
42c7e6:	66 89 47 0a          	mov    %ax,0xa(%edi)
42c7ea:	8b c3                	mov    %ebx,%eax
42c7ec:	66 89 0f             	mov    %cx,(%edi)
42c7ef:	89 57 02             	mov    %edx,0x2(%edi)
42c7f2:	89 77 06             	mov    %esi,0x6(%edi)
42c7f5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c7f8:	5f                   	pop    %edi
42c7f9:	5e                   	pop    %esi
42c7fa:	33 cd                	xor    %ebp,%ecx
42c7fc:	5b                   	pop    %ebx
42c7fd:	e8 34 00 00 00       	call   0x42c836
42c802:	8b e5                	mov    %ebp,%esp
42c804:	5d                   	pop    %ebp
42c805:	c3                   	ret
42c806:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42c807:	c0 42 00 fe          	rolb   $0xfe,0x0(%edx)
42c80b:	c0 42 00 66          	rolb   $0x66,0x0(%edx)
42c80f:	c1 42 00 ab          	roll   $0xab,0x0(%edx)
42c813:	c1 42 00 16          	roll   $0x16,0x0(%edx)
42c817:	c2 42 00             	ret    $0x42
42c81a:	9d                   	popf
42c81b:	c2 42 00             	ret    $0x42
42c81e:	b9 c2 42 00 5e       	mov    $0x5e0042c2,%ecx
42c823:	c3                   	ret
42c824:	42                   	inc    %edx
42c825:	00 00                	add    %al,(%eax)
42c827:	c3                   	ret
42c828:	42                   	inc    %edx
42c829:	00 bc c3 42 00 a4 c3 	add    %bh,-0x3c5bffbe(%ebx,%eax,8)
42c830:	42                   	inc    %edx
42c831:	00 76 c3             	add    %dh,-0x3d(%esi)
42c834:	42                   	inc    %edx
42c835:	00 3b                	add    %bh,(%ebx)
42c837:	0d 50 fd 4b 00       	or     $0x4bfd50,%eax
42c83c:	75 02                	jne    0x42c840
42c83e:	f3 c3                	repz ret
42c840:	e9 01 93 00 00       	jmp    0x435b46
42c845:	55                   	push   %ebp
42c846:	8b ec                	mov    %esp,%ebp
42c848:	e8 0f 00 00 00       	call   0x42c85c
42c84d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42c851:	74 05                	je     0x42c858
42c853:	e8 2c b4 00 00       	call   0x437c84
42c858:	db e2                	fnclex
42c85a:	5d                   	pop    %ebp
42c85b:	c3                   	ret
42c85c:	b8 e6 71 43 00       	mov    $0x4371e6,%eax
42c861:	c7 05 28 fd 4b 00 d2 	movl   $0x437ad2,0x4bfd28
42c868:	7a 43 00
42c86b:	a3 24 fd 4b 00       	mov    %eax,0x4bfd24
42c870:	c7 05 2c fd 4b 00 63 	movl   $0x437b63,0x4bfd2c
42c877:	7b 43 00
42c87a:	c7 05 30 fd 4b 00 bd 	movl   $0x437bbd,0x4bfd30
42c881:	7b 43 00
42c884:	c7 05 34 fd 4b 00 42 	movl   $0x437c42,0x4bfd34
42c88b:	7c 43 00
42c88e:	a3 38 fd 4b 00       	mov    %eax,0x4bfd38
42c893:	c7 05 3c fd 4b 00 07 	movl   $0x437207,0x4bfd3c
42c89a:	72 43 00
42c89d:	c7 05 40 fd 4b 00 7b 	movl   $0x437b7b,0x4bfd40
42c8a4:	7b 43 00
42c8a7:	c7 05 44 fd 4b 00 e3 	movl   $0x437ae3,0x4bfd44
42c8ae:	7a 43 00
42c8b1:	c7 05 48 fd 4b 00 ce 	movl   $0x437bce,0x4bfd48
42c8b8:	7b 43 00
42c8bb:	c3                   	ret
42c8bc:	55                   	push   %ebp
42c8bd:	8b ec                	mov    %esp,%ebp
42c8bf:	dd 45 08             	fldl   0x8(%ebp)
42c8c2:	d9 ee                	fldz
42c8c4:	dd e1                	fucom  %st(1)
42c8c6:	df e0                	fnstsw %ax
42c8c8:	57                   	push   %edi
42c8c9:	f6 c4 44             	test   $0x44,%ah
42c8cc:	7a 09                	jp     0x42c8d7
42c8ce:	dd d9                	fstp   %st(1)
42c8d0:	33 ff                	xor    %edi,%edi
42c8d2:	e9 af 00 00 00       	jmp    0x42c986
42c8d7:	56                   	push   %esi
42c8d8:	66 8b 75 0e          	mov    0xe(%ebp),%si
42c8dc:	0f b7 c6             	movzwl %si,%eax
42c8df:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
42c8e4:	75 7c                	jne    0x42c962
42c8e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42c8e9:	8b 55 08             	mov    0x8(%ebp),%edx
42c8ec:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
42c8f2:	75 04                	jne    0x42c8f8
42c8f4:	85 d2                	test   %edx,%edx
42c8f6:	74 6a                	je     0x42c962
42c8f8:	de d9                	fcompp
42c8fa:	bf 03 fc ff ff       	mov    $0xfffffc03,%edi
42c8ff:	df e0                	fnstsw %ax
42c901:	f6 c4 41             	test   $0x41,%ah
42c904:	75 05                	jne    0x42c90b
42c906:	33 c0                	xor    %eax,%eax
42c908:	40                   	inc    %eax
42c909:	eb 02                	jmp    0x42c90d
42c90b:	33 c0                	xor    %eax,%eax
42c90d:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
42c911:	75 1f                	jne    0x42c932
42c913:	03 c9                	add    %ecx,%ecx
42c915:	89 4d 0c             	mov    %ecx,0xc(%ebp)
42c918:	85 d2                	test   %edx,%edx
42c91a:	79 06                	jns    0x42c922
42c91c:	83 c9 01             	or     $0x1,%ecx
42c91f:	89 4d 0c             	mov    %ecx,0xc(%ebp)
42c922:	03 d2                	add    %edx,%edx
42c924:	4f                   	dec    %edi
42c925:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
42c929:	74 e8                	je     0x42c913
42c92b:	66 8b 75 0e          	mov    0xe(%ebp),%si
42c92f:	89 55 08             	mov    %edx,0x8(%ebp)
42c932:	b9 ef ff 00 00       	mov    $0xffef,%ecx
42c937:	66 23 f1             	and    %cx,%si
42c93a:	66 89 75 0e          	mov    %si,0xe(%ebp)
42c93e:	85 c0                	test   %eax,%eax
42c940:	74 0c                	je     0x42c94e
42c942:	b8 00 80 00 00       	mov    $0x8000,%eax
42c947:	66 0b f0             	or     %ax,%si
42c94a:	66 89 75 0e          	mov    %si,0xe(%ebp)
42c94e:	dd 45 08             	fldl   0x8(%ebp)
42c951:	6a 00                	push   $0x0
42c953:	51                   	push   %ecx
42c954:	51                   	push   %ecx
42c955:	dd 1c 24             	fstpl  (%esp)
42c958:	e8 31 00 00 00       	call   0x42c98e
42c95d:	83 c4 0c             	add    $0xc,%esp
42c960:	eb 23                	jmp    0x42c985
42c962:	6a 00                	push   $0x0
42c964:	51                   	push   %ecx
42c965:	dd d8                	fstp   %st(0)
42c967:	51                   	push   %ecx
42c968:	dd 1c 24             	fstpl  (%esp)
42c96b:	e8 1e 00 00 00       	call   0x42c98e
42c970:	0f b7 fe             	movzwl %si,%edi
42c973:	83 c4 0c             	add    $0xc,%esp
42c976:	c1 ef 04             	shr    $0x4,%edi
42c979:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
42c97f:	81 ef fe 03 00 00    	sub    $0x3fe,%edi
42c985:	5e                   	pop    %esi
42c986:	8b 45 10             	mov    0x10(%ebp),%eax
42c989:	89 38                	mov    %edi,(%eax)
42c98b:	5f                   	pop    %edi
42c98c:	5d                   	pop    %ebp
42c98d:	c3                   	ret
42c98e:	55                   	push   %ebp
42c98f:	8b ec                	mov    %esp,%ebp
42c991:	51                   	push   %ecx
42c992:	51                   	push   %ecx
42c993:	8b 4d 10             	mov    0x10(%ebp),%ecx
42c996:	8b 45 0e             	mov    0xe(%ebp),%eax
42c999:	dd 45 08             	fldl   0x8(%ebp)
42c99c:	0f b7 c0             	movzwl %ax,%eax
42c99f:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
42c9a5:	25 0f 80 00 00       	and    $0x800f,%eax
42c9aa:	c1 e1 04             	shl    $0x4,%ecx
42c9ad:	dd 5d f8             	fstpl  -0x8(%ebp)
42c9b0:	0b c8                	or     %eax,%ecx
42c9b2:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
42c9b6:	dd 45 f8             	fldl   -0x8(%ebp)
42c9b9:	8b e5                	mov    %ebp,%esp
42c9bb:	5d                   	pop    %ebp
42c9bc:	c3                   	ret
42c9bd:	55                   	push   %ebp
42c9be:	8b ec                	mov    %esp,%ebp
42c9c0:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
42c9c7:	8b 45 08             	mov    0x8(%ebp),%eax
42c9ca:	75 07                	jne    0x42c9d3
42c9cc:	85 c0                	test   %eax,%eax
42c9ce:	75 15                	jne    0x42c9e5
42c9d0:	40                   	inc    %eax
42c9d1:	5d                   	pop    %ebp
42c9d2:	c3                   	ret
42c9d3:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
42c9da:	75 09                	jne    0x42c9e5
42c9dc:	85 c0                	test   %eax,%eax
42c9de:	75 05                	jne    0x42c9e5
42c9e0:	6a 02                	push   $0x2
42c9e2:	58                   	pop    %eax
42c9e3:	5d                   	pop    %ebp
42c9e4:	c3                   	ret
42c9e5:	8b 4d 0e             	mov    0xe(%ebp),%ecx
42c9e8:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
42c9ed:	66 23 ca             	and    %dx,%cx
42c9f0:	66 3b ca             	cmp    %dx,%cx
42c9f3:	75 04                	jne    0x42c9f9
42c9f5:	6a 03                	push   $0x3
42c9f7:	eb e9                	jmp    0x42c9e2
42c9f9:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
42c9fe:	66 3b ca             	cmp    %dx,%cx
42ca01:	75 11                	jne    0x42ca14
42ca03:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
42ca0a:	75 04                	jne    0x42ca10
42ca0c:	85 c0                	test   %eax,%eax
42ca0e:	74 04                	je     0x42ca14
42ca10:	6a 04                	push   $0x4
42ca12:	eb ce                	jmp    0x42c9e2
42ca14:	33 c0                	xor    %eax,%eax
42ca16:	5d                   	pop    %ebp
42ca17:	c3                   	ret
42ca18:	55                   	push   %ebp
42ca19:	8b ec                	mov    %esp,%ebp
42ca1b:	8b 45 08             	mov    0x8(%ebp),%eax
42ca1e:	a8 20                	test   $0x20,%al
42ca20:	74 04                	je     0x42ca26
42ca22:	6a 05                	push   $0x5
42ca24:	eb 17                	jmp    0x42ca3d
42ca26:	a8 08                	test   $0x8,%al
42ca28:	74 05                	je     0x42ca2f
42ca2a:	33 c0                	xor    %eax,%eax
42ca2c:	40                   	inc    %eax
42ca2d:	5d                   	pop    %ebp
42ca2e:	c3                   	ret
42ca2f:	a8 04                	test   $0x4,%al
42ca31:	74 04                	je     0x42ca37
42ca33:	6a 02                	push   $0x2
42ca35:	eb 06                	jmp    0x42ca3d
42ca37:	a8 01                	test   $0x1,%al
42ca39:	74 05                	je     0x42ca40