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)
5dca53:	85 f6                	test   %esi,%esi
5dca55:	74 21                	je     0x5dca78
5dca57:	8b 4d 08             	mov    0x8(%ebp),%ecx
5dca5a:	83 c1 04             	add    $0x4,%ecx
5dca5d:	83 39 00             	cmpl   $0x0,(%ecx)
5dca60:	8d 49 04             	lea    0x4(%ecx),%ecx
5dca63:	0f 95 c0             	setne  %al
5dca66:	fe c8                	dec    %al
5dca68:	22 d8                	and    %al,%bl
5dca6a:	88 5d f0             	mov    %bl,-0x10(%ebp)
5dca6d:	83 ee 01             	sub    $0x1,%esi
5dca70:	75 eb                	jne    0x5dca5d
5dca72:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5dca75:	8b 45 f4             	mov    -0xc(%ebp),%eax
5dca78:	ff 75 18             	push   0x18(%ebp)
5dca7b:	ff 75 f0             	push   -0x10(%ebp)
5dca7e:	ff 75 10             	push   0x10(%ebp)
5dca81:	ff 75 e4             	push   -0x1c(%ebp)
5dca84:	50                   	push   %eax
5dca85:	51                   	push   %ecx
5dca86:	e8 1d fb ff ff       	call   0x5dc5a8
5dca8b:	83 c4 18             	add    $0x18,%esp
5dca8e:	5f                   	pop    %edi
5dca8f:	5e                   	pop    %esi
5dca90:	5b                   	pop    %ebx
5dca91:	c9                   	leave
5dca92:	c3                   	ret
5dca93:	8b ff                	mov    %edi,%edi
5dca95:	55                   	push   %ebp
5dca96:	8b ec                	mov    %esp,%ebp
5dca98:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5dca9b:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5dca9f:	74 17                	je     0x5dcab8
5dcaa1:	e8 78 fa ff ff       	call   0x5dc51e
5dcaa6:	8b c8                	mov    %eax,%ecx
5dcaa8:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5dcaac:	99                   	cltd
5dcaad:	c1 e0 1f             	shl    $0x1f,%eax
5dcab0:	83 21 00             	andl   $0x0,(%ecx)
5dcab3:	89 41 04             	mov    %eax,0x4(%ecx)
5dcab6:	5d                   	pop    %ebp
5dcab7:	c3                   	ret
5dcab8:	e8 86 fa ff ff       	call   0x5dc543
5dcabd:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
5dcac1:	c1 e1 1f             	shl    $0x1f,%ecx
5dcac4:	89 08                	mov    %ecx,(%eax)
5dcac6:	5d                   	pop    %ebp
5dcac7:	c3                   	ret
5dcac8:	8b ff                	mov    %edi,%edi
5dcaca:	55                   	push   %ebp
5dcacb:	8b ec                	mov    %esp,%ebp
5dcacd:	81 ec 2c 0b 00 00    	sub    $0xb2c,%esp
5dcad3:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5dcad8:	33 c5                	xor    %ebp,%eax
5dcada:	89 45 fc             	mov    %eax,-0x4(%ebp)
5dcadd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5dcae0:	33 c0                	xor    %eax,%eax
5dcae2:	8b 55 08             	mov    0x8(%ebp),%edx
5dcae5:	53                   	push   %ebx
5dcae6:	56                   	push   %esi
5dcae7:	38 41 04             	cmp    %al,0x4(%ecx)
5dcaea:	8b 1a                	mov    (%edx),%ebx
5dcaec:	0f 94 c0             	sete   %al
5dcaef:	89 95 b4 f6 ff ff    	mov    %edx,-0x94c(%ebp)
5dcaf5:	48                   	dec    %eax
5dcaf6:	89 8d ac f6 ff ff    	mov    %ecx,-0x954(%ebp)
5dcafc:	83 e0 1d             	and    $0x1d,%eax
5dcaff:	83 c0 19             	add    $0x19,%eax
5dcb02:	89 85 b0 f6 ff ff    	mov    %eax,-0x950(%ebp)
5dcb08:	57                   	push   %edi
5dcb09:	85 db                	test   %ebx,%ebx
5dcb0b:	79 02                	jns    0x5dcb0f
5dcb0d:	33 db                	xor    %ebx,%ebx
5dcb0f:	8b 42 04             	mov    0x4(%edx),%eax
5dcb12:	8b cb                	mov    %ebx,%ecx
5dcb14:	3b d8                	cmp    %eax,%ebx
5dcb16:	72 02                	jb     0x5dcb1a
5dcb18:	8b c8                	mov    %eax,%ecx
5dcb1a:	2b d9                	sub    %ecx,%ebx
5dcb1c:	8d 7a 08             	lea    0x8(%edx),%edi
5dcb1f:	83 c0 08             	add    $0x8,%eax
5dcb22:	89 9d d0 f6 ff ff    	mov    %ebx,-0x930(%ebp)
5dcb28:	83 c1 08             	add    $0x8,%ecx
5dcb2b:	89 bd c4 f6 ff ff    	mov    %edi,-0x93c(%ebp)
5dcb31:	03 ca                	add    %edx,%ecx
5dcb33:	03 c2                	add    %edx,%eax
5dcb35:	89 8d a8 f6 ff ff    	mov    %ecx,-0x958(%ebp)
5dcb3b:	33 db                	xor    %ebx,%ebx
5dcb3d:	89 85 a4 f6 ff ff    	mov    %eax,-0x95c(%ebp)
5dcb43:	33 f6                	xor    %esi,%esi
5dcb45:	2b c1                	sub    %ecx,%eax
5dcb47:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
5dcb4d:	33 c9                	xor    %ecx,%ecx
5dcb4f:	89 85 c0 f6 ff ff    	mov    %eax,-0x940(%ebp)
5dcb55:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
5dcb5b:	89 b5 e0 f6 ff ff    	mov    %esi,-0x920(%ebp)
5dcb61:	3b bd a8 f6 ff ff    	cmp    -0x958(%ebp),%edi
5dcb67:	0f 84 ae 06 00 00    	je     0x5dd21b
5dcb6d:	83 f9 09             	cmp    $0x9,%ecx
5dcb70:	0f 85 04 01 00 00    	jne    0x5dcc7a
5dcb76:	85 db                	test   %ebx,%ebx
5dcb78:	0f 84 86 00 00 00    	je     0x5dcc04
5dcb7e:	33 c9                	xor    %ecx,%ecx
5dcb80:	bf 00 ca 9a 3b       	mov    $0x3b9aca00,%edi
5dcb85:	33 f6                	xor    %esi,%esi
5dcb87:	8b 84 b5 30 fe ff ff 	mov    -0x1d0(%ebp,%esi,4),%eax
5dcb8e:	f7 e7                	mul    %edi
5dcb90:	03 c1                	add    %ecx,%eax
5dcb92:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
5dcb99:	83 d2 00             	adc    $0x0,%edx
5dcb9c:	46                   	inc    %esi
5dcb9d:	8b ca                	mov    %edx,%ecx
5dcb9f:	3b f3                	cmp    %ebx,%esi
5dcba1:	75 e4                	jne    0x5dcb87
5dcba3:	8b bd c4 f6 ff ff    	mov    -0x93c(%ebp),%edi
5dcba9:	85 c9                	test   %ecx,%ecx
5dcbab:	74 4b                	je     0x5dcbf8
5dcbad:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
5dcbb3:	83 f8 73             	cmp    $0x73,%eax
5dcbb6:	73 16                	jae    0x5dcbce
5dcbb8:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
5dcbbf:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5dcbc5:	43                   	inc    %ebx
5dcbc6:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
5dcbcc:	eb 30                	jmp    0x5dcbfe
5dcbce:	33 c0                	xor    %eax,%eax
5dcbd0:	50                   	push   %eax
5dcbd1:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
5dcbd7:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
5dcbdd:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
5dcbe3:	50                   	push   %eax
5dcbe4:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
5dcbea:	68 cc 01 00 00       	push   $0x1cc
5dcbef:	50                   	push   %eax
5dcbf0:	e8 94 2d 00 00       	call   0x5df989
5dcbf5:	83 c4 10             	add    $0x10,%esp
5dcbf8:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5dcbfe:	8b b5 e0 f6 ff ff    	mov    -0x920(%ebp),%esi
5dcc04:	85 f6                	test   %esi,%esi
5dcc06:	74 6e                	je     0x5dcc76
5dcc08:	33 d2                	xor    %edx,%edx
5dcc0a:	85 db                	test   %ebx,%ebx
5dcc0c:	74 1c                	je     0x5dcc2a
5dcc0e:	33 c0                	xor    %eax,%eax
5dcc10:	01 b4 95 30 fe ff ff 	add    %esi,-0x1d0(%ebp,%edx,4)
5dcc17:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5dcc1d:	13 c0                	adc    %eax,%eax
5dcc1f:	42                   	inc    %edx
5dcc20:	8b f0                	mov    %eax,%esi
5dcc22:	3b d3                	cmp    %ebx,%edx
5dcc24:	75 e8                	jne    0x5dcc0e
5dcc26:	85 c0                	test   %eax,%eax
5dcc28:	74 4c                	je     0x5dcc76
5dcc2a:	83 fb 73             	cmp    $0x73,%ebx
5dcc2d:	73 16                	jae    0x5dcc45
5dcc2f:	89 b4 9d 30 fe ff ff 	mov    %esi,-0x1d0(%ebp,%ebx,4)
5dcc36:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5dcc3c:	43                   	inc    %ebx
5dcc3d:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
5dcc43:	eb 31                	jmp    0x5dcc76
5dcc45:	83 a5 ec f6 ff ff 00 	andl   $0x0,-0x914(%ebp)
5dcc4c:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
5dcc52:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
5dcc59:	6a 00                	push   $0x0
5dcc5b:	50                   	push   %eax
5dcc5c:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
5dcc62:	68 cc 01 00 00       	push   $0x1cc
5dcc67:	50                   	push   %eax
5dcc68:	e8 1c 2d 00 00       	call   0x5df989
5dcc6d:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
5dcc73:	83 c4 10             	add    $0x10,%esp
5dcc76:	33 f6                	xor    %esi,%esi
5dcc78:	33 c9                	xor    %ecx,%ecx
5dcc7a:	0f b6 07             	movzbl (%edi),%eax
5dcc7d:	6b f6 0a             	imul   $0xa,%esi,%esi