427773:	0f b7 c6             	movzwl %si,%eax
427776:	2b c1                	sub    %ecx,%eax
427778:	e9 5c 01 00 00       	jmp    0x4278d9
42777d:	66 3b f0             	cmp    %ax,%si
427780:	0f 83 42 01 00 00    	jae    0x4278c8
427786:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
42778c:	66 3b f1             	cmp    %cx,%si
42778f:	0f 82 49 01 00 00    	jb     0x4278de
427795:	66 3b 75 f0          	cmp    -0x10(%ebp),%si
427799:	72 d8                	jb     0x427773
42779b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
42779e:	66 3b f1             	cmp    %cx,%si
4277a1:	0f 82 37 01 00 00    	jb     0x4278de
4277a7:	66 3b 75 e8          	cmp    -0x18(%ebp),%si
4277ab:	72 c6                	jb     0x427773
4277ad:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4277b0:	66 3b f1             	cmp    %cx,%si
4277b3:	0f 82 25 01 00 00    	jb     0x4278de
4277b9:	66 3b 75 e0          	cmp    -0x20(%ebp),%si
4277bd:	72 b4                	jb     0x427773
4277bf:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4277c2:	66 3b f1             	cmp    %cx,%si
4277c5:	0f 82 13 01 00 00    	jb     0x4278de
4277cb:	66 3b 75 d8          	cmp    -0x28(%ebp),%si
4277cf:	72 a2                	jb     0x427773
4277d1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4277d4:	66 3b f1             	cmp    %cx,%si
4277d7:	0f 82 01 01 00 00    	jb     0x4278de
4277dd:	66 3b 75 d0          	cmp    -0x30(%ebp),%si
4277e1:	72 90                	jb     0x427773
4277e3:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4277e6:	66 3b f1             	cmp    %cx,%si
4277e9:	0f 82 ef 00 00 00    	jb     0x4278de
4277ef:	66 3b 75 c8          	cmp    -0x38(%ebp),%si
4277f3:	0f 82 7a ff ff ff    	jb     0x427773
4277f9:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4277fc:	66 3b f1             	cmp    %cx,%si
4277ff:	0f 82 d9 00 00 00    	jb     0x4278de
427805:	66 3b 75 c0          	cmp    -0x40(%ebp),%si
427809:	0f 82 64 ff ff ff    	jb     0x427773
42780f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
427812:	66 3b f1             	cmp    %cx,%si
427815:	0f 82 c3 00 00 00    	jb     0x4278de
42781b:	66 3b 75 b8          	cmp    -0x48(%ebp),%si
42781f:	0f 82 4e ff ff ff    	jb     0x427773
427825:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
427828:	66 3b f1             	cmp    %cx,%si
42782b:	0f 82 ad 00 00 00    	jb     0x4278de
427831:	66 3b 75 b0          	cmp    -0x50(%ebp),%si
427835:	0f 82 38 ff ff ff    	jb     0x427773
42783b:	8b 4d ac             	mov    -0x54(%ebp),%ecx
42783e:	66 3b f1             	cmp    %cx,%si
427841:	0f 82 97 00 00 00    	jb     0x4278de
427847:	66 3b 75 a8          	cmp    -0x58(%ebp),%si
42784b:	0f 82 22 ff ff ff    	jb     0x427773
427851:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
427854:	66 3b f1             	cmp    %cx,%si
427857:	0f 82 81 00 00 00    	jb     0x4278de
42785d:	66 3b 75 a0          	cmp    -0x60(%ebp),%si
427861:	0f 82 0c ff ff ff    	jb     0x427773
427867:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42786a:	66 3b f1             	cmp    %cx,%si
42786d:	72 6f                	jb     0x4278de
42786f:	66 3b 75 98          	cmp    -0x68(%ebp),%si
427873:	0f 82 fa fe ff ff    	jb     0x427773
427879:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
42787c:	66 3b f1             	cmp    %cx,%si
42787f:	72 5d                	jb     0x4278de
427881:	66 3b 75 90          	cmp    -0x70(%ebp),%si
427885:	0f 82 e8 fe ff ff    	jb     0x427773
42788b:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
42788e:	66 3b f1             	cmp    %cx,%si
427891:	72 4b                	jb     0x4278de
427893:	66 3b 75 88          	cmp    -0x78(%ebp),%si
427897:	0f 82 d6 fe ff ff    	jb     0x427773
42789d:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
4278a0:	66 3b f1             	cmp    %cx,%si
4278a3:	72 39                	jb     0x4278de
4278a5:	66 3b 75 80          	cmp    -0x80(%ebp),%si
4278a9:	0f 82 c4 fe ff ff    	jb     0x427773
4278af:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
4278b5:	66 3b f1             	cmp    %cx,%si
4278b8:	72 24                	jb     0x4278de
4278ba:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
4278c1:	73 1b                	jae    0x4278de
4278c3:	e9 ab fe ff ff       	jmp    0x427773
4278c8:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
4278cf:	73 0d                	jae    0x4278de
4278d1:	0f b7 c6             	movzwl %si,%eax
4278d4:	2d 10 ff 00 00       	sub    $0xff10,%eax
4278d9:	83 f8 ff             	cmp    $0xffffffff,%eax
4278dc:	75 25                	jne    0x427903
4278de:	0f b7 c6             	movzwl %si,%eax
4278e1:	83 f8 41             	cmp    $0x41,%eax
4278e4:	72 0a                	jb     0x4278f0
4278e6:	83 f8 5a             	cmp    $0x5a,%eax
4278e9:	77 05                	ja     0x4278f0
4278eb:	8d 48 9f             	lea    -0x61(%eax),%ecx
4278ee:	eb 08                	jmp    0x4278f8
4278f0:	8d 48 9f             	lea    -0x61(%eax),%ecx
4278f3:	83 f9 19             	cmp    $0x19,%ecx
4278f6:	77 4c                	ja     0x427944
4278f8:	83 f9 19             	cmp    $0x19,%ecx
4278fb:	77 03                	ja     0x427900
4278fd:	83 c0 e0             	add    $0xffffffe0,%eax
427900:	83 c0 c9             	add    $0xffffffc9,%eax
427903:	85 c0                	test   %eax,%eax
427905:	75 3d                	jne    0x427944
427907:	0f b7 02             	movzwl (%edx),%eax
42790a:	8d 4a 02             	lea    0x2(%edx),%ecx
42790d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
427910:	83 f8 78             	cmp    $0x78,%eax
427913:	74 1a                	je     0x42792f
427915:	83 f8 58             	cmp    $0x58,%eax
427918:	74 15                	je     0x42792f
42791a:	85 ff                	test   %edi,%edi
42791c:	75 06                	jne    0x427924
42791e:	6a 08                	push   $0x8
427920:	5f                   	pop    %edi
427921:	89 7d 14             	mov    %edi,0x14(%ebp)
427924:	50                   	push   %eax
427925:	8d 4d 0c             	lea    0xc(%ebp),%ecx
427928:	e8 43 cc ff ff       	call   0x424570
42792d:	eb 1f                	jmp    0x42794e
42792f:	85 ff                	test   %edi,%edi
427931:	75 06                	jne    0x427939
427933:	6a 10                	push   $0x10
427935:	5f                   	pop    %edi
427936:	89 7d 14             	mov    %edi,0x14(%ebp)
427939:	0f b7 31             	movzwl (%ecx),%esi
42793c:	83 c1 02             	add    $0x2,%ecx
42793f:	89 4d 0c             	mov    %ecx,0xc(%ebp)
427942:	eb 0a                	jmp    0x42794e
427944:	85 ff                	test   %edi,%edi
427946:	75 06                	jne    0x42794e
427948:	6a 0a                	push   $0xa
42794a:	5f                   	pop    %edi
42794b:	89 7d 14             	mov    %edi,0x14(%ebp)
42794e:	8b c7                	mov    %edi,%eax
427950:	99                   	cltd
427951:	8b ca                	mov    %edx,%ecx
427953:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
427959:	51                   	push   %ecx
42795a:	50                   	push   %eax
42795b:	6a ff                	push   $0xffffffff
42795d:	6a ff                	push   $0xffffffff
42795f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
427962:	e8 59 4b ff ff       	call   0x41c4c0
427967:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
42796d:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
427973:	6a 30                	push   $0x30
427975:	58                   	pop    %eax
427976:	66 3b f0             	cmp    %ax,%si
427979:	0f 82 5a 01 00 00    	jb     0x427ad9
42797f:	6a 3a                	push   $0x3a
427981:	59                   	pop    %ecx
427982:	66 3b f1             	cmp    %cx,%si
427985:	0f 82 44 01 00 00    	jb     0x427acf
42798b:	b8 10 ff 00 00       	mov    $0xff10,%eax
427990:	66 3b f0             	cmp    %ax,%si
427993:	0f 83 2d 01 00 00    	jae    0x427ac6
427999:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
42799f:	66 3b f0             	cmp    %ax,%si
4279a2:	0f 82 31 01 00 00    	jb     0x427ad9
4279a8:	66 3b 75 f0          	cmp    -0x10(%ebp),%si
4279ac:	0f 82 1d 01 00 00    	jb     0x427acf
4279b2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4279b5:	66 3b f0             	cmp    %ax,%si
4279b8:	0f 82 1b 01 00 00    	jb     0x427ad9
4279be:	66 3b 75 e8          	cmp    -0x18(%ebp),%si
4279c2:	0f 82 07 01 00 00    	jb     0x427acf
4279c8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4279cb:	66 3b f0             	cmp    %ax,%si
4279ce:	0f 82 05 01 00 00    	jb     0x427ad9
4279d4:	66 3b 75 e0          	cmp    -0x20(%ebp),%si
4279d8:	0f 82 f1 00 00 00    	jb     0x427acf
4279de:	8b 45 dc             	mov    -0x24(%ebp),%eax
4279e1:	66 3b f0             	cmp    %ax,%si
4279e4:	0f 82 ef 00 00 00    	jb     0x427ad9
4279ea:	66 3b 75 d8          	cmp    -0x28(%ebp),%si
4279ee:	0f 82 db 00 00 00    	jb     0x427acf
4279f4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4279f7:	66 3b f0             	cmp    %ax,%si
4279fa:	0f 82 d9 00 00 00    	jb     0x427ad9
427a00:	66 3b 75 d0          	cmp    -0x30(%ebp),%si
427a04:	0f 82 c5 00 00 00    	jb     0x427acf
427a0a:	8b 45 cc             	mov    -0x34(%ebp),%eax
427a0d:	66 3b f0             	cmp    %ax,%si
427a10:	0f 82 c3 00 00 00    	jb     0x427ad9
427a16:	66 3b 75 c8          	cmp    -0x38(%ebp),%si
427a1a:	0f 82 af 00 00 00    	jb     0x427acf
427a20:	8b 45 c4             	mov    -0x3c(%ebp),%eax
427a23:	66 3b f0             	cmp    %ax,%si
427a26:	0f 82 ad 00 00 00    	jb     0x427ad9
427a2c:	66 3b 75 c0          	cmp    -0x40(%ebp),%si
427a30:	0f 82 99 00 00 00    	jb     0x427acf
427a36:	8b 45 bc             	mov    -0x44(%ebp),%eax
427a39:	66 3b f0             	cmp    %ax,%si
427a3c:	0f 82 97 00 00 00    	jb     0x427ad9
427a42:	66 3b 75 b8          	cmp    -0x48(%ebp),%si
427a46:	0f 82 83 00 00 00    	jb     0x427acf
427a4c:	8b 45 b4             	mov    -0x4c(%ebp),%eax
427a4f:	66 3b f0             	cmp    %ax,%si
427a52:	0f 82 81 00 00 00    	jb     0x427ad9
427a58:	66 3b 75 b0          	cmp    -0x50(%ebp),%si
427a5c:	72 71                	jb     0x427acf
427a5e:	8b 45 ac             	mov    -0x54(%ebp),%eax
427a61:	66 3b f0             	cmp    %ax,%si
427a64:	72 73                	jb     0x427ad9
427a66:	66 3b 75 a8          	cmp    -0x58(%ebp),%si
427a6a:	72 63                	jb     0x427acf
427a6c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
427a6f:	66 3b f0             	cmp    %ax,%si
427a72:	72 65                	jb     0x427ad9
427a74:	66 3b 75 a0          	cmp    -0x60(%ebp),%si
427a78:	72 55                	jb     0x427acf
427a7a:	8b 45 9c             	mov    -0x64(%ebp),%eax
427a7d:	66 3b f0             	cmp    %ax,%si
427a80:	72 57                	jb     0x427ad9
427a82:	66 3b 75 98          	cmp    -0x68(%ebp),%si
427a86:	72 47                	jb     0x427acf
427a88:	8b 45 94             	mov    -0x6c(%ebp),%eax
427a8b:	66 3b f0             	cmp    %ax,%si
427a8e:	72 49                	jb     0x427ad9
427a90:	66 3b 75 90          	cmp    -0x70(%ebp),%si
427a94:	72 39                	jb     0x427acf
427a96:	8b 45 8c             	mov    -0x74(%ebp),%eax
427a99:	66 3b f0             	cmp    %ax,%si
427a9c:	72 3b                	jb     0x427ad9
427a9e:	66 3b 75 88          	cmp    -0x78(%ebp),%si
427aa2:	72 2b                	jb     0x427acf
427aa4:	8b 45 84             	mov    -0x7c(%ebp),%eax
427aa7:	66 3b f0             	cmp    %ax,%si
427aaa:	72 2d                	jb     0x427ad9
427aac:	66 3b 75 80          	cmp    -0x80(%ebp),%si
427ab0:	72 1d                	jb     0x427acf
427ab2:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
427ab8:	66 3b f0             	cmp    %ax,%si
427abb:	72 1c                	jb     0x427ad9
427abd:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
427ac4:	eb 07                	jmp    0x427acd
427ac6:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
427acd:	73 0a                	jae    0x427ad9
427acf:	0f b7 fe             	movzwl %si,%edi
427ad2:	2b f8                	sub    %eax,%edi
427ad4:	83 ff ff             	cmp    $0xffffffff,%edi
427ad7:	75 2a                	jne    0x427b03
427ad9:	0f b7 fe             	movzwl %si,%edi
427adc:	83 ff 41             	cmp    $0x41,%edi
427adf:	72 0a                	jb     0x427aeb
427ae1:	83 ff 5a             	cmp    $0x5a,%edi
427ae4:	77 05                	ja     0x427aeb
427ae6:	8d 47 9f             	lea    -0x61(%edi),%eax
427ae9:	eb 08                	jmp    0x427af3
427aeb:	8d 47 9f             	lea    -0x61(%edi),%eax
427aee:	83 f8 19             	cmp    $0x19,%eax
427af1:	77 0d                	ja     0x427b00
427af3:	83 f8 19             	cmp    $0x19,%eax
427af6:	77 03                	ja     0x427afb
427af8:	83 c7 e0             	add    $0xffffffe0,%edi
427afb:	83 c7 c9             	add    $0xffffffc9,%edi
427afe:	eb 03                	jmp    0x427b03
427b00:	83 cf ff             	or     $0xffffffff,%edi
427b03:	3b 7d 14             	cmp    0x14(%ebp),%edi
427b06:	73 66                	jae    0x427b6e
427b08:	53                   	push   %ebx
427b09:	ff 75 f8             	push   -0x8(%ebp)
427b0c:	ff 75 f4             	push   -0xc(%ebp)
427b0f:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
427b15:	e8 66 49 ff ff       	call   0x41c480
427b1a:	33 f6                	xor    %esi,%esi
427b1c:	03 f8                	add    %eax,%edi
427b1e:	13 f2                	adc    %edx,%esi
427b20:	3b 9d 68 ff ff ff    	cmp    -0x98(%ebp),%ebx
427b26:	72 12                	jb     0x427b3a
427b28:	77 0b                	ja     0x427b35
427b2a:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
427b30:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
427b33:	76 05                	jbe    0x427b3a
427b35:	33 c9                	xor    %ecx,%ecx
427b37:	41                   	inc    %ecx
427b38:	eb 02                	jmp    0x427b3c
427b3a:	33 c9                	xor    %ecx,%ecx
427b3c:	3b f2                	cmp    %edx,%esi
427b3e:	77 0b                	ja     0x427b4b
427b40:	72 04                	jb     0x427b46
427b42:	3b f8                	cmp    %eax,%edi
427b44:	73 05                	jae    0x427b4b
427b46:	33 c0                	xor    %eax,%eax
427b48:	40                   	inc    %eax
427b49:	eb 02                	jmp    0x427b4d
427b4b:	33 c0                	xor    %eax,%eax
427b4d:	0b c1                	or     %ecx,%eax
427b4f:	89 7d f8             	mov    %edi,-0x8(%ebp)
427b52:	8b 7d 0c             	mov    0xc(%ebp),%edi
427b55:	8b de                	mov    %esi,%ebx
427b57:	c1 e0 02             	shl    $0x2,%eax
427b5a:	83 c8 08             	or     $0x8,%eax
427b5d:	09 45 fc             	or     %eax,-0x4(%ebp)
427b60:	0f b7 37             	movzwl (%edi),%esi
427b63:	83 c7 02             	add    $0x2,%edi
427b66:	89 7d 0c             	mov    %edi,0xc(%ebp)
427b69:	e9 05 fe ff ff       	jmp    0x427973
427b6e:	56                   	push   %esi
427b6f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
427b72:	e8 f9 c9 ff ff       	call   0x424570
427b77:	8b 45 fc             	mov    -0x4(%ebp),%eax
427b7a:	a8 08                	test   $0x8,%al
427b7c:	75 15                	jne    0x427b93
427b7e:	8b 45 10             	mov    0x10(%ebp),%eax
427b81:	85 c0                	test   %eax,%eax
427b83:	74 08                	je     0x427b8d
427b85:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
427b8b:	89 08                	mov    %ecx,(%eax)
427b8d:	33 c0                	xor    %eax,%eax
427b8f:	33 d2                	xor    %edx,%edx
427b91:	eb 78                	jmp    0x427c0b
427b93:	8b 7d f8             	mov    -0x8(%ebp),%edi
427b96:	53                   	push   %ebx
427b97:	57                   	push   %edi
427b98:	50                   	push   %eax
427b99:	e8 9d f3 ff ff       	call   0x426f3b
427b9e:	83 c4 0c             	add    $0xc,%esp
427ba1:	84 c0                	test   %al,%al
427ba3:	74 49                	je     0x427bee
427ba5:	8b 45 08             	mov    0x8(%ebp),%eax
427ba8:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
427bac:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
427bb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
427bb6:	a8 01                	test   $0x1,%al
427bb8:	75 08                	jne    0x427bc2
427bba:	83 cf ff             	or     $0xffffffff,%edi
427bbd:	83 cb ff             	or     $0xffffffff,%ebx
427bc0:	eb 39                	jmp    0x427bfb
427bc2:	8b 4d 10             	mov    0x10(%ebp),%ecx
427bc5:	a8 02                	test   $0x2,%al
427bc7:	74 12                	je     0x427bdb
427bc9:	85 c9                	test   %ecx,%ecx
427bcb:	74 05                	je     0x427bd2
427bcd:	8b 45 0c             	mov    0xc(%ebp),%eax
427bd0:	89 01                	mov    %eax,(%ecx)
427bd2:	33 c0                	xor    %eax,%eax
427bd4:	ba 00 00 00 80       	mov    $0x80000000,%edx
427bd9:	eb 30                	jmp    0x427c0b
427bdb:	85 c9                	test   %ecx,%ecx
427bdd:	74 05                	je     0x427be4
427bdf:	8b 45 0c             	mov    0xc(%ebp),%eax
427be2:	89 01                	mov    %eax,(%ecx)
427be4:	83 c8 ff             	or     $0xffffffff,%eax
427be7:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx