5dc6c8:	8b 55 dc             	mov    -0x24(%ebp),%edx
5dc6cb:	23 c7                	and    %edi,%eax
5dc6cd:	23 d6                	and    %esi,%edx
5dc6cf:	0b c2                	or     %edx,%eax
5dc6d1:	75 07                	jne    0x5dc6da
5dc6d3:	8a c3                	mov    %bl,%al
5dc6d5:	88 5d fe             	mov    %bl,-0x2(%ebp)
5dc6d8:	eb 05                	jmp    0x5dc6df
5dc6da:	b0 01                	mov    $0x1,%al
5dc6dc:	88 45 fe             	mov    %al,-0x2(%ebp)
5dc6df:	84 c9                	test   %cl,%cl
5dc6e1:	75 04                	jne    0x5dc6e7
5dc6e3:	84 c0                	test   %al,%al
5dc6e5:	74 35                	je     0x5dc71c
5dc6e7:	e8 fb fe 00 00       	call   0x5ec5e7
5dc6ec:	85 c0                	test   %eax,%eax
5dc6ee:	74 1b                	je     0x5dc70b
5dc6f0:	3d 00 01 00 00       	cmp    $0x100,%eax
5dc6f5:	74 0f                	je     0x5dc706
5dc6f7:	3d 00 02 00 00       	cmp    $0x200,%eax
5dc6fc:	75 1e                	jne    0x5dc71c
5dc6fe:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc701:	80 f3 01             	xor    $0x1,%bl
5dc704:	eb 16                	jmp    0x5dc71c
5dc706:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc709:	eb 11                	jmp    0x5dc71c
5dc70b:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5dc70e:	74 0c                	je     0x5dc71c
5dc710:	38 5d fe             	cmp    %bl,-0x2(%ebp)
5dc713:	75 05                	jne    0x5dc71a
5dc715:	38 5d fd             	cmp    %bl,-0x3(%ebp)
5dc718:	74 02                	je     0x5dc71c
5dc71a:	b3 01                	mov    $0x1,%bl
5dc71c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5dc71f:	8b c7                	mov    %edi,%eax
5dc721:	8b d6                	mov    %esi,%edx
5dc723:	e8 a8 57 ff ff       	call   0x5d1ed0
5dc728:	8b f8                	mov    %eax,%edi
5dc72a:	8b f2                	mov    %edx,%esi
5dc72c:	0f b6 c3             	movzbl %bl,%eax
5dc72f:	99                   	cltd
5dc730:	03 f8                	add    %eax,%edi
5dc732:	8b c7                	mov    %edi,%eax
5dc734:	13 f2                	adc    %edx,%esi
5dc736:	0b c6                	or     %esi,%eax
5dc738:	74 29                	je     0x5dc763
5dc73a:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5dc73d:	e8 d2 21 00 00       	call   0x5de914
5dc742:	3b f2                	cmp    %edx,%esi
5dc744:	0f 82 74 01 00 00    	jb     0x5dc8be
5dc74a:	77 08                	ja     0x5dc754
5dc74c:	3b f8                	cmp    %eax,%edi
5dc74e:	0f 86 6a 01 00 00    	jbe    0x5dc8be
5dc754:	8b 5d 10             	mov    0x10(%ebp),%ebx
5dc757:	2b 5d ec             	sub    -0x14(%ebp),%ebx
5dc75a:	2b 5d f4             	sub    -0xc(%ebp),%ebx
5dc75d:	4b                   	dec    %ebx
5dc75e:	e9 5e 01 00 00       	jmp    0x5dc8c1
5dc763:	ff 75 1c             	push   0x1c(%ebp)
5dc766:	ff 75 14             	push   0x14(%ebp)
5dc769:	e8 25 03 00 00       	call   0x5dca93
5dc76e:	59                   	pop    %ecx
5dc76f:	59                   	pop    %ecx
5dc770:	6a 02                	push   $0x2
5dc772:	e9 2f 01 00 00       	jmp    0x5dc8a6
5dc777:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5dc77a:	e9 32 01 00 00       	jmp    0x5dc8b1
5dc77f:	85 d2                	test   %edx,%edx
5dc781:	0f 89 25 01 00 00    	jns    0x5dc8ac
5dc787:	f7 da                	neg    %edx
5dc789:	89 55 f4             	mov    %edx,-0xc(%ebp)
5dc78c:	83 fa 40             	cmp    $0x40,%edx
5dc78f:	72 09                	jb     0x5dc79a
5dc791:	8b fb                	mov    %ebx,%edi
5dc793:	8b f3                	mov    %ebx,%esi
5dc795:	e9 c9 00 00 00       	jmp    0x5dc863
5dc79a:	33 c0                	xor    %eax,%eax
5dc79c:	8d 4a ff             	lea    -0x1(%edx),%ecx
5dc79f:	40                   	inc    %eax
5dc7a0:	33 d2                	xor    %edx,%edx
5dc7a2:	e8 09 54 ff ff       	call   0x5d1bb0
5dc7a7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5dc7aa:	89 45 dc             	mov    %eax,-0x24(%ebp)
5dc7ad:	83 c0 ff             	add    $0xffffffff,%eax
5dc7b0:	89 55 e0             	mov    %edx,-0x20(%ebp)
5dc7b3:	83 d2 ff             	adc    $0xffffffff,%edx
5dc7b6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5dc7b9:	33 c0                	xor    %eax,%eax
5dc7bb:	89 55 e8             	mov    %edx,-0x18(%ebp)
5dc7be:	40                   	inc    %eax
5dc7bf:	33 d2                	xor    %edx,%edx
5dc7c1:	e8 ea 53 ff ff       	call   0x5d1bb0
5dc7c6:	23 c7                	and    %edi,%eax
5dc7c8:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
5dc7cc:	23 d6                	and    %esi,%edx
5dc7ce:	0b c2                	or     %edx,%eax
5dc7d0:	75 03                	jne    0x5dc7d5
5dc7d2:	88 5d ff             	mov    %bl,-0x1(%ebp)
5dc7d5:	8b 45 dc             	mov    -0x24(%ebp),%eax
5dc7d8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5dc7db:	23 c7                	and    %edi,%eax
5dc7dd:	23 ce                	and    %esi,%ecx
5dc7df:	0b c1                	or     %ecx,%eax
5dc7e1:	74 07                	je     0x5dc7ea
5dc7e3:	b1 01                	mov    $0x1,%cl
5dc7e5:	88 4d fd             	mov    %cl,-0x3(%ebp)
5dc7e8:	eb 05                	jmp    0x5dc7ef
5dc7ea:	8a cb                	mov    %bl,%cl
5dc7ec:	88 5d fd             	mov    %bl,-0x3(%ebp)
5dc7ef:	38 5d 18             	cmp    %bl,0x18(%ebp)
5dc7f2:	74 15                	je     0x5dc809
5dc7f4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5dc7f7:	8b 55 e8             	mov    -0x18(%ebp),%edx
5dc7fa:	23 c7                	and    %edi,%eax
5dc7fc:	23 d6                	and    %esi,%edx
5dc7fe:	0b c2                	or     %edx,%eax
5dc800:	75 07                	jne    0x5dc809
5dc802:	8a c3                	mov    %bl,%al
5dc804:	88 5d fe             	mov    %bl,-0x2(%ebp)
5dc807:	eb 05                	jmp    0x5dc80e
5dc809:	b0 01                	mov    $0x1,%al
5dc80b:	88 45 fe             	mov    %al,-0x2(%ebp)
5dc80e:	84 c9                	test   %cl,%cl
5dc810:	75 04                	jne    0x5dc816
5dc812:	84 c0                	test   %al,%al
5dc814:	74 35                	je     0x5dc84b
5dc816:	e8 cc fd 00 00       	call   0x5ec5e7
5dc81b:	85 c0                	test   %eax,%eax
5dc81d:	74 1b                	je     0x5dc83a
5dc81f:	3d 00 01 00 00       	cmp    $0x100,%eax
5dc824:	74 0f                	je     0x5dc835
5dc826:	3d 00 02 00 00       	cmp    $0x200,%eax
5dc82b:	75 1e                	jne    0x5dc84b
5dc82d:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc830:	80 f3 01             	xor    $0x1,%bl
5dc833:	eb 16                	jmp    0x5dc84b
5dc835:	8a 5d 14             	mov    0x14(%ebp),%bl
5dc838:	eb 11                	jmp    0x5dc84b
5dc83a:	38 5d fd             	cmp    %bl,-0x3(%ebp)
5dc83d:	74 0c                	je     0x5dc84b
5dc83f:	38 5d fe             	cmp    %bl,-0x2(%ebp)
5dc842:	75 05                	jne    0x5dc849
5dc844:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5dc847:	74 02                	je     0x5dc84b
5dc849:	b3 01                	mov    $0x1,%bl
5dc84b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5dc84e:	8b c7                	mov    %edi,%eax
5dc850:	8b d6                	mov    %esi,%edx
5dc852:	e8 79 56 ff ff       	call   0x5d1ed0
5dc857:	8b f8                	mov    %eax,%edi
5dc859:	8b f2                	mov    %edx,%esi
5dc85b:	0f b6 c3             	movzbl %bl,%eax
5dc85e:	99                   	cltd
5dc85f:	03 f8                	add    %eax,%edi
5dc861:	13 f2                	adc    %edx,%esi
5dc863:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5dc866:	e8 5b 26 00 00       	call   0x5deec6
5dc86b:	3b f2                	cmp    %edx,%esi
5dc86d:	72 4f                	jb     0x5dc8be
5dc86f:	77 04                	ja     0x5dc875
5dc871:	3b f8                	cmp    %eax,%edi
5dc873:	76 49                	jbe    0x5dc8be
5dc875:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5dc878:	33 c0                	xor    %eax,%eax
5dc87a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5dc87d:	0f ac f7 01          	shrd   $0x1,%esi,%edi
5dc881:	d1 ee                	shr    $1,%esi
5dc883:	43                   	inc    %ebx
5dc884:	38 41 04             	cmp    %al,0x4(%ecx)
5dc887:	0f 94 c0             	sete   %al
5dc88a:	48                   	dec    %eax
5dc88b:	25 80 03 00 00       	and    $0x380,%eax
5dc890:	83 c0 7f             	add    $0x7f,%eax
5dc893:	3b d8                	cmp    %eax,%ebx
5dc895:	7e 2a                	jle    0x5dc8c1
5dc897:	8b c1                	mov    %ecx,%eax
5dc899:	50                   	push   %eax
5dc89a:	ff 75 14             	push   0x14(%ebp)
5dc89d:	e8 c6 fc ff ff       	call   0x5dc568
5dc8a2:	59                   	pop    %ecx
5dc8a3:	59                   	pop    %ecx
5dc8a4:	6a 03                	push   $0x3
5dc8a6:	58                   	pop    %eax
5dc8a7:	5f                   	pop    %edi
5dc8a8:	5e                   	pop    %esi
5dc8a9:	5b                   	pop    %ebx
5dc8aa:	c9                   	leave
5dc8ab:	c3                   	ret
5dc8ac:	7e 10                	jle    0x5dc8be
5dc8ae:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5dc8b1:	8b d6                	mov    %esi,%edx
5dc8b3:	8b c7                	mov    %edi,%eax
5dc8b5:	e8 f6 52 ff ff       	call   0x5d1bb0
5dc8ba:	8b f2                	mov    %edx,%esi
5dc8bc:	8b f8                	mov    %eax,%edi
5dc8be:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5dc8c1:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5dc8c4:	e8 4b 20 00 00       	call   0x5de914
5dc8c9:	23 f8                	and    %eax,%edi
5dc8cb:	23 f2                	and    %edx,%esi
5dc8cd:	8b 45 1c             	mov    0x1c(%ebp),%eax
5dc8d0:	8b c8                	mov    %eax,%ecx
5dc8d2:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
5dc8d6:	74 13                	je     0x5dc8eb
5dc8d8:	e8 41 fc ff ff       	call   0x5dc51e
5dc8dd:	50                   	push   %eax
5dc8de:	56                   	push   %esi
5dc8df:	57                   	push   %edi
5dc8e0:	53                   	push   %ebx
5dc8e1:	ff 75 14             	push   0x14(%ebp)
5dc8e4:	e8 3c e6 ff ff       	call   0x5daf25
5dc8e9:	eb 11                	jmp    0x5dc8fc
5dc8eb:	e8 53 fc ff ff       	call   0x5dc543
5dc8f0:	50                   	push   %eax
5dc8f1:	56                   	push   %esi
5dc8f2:	57                   	push   %edi
5dc8f3:	53                   	push   %ebx
5dc8f4:	ff 75 14             	push   0x14(%ebp)
5dc8f7:	e8 f9 e5 ff ff       	call   0x5daef5
5dc8fc:	83 c4 14             	add    $0x14,%esp
5dc8ff:	eb a6                	jmp    0x5dc8a7
5dc901:	8b ff                	mov    %edi,%edi
5dc903:	55                   	push   %ebp
5dc904:	8b ec                	mov    %esp,%ebp
5dc906:	83 ec 1c             	sub    $0x1c,%esp
5dc909:	33 d2                	xor    %edx,%edx
5dc90b:	53                   	push   %ebx
5dc90c:	8b 5d 18             	mov    0x18(%ebp),%ebx
5dc90f:	56                   	push   %esi
5dc910:	57                   	push   %edi
5dc911:	8b 7d 0c             	mov    0xc(%ebp),%edi
5dc914:	38 53 04             	cmp    %dl,0x4(%ebx)
5dc917:	0f 94 c2             	sete   %dl
5dc91a:	4a                   	dec    %edx
5dc91b:	83 e2 1d             	and    $0x1d,%edx
5dc91e:	83 c2 17             	add    $0x17,%edx
5dc921:	83 ff 40             	cmp    $0x40,%edi
5dc924:	77 35                	ja     0x5dc95b
5dc926:	8b 75 08             	mov    0x8(%ebp),%esi
5dc929:	83 3e 00             	cmpl   $0x0,(%esi)
5dc92c:	76 0d                	jbe    0x5dc93b
5dc92e:	83 3e 01             	cmpl   $0x1,(%esi)
5dc931:	8b 4e 04             	mov    0x4(%esi),%ecx
5dc934:	76 07                	jbe    0x5dc93d
5dc936:	8b 76 08             	mov    0x8(%esi),%esi
5dc939:	eb 04                	jmp    0x5dc93f
5dc93b:	33 c9                	xor    %ecx,%ecx
5dc93d:	33 f6                	xor    %esi,%esi
5dc93f:	8a 45 14             	mov    0x14(%ebp),%al
5dc942:	34 01                	xor    $0x1,%al
5dc944:	53                   	push   %ebx
5dc945:	0f b6 c0             	movzbl %al,%eax
5dc948:	50                   	push   %eax
5dc949:	ff 75 10             	push   0x10(%ebp)
5dc94c:	33 c0                	xor    %eax,%eax
5dc94e:	03 c1                	add    %ecx,%eax
5dc950:	52                   	push   %edx
5dc951:	83 d6 00             	adc    $0x0,%esi
5dc954:	56                   	push   %esi
5dc955:	50                   	push   %eax
5dc956:	e9 2b 01 00 00       	jmp    0x5dca86
5dc95b:	8b c7                	mov    %edi,%eax
5dc95d:	c1 ef 05             	shr    $0x5,%edi
5dc960:	83 e0 1f             	and    $0x1f,%eax
5dc963:	89 45 f0             	mov    %eax,-0x10(%ebp)
5dc966:	8d 77 fe             	lea    -0x2(%edi),%esi
5dc969:	8b c6                	mov    %esi,%eax
5dc96b:	c1 e0 05             	shl    $0x5,%eax
5dc96e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
5dc972:	89 45 f8             	mov    %eax,-0x8(%ebp)
5dc975:	8b 45 08             	mov    0x8(%ebp),%eax
5dc978:	8b 4c b0 04          	mov    0x4(%eax,%esi,4),%ecx
5dc97c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5dc97f:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
5dc982:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5dc985:	75 4a                	jne    0x5dc9d1
5dc987:	03 55 f8             	add    -0x8(%ebp),%edx
5dc98a:	33 ff                	xor    %edi,%edi
5dc98c:	03 7c b0 04          	add    0x4(%eax,%esi,4),%edi
5dc990:	89 55 e8             	mov    %edx,-0x18(%ebp)
5dc993:	83 d1 00             	adc    $0x0,%ecx
5dc996:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5dc999:	8a 4d 14             	mov    0x14(%ebp),%cl
5dc99c:	80 f1 01             	xor    $0x1,%cl
5dc99f:	88 4d f0             	mov    %cl,-0x10(%ebp)
5dc9a2:	85 f6                	test   %esi,%esi
5dc9a4:	74 18                	je     0x5dc9be
5dc9a6:	8d 50 04             	lea    0x4(%eax),%edx
5dc9a9:	83 3a 00             	cmpl   $0x0,(%edx)
5dc9ac:	8d 52 04             	lea    0x4(%edx),%edx
5dc9af:	0f 95 c0             	setne  %al
5dc9b2:	fe c8                	dec    %al
5dc9b4:	22 c8                	and    %al,%cl
5dc9b6:	83 ee 01             	sub    $0x1,%esi
5dc9b9:	75 ee                	jne    0x5dc9a9
5dc9bb:	88 4d f0             	mov    %cl,-0x10(%ebp)
5dc9be:	53                   	push   %ebx
5dc9bf:	ff 75 f0             	push   -0x10(%ebp)
5dc9c2:	ff 75 10             	push   0x10(%ebp)
5dc9c5:	ff 75 e8             	push   -0x18(%ebp)
5dc9c8:	ff 75 f4             	push   -0xc(%ebp)
5dc9cb:	57                   	push   %edi
5dc9cc:	e9 b5 00 00 00       	jmp    0x5dca86
5dc9d1:	8b 45 f0             	mov    -0x10(%ebp),%eax
5dc9d4:	33 db                	xor    %ebx,%ebx
5dc9d6:	8b c8                	mov    %eax,%ecx
5dc9d8:	43                   	inc    %ebx
5dc9d9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5dc9dc:	d3 65 fc             	shll   %cl,-0x4(%ebp)
5dc9df:	ff 4d fc             	decl   -0x4(%ebp)
5dc9e2:	6a 40                	push   $0x40
5dc9e4:	59                   	pop    %ecx
5dc9e5:	2b c8                	sub    %eax,%ecx
5dc9e7:	03 45 f8             	add    -0x8(%ebp),%eax
5dc9ea:	03 c2                	add    %edx,%eax
5dc9ec:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5dc9ef:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5dc9f2:	33 d2                	xor    %edx,%edx
5dc9f4:	8b 45 f4             	mov    -0xc(%ebp),%eax
5dc9f7:	8d 49 e0             	lea    -0x20(%ecx),%ecx
5dc9fa:	e8 b1 51 ff ff       	call   0x5d1bb0
5dc9ff:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5dca02:	89 45 f8             	mov    %eax,-0x8(%ebp)
5dca05:	8b 45 fc             	mov    -0x4(%ebp),%eax
5dca08:	f7 d0                	not    %eax
5dca0a:	89 55 f4             	mov    %edx,-0xc(%ebp)
5dca0d:	23 45 e8             	and    -0x18(%ebp),%eax
5dca10:	33 d2                	xor    %edx,%edx
5dca12:	e8 b9 54 ff ff       	call   0x5d1ed0
5dca17:	01 45 f8             	add    %eax,-0x8(%ebp)
5dca1a:	8b 45 08             	mov    0x8(%ebp),%eax
5dca1d:	11 55 f4             	adc    %edx,-0xc(%ebp)
5dca20:	33 d2                	xor    %edx,%edx
5dca22:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5dca25:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
5dca29:	8b 7d fc             	mov    -0x4(%ebp),%edi
5dca2c:	23 c7                	and    %edi,%eax
5dca2e:	e8 7d 51 ff ff       	call   0x5d1bb0
5dca33:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5dca36:	03 c8                	add    %eax,%ecx
5dca38:	8b 45 f4             	mov    -0xc(%ebp),%eax
5dca3b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5dca3e:	13 c2                	adc    %edx,%eax
5dca40:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5dca44:	89 45 f4             	mov    %eax,-0xc(%ebp)
5dca47:	75 05                	jne    0x5dca4e
5dca49:	85 7d e8             	test   %edi,-0x18(%ebp)
5dca4c:	74 02                	je     0x5dca50
5dca4e:	32 db                	xor    %bl,%bl
5dca50:	88 5d f0             	mov    %bl,-0x10(%ebp)