4276de:	c1 f8 05             	sar    $0x5,%eax
4276e1:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
4276e7:	79 05                	jns    0x4276ee
4276e9:	4a                   	dec    %edx
4276ea:	83 ca e0             	or     $0xffffffe0,%edx
4276ed:	42                   	inc    %edx
4276ee:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4276f2:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4276f6:	83 cf ff             	or     $0xffffffff,%edi
4276f9:	8b ca                	mov    %edx,%ecx
4276fb:	d3 e7                	shl    %cl,%edi
4276fd:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
427704:	29 55 fc             	sub    %edx,-0x4(%ebp)
427707:	f7 d7                	not    %edi
427709:	8b 5d 08             	mov    0x8(%ebp),%ebx
42770c:	8d 5c 9d e0          	lea    -0x20(%ebp,%ebx,4),%ebx
427710:	8b 33                	mov    (%ebx),%esi
427712:	8b ce                	mov    %esi,%ecx
427714:	23 cf                	and    %edi,%ecx
427716:	89 4d f0             	mov    %ecx,-0x10(%ebp)
427719:	8b ca                	mov    %edx,%ecx
42771b:	d3 ee                	shr    %cl,%esi
42771d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
427720:	0b 75 f4             	or     -0xc(%ebp),%esi
427723:	89 33                	mov    %esi,(%ebx)
427725:	8b 75 f0             	mov    -0x10(%ebp),%esi
427728:	d3 e6                	shl    %cl,%esi
42772a:	ff 45 08             	incl   0x8(%ebp)
42772d:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
427731:	89 75 f4             	mov    %esi,-0xc(%ebp)
427734:	7c d3                	jl     0x427709
427736:	8b f0                	mov    %eax,%esi
427738:	6a 02                	push   $0x2
42773a:	c1 e6 02             	shl    $0x2,%esi
42773d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
427740:	5a                   	pop    %edx
427741:	2b ce                	sub    %esi,%ecx
427743:	3b d0                	cmp    %eax,%edx
427745:	7c 08                	jl     0x42774f
427747:	8b 31                	mov    (%ecx),%esi
427749:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
42774d:	eb 05                	jmp    0x427754
42774f:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
427754:	4a                   	dec    %edx
427755:	83 e9 04             	sub    $0x4,%ecx
427758:	85 d2                	test   %edx,%edx
42775a:	7d e7                	jge    0x427743
42775c:	6a 02                	push   $0x2
42775e:	33 db                	xor    %ebx,%ebx
427760:	58                   	pop    %eax
427761:	e9 5a 01 00 00       	jmp    0x4278c0
427766:	3b 1d 10 02 43 00    	cmp    0x430210,%ebx
42776c:	8b 0d 1c 02 43 00    	mov    0x43021c,%ecx
427772:	0f 8c ad 00 00 00    	jl     0x427825
427778:	33 c0                	xor    %eax,%eax
42777a:	8d 7d e0             	lea    -0x20(%ebp),%edi
42777d:	ab                   	stos   %eax,%es:(%edi)
42777e:	ab                   	stos   %eax,%es:(%edi)
42777f:	ab                   	stos   %eax,%es:(%edi)
427780:	81 4d e0 00 00 00 80 	orl    $0x80000000,-0x20(%ebp)
427787:	8b c1                	mov    %ecx,%eax
427789:	99                   	cltd
42778a:	83 e2 1f             	and    $0x1f,%edx
42778d:	03 c2                	add    %edx,%eax
42778f:	8b d1                	mov    %ecx,%edx
427791:	c1 f8 05             	sar    $0x5,%eax
427794:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
42779a:	79 05                	jns    0x4277a1
42779c:	4a                   	dec    %edx
42779d:	83 ca e0             	or     $0xffffffe0,%edx
4277a0:	42                   	inc    %edx
4277a1:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4277a5:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4277a9:	83 cf ff             	or     $0xffffffff,%edi
4277ac:	8b ca                	mov    %edx,%ecx
4277ae:	d3 e7                	shl    %cl,%edi
4277b0:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
4277b7:	29 55 fc             	sub    %edx,-0x4(%ebp)
4277ba:	f7 d7                	not    %edi
4277bc:	8b 5d 08             	mov    0x8(%ebp),%ebx
4277bf:	8d 5c 9d e0          	lea    -0x20(%ebp,%ebx,4),%ebx
4277c3:	8b 33                	mov    (%ebx),%esi
4277c5:	8b ce                	mov    %esi,%ecx
4277c7:	23 cf                	and    %edi,%ecx
4277c9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4277cc:	8b ca                	mov    %edx,%ecx
4277ce:	d3 ee                	shr    %cl,%esi
4277d0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4277d3:	0b 75 f4             	or     -0xc(%ebp),%esi
4277d6:	89 33                	mov    %esi,(%ebx)
4277d8:	8b 75 f0             	mov    -0x10(%ebp),%esi
4277db:	d3 e6                	shl    %cl,%esi
4277dd:	ff 45 08             	incl   0x8(%ebp)
4277e0:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4277e4:	89 75 f4             	mov    %esi,-0xc(%ebp)
4277e7:	7c d3                	jl     0x4277bc
4277e9:	8b f0                	mov    %eax,%esi
4277eb:	6a 02                	push   $0x2
4277ed:	c1 e6 02             	shl    $0x2,%esi
4277f0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4277f3:	5a                   	pop    %edx
4277f4:	2b ce                	sub    %esi,%ecx
4277f6:	3b d0                	cmp    %eax,%edx
4277f8:	7c 08                	jl     0x427802
4277fa:	8b 31                	mov    (%ecx),%esi
4277fc:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
427800:	eb 05                	jmp    0x427807
427802:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
427807:	4a                   	dec    %edx
427808:	83 e9 04             	sub    $0x4,%ecx
42780b:	85 d2                	test   %edx,%edx
42780d:	7d e7                	jge    0x4277f6
42780f:	a1 10 02 43 00       	mov    0x430210,%eax
427814:	8b 0d 24 02 43 00    	mov    0x430224,%ecx
42781a:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
42781d:	33 c0                	xor    %eax,%eax
42781f:	40                   	inc    %eax
427820:	e9 9b 00 00 00       	jmp    0x4278c0
427825:	a1 24 02 43 00       	mov    0x430224,%eax
42782a:	81 65 e0 ff ff ff 7f 	andl   $0x7fffffff,-0x20(%ebp)
427831:	03 d8                	add    %eax,%ebx
427833:	8b c1                	mov    %ecx,%eax
427835:	99                   	cltd
427836:	83 e2 1f             	and    $0x1f,%edx
427839:	03 c2                	add    %edx,%eax
42783b:	8b d1                	mov    %ecx,%edx
42783d:	c1 f8 05             	sar    $0x5,%eax
427840:	81 e2 1f 00 00 80    	and    $0x8000001f,%edx
427846:	79 05                	jns    0x42784d
427848:	4a                   	dec    %edx
427849:	83 ca e0             	or     $0xffffffe0,%edx
42784c:	42                   	inc    %edx
42784d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
427851:	83 65 08 00          	andl   $0x0,0x8(%ebp)
427855:	83 ce ff             	or     $0xffffffff,%esi
427858:	8b ca                	mov    %edx,%ecx
42785a:	d3 e6                	shl    %cl,%esi
42785c:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
427863:	29 55 fc             	sub    %edx,-0x4(%ebp)
427866:	f7 d6                	not    %esi
427868:	8b 4d 08             	mov    0x8(%ebp),%ecx
42786b:	8b 7c 8d e0          	mov    -0x20(%ebp,%ecx,4),%edi
42786f:	8b cf                	mov    %edi,%ecx
427871:	23 ce                	and    %esi,%ecx
427873:	89 4d f0             	mov    %ecx,-0x10(%ebp)
427876:	8b ca                	mov    %edx,%ecx
427878:	d3 ef                	shr    %cl,%edi
42787a:	8b 4d 08             	mov    0x8(%ebp),%ecx
42787d:	0b 7d f4             	or     -0xc(%ebp),%edi
427880:	89 7c 8d e0          	mov    %edi,-0x20(%ebp,%ecx,4)
427884:	8b 7d f0             	mov    -0x10(%ebp),%edi
427887:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42788a:	d3 e7                	shl    %cl,%edi
42788c:	ff 45 08             	incl   0x8(%ebp)
42788f:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
427893:	89 7d f4             	mov    %edi,-0xc(%ebp)
427896:	7c d0                	jl     0x427868
427898:	8b f0                	mov    %eax,%esi
42789a:	6a 02                	push   $0x2
42789c:	c1 e6 02             	shl    $0x2,%esi
42789f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4278a2:	5a                   	pop    %edx
4278a3:	2b ce                	sub    %esi,%ecx
4278a5:	3b d0                	cmp    %eax,%edx
4278a7:	7c 08                	jl     0x4278b1
4278a9:	8b 31                	mov    (%ecx),%esi
4278ab:	89 74 95 e0          	mov    %esi,-0x20(%ebp,%edx,4)
4278af:	eb 05                	jmp    0x4278b6
4278b1:	83 64 95 e0 00       	andl   $0x0,-0x20(%ebp,%edx,4)
4278b6:	4a                   	dec    %edx
4278b7:	83 e9 04             	sub    $0x4,%ecx
4278ba:	85 d2                	test   %edx,%edx
4278bc:	7d e7                	jge    0x4278a5
4278be:	33 c0                	xor    %eax,%eax
4278c0:	5e                   	pop    %esi
4278c1:	6a 1f                	push   $0x1f
4278c3:	59                   	pop    %ecx
4278c4:	2b 0d 1c 02 43 00    	sub    0x43021c,%ecx
4278ca:	d3 e3                	shl    %cl,%ebx
4278cc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4278cf:	f7 d9                	neg    %ecx
4278d1:	1b c9                	sbb    %ecx,%ecx
4278d3:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
4278d9:	0b d9                	or     %ecx,%ebx
4278db:	8b 0d 20 02 43 00    	mov    0x430220,%ecx
4278e1:	0b 5d e0             	or     -0x20(%ebp),%ebx
4278e4:	83 f9 40             	cmp    $0x40,%ecx
4278e7:	75 0d                	jne    0x4278f6
4278e9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4278ec:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4278ef:	89 59 04             	mov    %ebx,0x4(%ecx)
4278f2:	89 11                	mov    %edx,(%ecx)
4278f4:	eb 0a                	jmp    0x427900
4278f6:	83 f9 20             	cmp    $0x20,%ecx
4278f9:	75 05                	jne    0x427900
4278fb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4278fe:	89 19                	mov    %ebx,(%ecx)
427900:	5f                   	pop    %edi
427901:	5b                   	pop    %ebx
427902:	c9                   	leave
427903:	c3                   	ret
427904:	8b ff                	mov    %edi,%edi
427906:	55                   	push   %ebp
427907:	8b ec                	mov    %esp,%ebp
427909:	83 ec 7c             	sub    $0x7c,%esp
42790c:	a1 98 f2 42 00       	mov    0x42f298,%eax
427911:	33 c5                	xor    %ebp,%eax
427913:	89 45 fc             	mov    %eax,-0x4(%ebp)
427916:	8b 45 08             	mov    0x8(%ebp),%eax
427919:	53                   	push   %ebx
42791a:	33 db                	xor    %ebx,%ebx
42791c:	56                   	push   %esi
42791d:	33 f6                	xor    %esi,%esi
42791f:	89 45 88             	mov    %eax,-0x78(%ebp)
427922:	8b 45 0c             	mov    0xc(%ebp),%eax
427925:	46                   	inc    %esi
427926:	33 c9                	xor    %ecx,%ecx
427928:	57                   	push   %edi
427929:	89 45 90             	mov    %eax,-0x70(%ebp)
42792c:	8d 7d e0             	lea    -0x20(%ebp),%edi
42792f:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
427932:	89 75 98             	mov    %esi,-0x68(%ebp)
427935:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
427938:	89 5d a8             	mov    %ebx,-0x58(%ebp)
42793b:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
42793e:	89 5d a0             	mov    %ebx,-0x60(%ebp)
427941:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
427944:	89 5d b0             	mov    %ebx,-0x50(%ebp)
427947:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
42794a:	39 5d 24             	cmp    %ebx,0x24(%ebp)
42794d:	75 1f                	jne    0x42796e
42794f:	e8 4a 6f ff ff       	call   0x41e89e
427954:	53                   	push   %ebx
427955:	53                   	push   %ebx
427956:	53                   	push   %ebx
427957:	53                   	push   %ebx
427958:	53                   	push   %ebx
427959:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42795f:	e8 8f 82 ff ff       	call   0x41fbf3
427964:	83 c4 14             	add    $0x14,%esp
427967:	33 c0                	xor    %eax,%eax
427969:	e9 4e 06 00 00       	jmp    0x427fbc
42796e:	8b 55 10             	mov    0x10(%ebp),%edx
427971:	89 55 ac             	mov    %edx,-0x54(%ebp)
427974:	8a 02                	mov    (%edx),%al
427976:	3c 20                	cmp    $0x20,%al
427978:	74 0c                	je     0x427986
42797a:	3c 09                	cmp    $0x9,%al
42797c:	74 08                	je     0x427986
42797e:	3c 0a                	cmp    $0xa,%al
427980:	74 04                	je     0x427986
427982:	3c 0d                	cmp    $0xd,%al
427984:	75 03                	jne    0x427989
427986:	42                   	inc    %edx
427987:	eb eb                	jmp    0x427974
427989:	b3 30                	mov    $0x30,%bl
42798b:	8a 02                	mov    (%edx),%al
42798d:	42                   	inc    %edx
42798e:	83 f9 0b             	cmp    $0xb,%ecx
427991:	0f 87 2f 02 00 00    	ja     0x427bc6
427997:	ff 24 8d cc 7f 42 00 	jmp    *0x427fcc(,%ecx,4)
42799e:	8a c8                	mov    %al,%cl
4279a0:	80 e9 31             	sub    $0x31,%cl
4279a3:	80 f9 08             	cmp    $0x8,%cl
4279a6:	77 06                	ja     0x4279ae
4279a8:	6a 03                	push   $0x3
4279aa:	59                   	pop    %ecx
4279ab:	4a                   	dec    %edx
4279ac:	eb dd                	jmp    0x42798b
4279ae:	8b 4d 24             	mov    0x24(%ebp),%ecx
4279b1:	8b 09                	mov    (%ecx),%ecx
4279b3:	8b 89 bc 00 00 00    	mov    0xbc(%ecx),%ecx
4279b9:	8b 09                	mov    (%ecx),%ecx
4279bb:	3a 01                	cmp    (%ecx),%al
4279bd:	75 05                	jne    0x4279c4
4279bf:	6a 05                	push   $0x5
4279c1:	59                   	pop    %ecx
4279c2:	eb c7                	jmp    0x42798b
4279c4:	0f be c0             	movsbl %al,%eax
4279c7:	83 e8 2b             	sub    $0x2b,%eax
4279ca:	74 1d                	je     0x4279e9
4279cc:	48                   	dec    %eax
4279cd:	48                   	dec    %eax
4279ce:	74 0d                	je     0x4279dd
4279d0:	83 e8 03             	sub    $0x3,%eax
4279d3:	0f 85 8b 01 00 00    	jne    0x427b64
4279d9:	8b ce                	mov    %esi,%ecx
4279db:	eb ae                	jmp    0x42798b
4279dd:	6a 02                	push   $0x2
4279df:	59                   	pop    %ecx
4279e0:	c7 45 8c 00 80 00 00 	movl   $0x8000,-0x74(%ebp)
4279e7:	eb a2                	jmp    0x42798b
4279e9:	83 65 8c 00          	andl   $0x0,-0x74(%ebp)
4279ed:	6a 02                	push   $0x2
4279ef:	59                   	pop    %ecx
4279f0:	eb 99                	jmp    0x42798b
4279f2:	8a c8                	mov    %al,%cl
4279f4:	80 e9 31             	sub    $0x31,%cl
4279f7:	89 75 a8             	mov    %esi,-0x58(%ebp)
4279fa:	80 f9 08             	cmp    $0x8,%cl
4279fd:	76 a9                	jbe    0x4279a8
4279ff:	8b 4d 24             	mov    0x24(%ebp),%ecx
427a02:	8b 09                	mov    (%ecx),%ecx
427a04:	8b 89 bc 00 00 00    	mov    0xbc(%ecx),%ecx
427a0a:	8b 09                	mov    (%ecx),%ecx
427a0c:	3a 01                	cmp    (%ecx),%al
427a0e:	75 04                	jne    0x427a14
427a10:	6a 04                	push   $0x4
427a12:	eb ad                	jmp    0x4279c1
427a14:	3c 2b                	cmp    $0x2b,%al
427a16:	74 28                	je     0x427a40
427a18:	3c 2d                	cmp    $0x2d,%al
427a1a:	74 24                	je     0x427a40
427a1c:	3a c3                	cmp    %bl,%al
427a1e:	74 b9                	je     0x4279d9
427a20:	3c 43                	cmp    $0x43,%al
427a22:	0f 8e 3c 01 00 00    	jle    0x427b64
427a28:	3c 45                	cmp    $0x45,%al
427a2a:	7e 10                	jle    0x427a3c
427a2c:	3c 63                	cmp    $0x63,%al
427a2e:	0f 8e 30 01 00 00    	jle    0x427b64
427a34:	3c 65                	cmp    $0x65,%al
427a36:	0f 8f 28 01 00 00    	jg     0x427b64
427a3c:	6a 06                	push   $0x6
427a3e:	eb 81                	jmp    0x4279c1
427a40:	4a                   	dec    %edx
427a41:	6a 0b                	push   $0xb
427a43:	e9 79 ff ff ff       	jmp    0x4279c1
427a48:	8a c8                	mov    %al,%cl
427a4a:	80 e9 31             	sub    $0x31,%cl
427a4d:	80 f9 08             	cmp    $0x8,%cl
427a50:	0f 86 52 ff ff ff    	jbe    0x4279a8
427a56:	8b 4d 24             	mov    0x24(%ebp),%ecx
427a59:	8b 09                	mov    (%ecx),%ecx
427a5b:	8b 89 bc 00 00 00    	mov    0xbc(%ecx),%ecx
427a61:	8b 09                	mov    (%ecx),%ecx
427a63:	3a 01                	cmp    (%ecx),%al
427a65:	0f 84 54 ff ff ff    	je     0x4279bf
427a6b:	3a c3                	cmp    %bl,%al
427a6d:	0f 84 66 ff ff ff    	je     0x4279d9
427a73:	8b 55 ac             	mov    -0x54(%ebp),%edx
427a76:	e9 14 01 00 00       	jmp    0x427b8f
427a7b:	89 75 a8             	mov    %esi,-0x58(%ebp)
427a7e:	eb 1a                	jmp    0x427a9a
427a80:	3c 39                	cmp    $0x39,%al
427a82:	7f 1a                	jg     0x427a9e
427a84:	83 7d b4 19          	cmpl   $0x19,-0x4c(%ebp)
427a88:	73 0a                	jae    0x427a94
427a8a:	ff 45 b4             	incl   -0x4c(%ebp)
427a8d:	2a c3                	sub    %bl,%al