5d6c83:	32 c0                	xor    %al,%al
5d6c85:	5d                   	pop    %ebp
5d6c86:	c3                   	ret
5d6c87:	81 7d 0c ff ff ff 7f 	cmpl   $0x7fffffff,0xc(%ebp)
5d6c8e:	0f 97 c0             	seta   %al
5d6c91:	5d                   	pop    %ebp
5d6c92:	c3                   	ret
5d6c93:	b0 01                	mov    $0x1,%al
5d6c95:	5d                   	pop    %ebp
5d6c96:	c3                   	ret
5d6c97:	8b ff                	mov    %edi,%edi
5d6c99:	55                   	push   %ebp
5d6c9a:	8b ec                	mov    %esp,%ebp
5d6c9c:	8b 45 14             	mov    0x14(%ebp),%eax
5d6c9f:	48                   	dec    %eax
5d6ca0:	83 e8 01             	sub    $0x1,%eax
5d6ca3:	74 1f                	je     0x5d6cc4
5d6ca5:	83 e8 01             	sub    $0x1,%eax
5d6ca8:	74 16                	je     0x5d6cc0
5d6caa:	83 e8 09             	sub    $0x9,%eax
5d6cad:	74 11                	je     0x5d6cc0
5d6caf:	83 7d 14 0d          	cmpl   $0xd,0x14(%ebp)
5d6cb3:	74 0f                	je     0x5d6cc4
5d6cb5:	8a 45 10             	mov    0x10(%ebp),%al
5d6cb8:	3c 63                	cmp    $0x63,%al
5d6cba:	74 08                	je     0x5d6cc4
5d6cbc:	3c 73                	cmp    $0x73,%al
5d6cbe:	74 04                	je     0x5d6cc4
5d6cc0:	b0 01                	mov    $0x1,%al
5d6cc2:	5d                   	pop    %ebp
5d6cc3:	c3                   	ret
5d6cc4:	32 c0                	xor    %al,%al
5d6cc6:	5d                   	pop    %ebp
5d6cc7:	c3                   	ret
5d6cc8:	8b ff                	mov    %edi,%edi
5d6cca:	55                   	push   %ebp
5d6ccb:	8b ec                	mov    %esp,%ebp
5d6ccd:	8b 45 14             	mov    0x14(%ebp),%eax
5d6cd0:	48                   	dec    %eax
5d6cd1:	83 e8 01             	sub    $0x1,%eax
5d6cd4:	74 3c                	je     0x5d6d12
5d6cd6:	83 e8 01             	sub    $0x1,%eax
5d6cd9:	74 33                	je     0x5d6d0e
5d6cdb:	83 e8 09             	sub    $0x9,%eax
5d6cde:	74 2e                	je     0x5d6d0e
5d6ce0:	83 7d 14 0d          	cmpl   $0xd,0x14(%ebp)
5d6ce4:	74 28                	je     0x5d6d0e
5d6ce6:	8b 45 08             	mov    0x8(%ebp),%eax
5d6ce9:	83 e0 04             	and    $0x4,%eax
5d6cec:	83 c8 00             	or     $0x0,%eax
5d6cef:	6a 01                	push   $0x1
5d6cf1:	58                   	pop    %eax
5d6cf2:	74 04                	je     0x5d6cf8
5d6cf4:	8a c8                	mov    %al,%cl
5d6cf6:	eb 02                	jmp    0x5d6cfa
5d6cf8:	32 c9                	xor    %cl,%cl
5d6cfa:	66 83 7d 10 63       	cmpw   $0x63,0x10(%ebp)
5d6cff:	74 07                	je     0x5d6d08
5d6d01:	66 83 7d 10 73       	cmpw   $0x73,0x10(%ebp)
5d6d06:	75 02                	jne    0x5d6d0a
5d6d08:	32 c0                	xor    %al,%al
5d6d0a:	32 c1                	xor    %cl,%al
5d6d0c:	5d                   	pop    %ebp
5d6d0d:	c3                   	ret
5d6d0e:	b0 01                	mov    $0x1,%al
5d6d10:	5d                   	pop    %ebp
5d6d11:	c3                   	ret
5d6d12:	32 c0                	xor    %al,%al
5d6d14:	5d                   	pop    %ebp
5d6d15:	c3                   	ret
5d6d16:	8b ff                	mov    %edi,%edi
5d6d18:	55                   	push   %ebp
5d6d19:	8b ec                	mov    %esp,%ebp
5d6d1b:	8b 45 08             	mov    0x8(%ebp),%eax
5d6d1e:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d6d21:	8b 55 0c             	mov    0xc(%ebp),%edx
5d6d24:	89 10                	mov    %edx,(%eax)
5d6d26:	89 48 04             	mov    %ecx,0x4(%eax)
5d6d29:	85 c9                	test   %ecx,%ecx
5d6d2b:	74 02                	je     0x5d6d2f
5d6d2d:	89 11                	mov    %edx,(%ecx)
5d6d2f:	5d                   	pop    %ebp
5d6d30:	c3                   	ret
5d6d31:	8b ff                	mov    %edi,%edi
5d6d33:	55                   	push   %ebp
5d6d34:	8b ec                	mov    %esp,%ebp
5d6d36:	83 ec 14             	sub    $0x14,%esp
5d6d39:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d6d3c:	53                   	push   %ebx
5d6d3d:	56                   	push   %esi
5d6d3e:	e8 98 3a 00 00       	call   0x5da7db
5d6d43:	84 c0                	test   %al,%al
5d6d45:	74 2f                	je     0x5d6d76
5d6d47:	8b 75 14             	mov    0x14(%ebp),%esi
5d6d4a:	85 f6                	test   %esi,%esi
5d6d4c:	74 3d                	je     0x5d6d8b
5d6d4e:	83 fe 02             	cmp    $0x2,%esi
5d6d51:	7c 05                	jl     0x5d6d58
5d6d53:	83 fe 24             	cmp    $0x24,%esi
5d6d56:	7e 33                	jle    0x5d6d8b
5d6d58:	8b 45 08             	mov    0x8(%ebp),%eax
5d6d5b:	50                   	push   %eax
5d6d5c:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5d6d60:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5d6d67:	33 c0                	xor    %eax,%eax
5d6d69:	50                   	push   %eax
5d6d6a:	50                   	push   %eax
5d6d6b:	50                   	push   %eax
5d6d6c:	50                   	push   %eax
5d6d6d:	50                   	push   %eax
5d6d6e:	e8 f0 f3 ff ff       	call   0x5d6163
5d6d73:	83 c4 18             	add    $0x18,%esp
5d6d76:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d6d79:	85 c9                	test   %ecx,%ecx
5d6d7b:	0f 84 52 01 00 00    	je     0x5d6ed3
5d6d81:	8b 45 0c             	mov    0xc(%ebp),%eax
5d6d84:	89 01                	mov    %eax,(%ecx)
5d6d86:	e9 48 01 00 00       	jmp    0x5d6ed3
5d6d8b:	8b 45 0c             	mov    0xc(%ebp),%eax
5d6d8e:	33 c9                	xor    %ecx,%ecx
5d6d90:	57                   	push   %edi
5d6d91:	89 45 ec             	mov    %eax,-0x14(%ebp)
5d6d94:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5d6d97:	8a 18                	mov    (%eax),%bl
5d6d99:	8d 78 01             	lea    0x1(%eax),%edi
5d6d9c:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
5d6da0:	88 5d fc             	mov    %bl,-0x4(%ebp)
5d6da3:	89 7d 0c             	mov    %edi,0xc(%ebp)
5d6da6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5d6da9:	80 fb 2d             	cmp    $0x2d,%bl
5d6dac:	75 08                	jne    0x5d6db6
5d6dae:	83 c8 02             	or     $0x2,%eax
5d6db1:	89 45 f8             	mov    %eax,-0x8(%ebp)
5d6db4:	eb 05                	jmp    0x5d6dbb
5d6db6:	80 fb 2b             	cmp    $0x2b,%bl
5d6db9:	75 09                	jne    0x5d6dc4
5d6dbb:	8a 1f                	mov    (%edi),%bl
5d6dbd:	47                   	inc    %edi
5d6dbe:	88 5d fc             	mov    %bl,-0x4(%ebp)
5d6dc1:	89 7d 0c             	mov    %edi,0xc(%ebp)
5d6dc4:	85 f6                	test   %esi,%esi
5d6dc6:	74 05                	je     0x5d6dcd
5d6dc8:	83 fe 10             	cmp    $0x10,%esi
5d6dcb:	75 75                	jne    0x5d6e42
5d6dcd:	8a c3                	mov    %bl,%al
5d6dcf:	2c 30                	sub    $0x30,%al
5d6dd1:	3c 09                	cmp    $0x9,%al
5d6dd3:	77 08                	ja     0x5d6ddd
5d6dd5:	0f be c3             	movsbl %bl,%eax
5d6dd8:	83 c0 d0             	add    $0xffffffd0,%eax
5d6ddb:	eb 1e                	jmp    0x5d6dfb
5d6ddd:	8a c3                	mov    %bl,%al
5d6ddf:	2c 61                	sub    $0x61,%al
5d6de1:	3c 19                	cmp    $0x19,%al
5d6de3:	77 08                	ja     0x5d6ded
5d6de5:	0f be c3             	movsbl %bl,%eax
5d6de8:	83 c0 a9             	add    $0xffffffa9,%eax
5d6deb:	eb 0e                	jmp    0x5d6dfb
5d6ded:	8a c3                	mov    %bl,%al
5d6def:	2c 41                	sub    $0x41,%al
5d6df1:	3c 19                	cmp    $0x19,%al
5d6df3:	77 46                	ja     0x5d6e3b
5d6df5:	0f be c3             	movsbl %bl,%eax
5d6df8:	83 c0 c9             	add    $0xffffffc9,%eax
5d6dfb:	85 c0                	test   %eax,%eax
5d6dfd:	75 3c                	jne    0x5d6e3b
5d6dff:	8a 07                	mov    (%edi),%al
5d6e01:	47                   	inc    %edi
5d6e02:	88 45 f0             	mov    %al,-0x10(%ebp)
5d6e05:	89 7d 0c             	mov    %edi,0xc(%ebp)
5d6e08:	3c 78                	cmp    $0x78,%al
5d6e0a:	74 1d                	je     0x5d6e29
5d6e0c:	3c 58                	cmp    $0x58,%al
5d6e0e:	74 19                	je     0x5d6e29
5d6e10:	85 f6                	test   %esi,%esi
5d6e12:	75 03                	jne    0x5d6e17
5d6e14:	6a 08                	push   $0x8
5d6e16:	5e                   	pop    %esi
5d6e17:	ff 75 f0             	push   -0x10(%ebp)
5d6e1a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d6e1d:	e8 05 39 00 00       	call   0x5da727
5d6e22:	8b 7d 0c             	mov    0xc(%ebp),%edi
5d6e25:	33 c9                	xor    %ecx,%ecx
5d6e27:	eb 19                	jmp    0x5d6e42
5d6e29:	85 f6                	test   %esi,%esi
5d6e2b:	75 03                	jne    0x5d6e30
5d6e2d:	6a 10                	push   $0x10
5d6e2f:	5e                   	pop    %esi
5d6e30:	8a 1f                	mov    (%edi),%bl
5d6e32:	47                   	inc    %edi
5d6e33:	88 5d fc             	mov    %bl,-0x4(%ebp)
5d6e36:	89 7d 0c             	mov    %edi,0xc(%ebp)
5d6e39:	eb 07                	jmp    0x5d6e42
5d6e3b:	85 f6                	test   %esi,%esi
5d6e3d:	75 03                	jne    0x5d6e42
5d6e3f:	6a 0a                	push   $0xa
5d6e41:	5e                   	pop    %esi
5d6e42:	83 c8 ff             	or     $0xffffffff,%eax
5d6e45:	33 d2                	xor    %edx,%edx
5d6e47:	f7 f6                	div    %esi
5d6e49:	89 45 f0             	mov    %eax,-0x10(%ebp)
5d6e4c:	8a c3                	mov    %bl,%al
5d6e4e:	2c 30                	sub    $0x30,%al
5d6e50:	3c 09                	cmp    $0x9,%al
5d6e52:	77 08                	ja     0x5d6e5c
5d6e54:	0f be d3             	movsbl %bl,%edx
5d6e57:	83 c2 d0             	add    $0xffffffd0,%edx
5d6e5a:	eb 23                	jmp    0x5d6e7f
5d6e5c:	8a c3                	mov    %bl,%al
5d6e5e:	2c 61                	sub    $0x61,%al
5d6e60:	3c 19                	cmp    $0x19,%al
5d6e62:	77 08                	ja     0x5d6e6c
5d6e64:	0f be d3             	movsbl %bl,%edx
5d6e67:	83 c2 a9             	add    $0xffffffa9,%edx
5d6e6a:	eb 13                	jmp    0x5d6e7f
5d6e6c:	8a c3                	mov    %bl,%al
5d6e6e:	2c 41                	sub    $0x41,%al
5d6e70:	3c 19                	cmp    $0x19,%al
5d6e72:	77 08                	ja     0x5d6e7c
5d6e74:	0f be d3             	movsbl %bl,%edx
5d6e77:	83 c2 c9             	add    $0xffffffc9,%edx
5d6e7a:	eb 03                	jmp    0x5d6e7f
5d6e7c:	83 ca ff             	or     $0xffffffff,%edx
5d6e7f:	3b d6                	cmp    %esi,%edx
5d6e81:	73 30                	jae    0x5d6eb3
5d6e83:	8b 45 f0             	mov    -0x10(%ebp),%eax
5d6e86:	0f af ce             	imul   %esi,%ecx
5d6e89:	8a 1f                	mov    (%edi),%bl
5d6e8b:	88 5d fc             	mov    %bl,-0x4(%ebp)
5d6e8e:	03 d1                	add    %ecx,%edx
5d6e90:	3b d1                	cmp    %ecx,%edx
5d6e92:	1b c9                	sbb    %ecx,%ecx
5d6e94:	f7 d9                	neg    %ecx
5d6e96:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5d6e99:	89 55 f4             	mov    %edx,-0xc(%ebp)
5d6e9c:	1b c0                	sbb    %eax,%eax
5d6e9e:	f7 d8                	neg    %eax
5d6ea0:	0b c8                	or     %eax,%ecx
5d6ea2:	c1 e1 02             	shl    $0x2,%ecx
5d6ea5:	83 c9 08             	or     $0x8,%ecx
5d6ea8:	09 4d f8             	or     %ecx,-0x8(%ebp)
5d6eab:	47                   	inc    %edi
5d6eac:	8b ca                	mov    %edx,%ecx
5d6eae:	89 7d 0c             	mov    %edi,0xc(%ebp)
5d6eb1:	eb 99                	jmp    0x5d6e4c
5d6eb3:	ff 75 fc             	push   -0x4(%ebp)
5d6eb6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d6eb9:	e8 69 38 00 00       	call   0x5da727
5d6ebe:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5d6ec1:	5f                   	pop    %edi
5d6ec2:	f6 c3 08             	test   $0x8,%bl
5d6ec5:	75 10                	jne    0x5d6ed7
5d6ec7:	8b 45 10             	mov    0x10(%ebp),%eax
5d6eca:	85 c0                	test   %eax,%eax
5d6ecc:	74 05                	je     0x5d6ed3
5d6ece:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5d6ed1:	89 08                	mov    %ecx,(%eax)
5d6ed3:	33 c0                	xor    %eax,%eax
5d6ed5:	eb 65                	jmp    0x5d6f3c
5d6ed7:	8b 75 f4             	mov    -0xc(%ebp),%esi
5d6eda:	56                   	push   %esi
5d6edb:	53                   	push   %ebx
5d6edc:	e8 82 fd ff ff       	call   0x5d6c63
5d6ee1:	59                   	pop    %ecx
5d6ee2:	59                   	pop    %ecx
5d6ee3:	84 c0                	test   %al,%al
5d6ee5:	74 40                	je     0x5d6f27
5d6ee7:	8b 45 08             	mov    0x8(%ebp),%eax
5d6eea:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5d6eee:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
5d6ef5:	f6 c3 01             	test   $0x1,%bl
5d6ef8:	75 05                	jne    0x5d6eff
5d6efa:	83 ce ff             	or     $0xffffffff,%esi
5d6efd:	eb 2f                	jmp    0x5d6f2e
5d6eff:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d6f02:	f6 c3 02             	test   $0x2,%bl
5d6f05:	74 10                	je     0x5d6f17
5d6f07:	85 c9                	test   %ecx,%ecx
5d6f09:	74 05                	je     0x5d6f10
5d6f0b:	8b 45 0c             	mov    0xc(%ebp),%eax
5d6f0e:	89 01                	mov    %eax,(%ecx)
5d6f10:	b8 00 00 00 80       	mov    $0x80000000,%eax
5d6f15:	eb 25                	jmp    0x5d6f3c
5d6f17:	85 c9                	test   %ecx,%ecx
5d6f19:	74 05                	je     0x5d6f20
5d6f1b:	8b 45 0c             	mov    0xc(%ebp),%eax
5d6f1e:	89 01                	mov    %eax,(%ecx)
5d6f20:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5d6f25:	eb 15                	jmp    0x5d6f3c
5d6f27:	f6 c3 02             	test   $0x2,%bl
5d6f2a:	74 02                	je     0x5d6f2e
5d6f2c:	f7 de                	neg    %esi
5d6f2e:	8b 55 10             	mov    0x10(%ebp),%edx
5d6f31:	85 d2                	test   %edx,%edx
5d6f33:	74 05                	je     0x5d6f3a
5d6f35:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d6f38:	89 0a                	mov    %ecx,(%edx)
5d6f3a:	8b c6                	mov    %esi,%eax
5d6f3c:	5e                   	pop    %esi
5d6f3d:	5b                   	pop    %ebx
5d6f3e:	c9                   	leave
5d6f3f:	c3                   	ret
5d6f40:	8b ff                	mov    %edi,%edi
5d6f42:	55                   	push   %ebp
5d6f43:	8b ec                	mov    %esp,%ebp
5d6f45:	81 ec 90 00 00 00    	sub    $0x90,%esp
5d6f4b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d6f4e:	53                   	push   %ebx
5d6f4f:	56                   	push   %esi
5d6f50:	57                   	push   %edi
5d6f51:	e8 85 38 00 00       	call   0x5da7db
5d6f56:	84 c0                	test   %al,%al
5d6f58:	74 2f                	je     0x5d6f89
5d6f5a:	8b 7d 14             	mov    0x14(%ebp),%edi
5d6f5d:	85 ff                	test   %edi,%edi
5d6f5f:	74 3d                	je     0x5d6f9e
5d6f61:	83 ff 02             	cmp    $0x2,%edi
5d6f64:	7c 05                	jl     0x5d6f6b
5d6f66:	83 ff 24             	cmp    $0x24,%edi
5d6f69:	7e 33                	jle    0x5d6f9e
5d6f6b:	8b 45 08             	mov    0x8(%ebp),%eax
5d6f6e:	50                   	push   %eax
5d6f6f:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5d6f73:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5d6f7a:	33 c0                	xor    %eax,%eax
5d6f7c:	50                   	push   %eax
5d6f7d:	50                   	push   %eax
5d6f7e:	50                   	push   %eax
5d6f7f:	50                   	push   %eax
5d6f80:	50                   	push   %eax
5d6f81:	e8 dd f1 ff ff       	call   0x5d6163
5d6f86:	83 c4 18             	add    $0x18,%esp
5d6f89:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d6f8c:	85 c9                	test   %ecx,%ecx
5d6f8e:	0f 84 11 05 00 00    	je     0x5d74a5
5d6f94:	8b 45 0c             	mov    0xc(%ebp),%eax
5d6f97:	89 01                	mov    %eax,(%ecx)
5d6f99:	e9 07 05 00 00       	jmp    0x5d74a5
5d6f9e:	8b 45 0c             	mov    0xc(%ebp),%eax
5d6fa1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5d6fa5:	0f b6 5d 18          	movzbl 0x18(%ebp),%ebx
5d6fa9:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
5d6faf:	0f b7 30             	movzwl (%eax),%esi
5d6fb2:	8d 48 02             	lea    0x2(%eax),%ecx
5d6fb5:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5d6fb8:	83 fe 2d             	cmp    $0x2d,%esi
5d6fbb:	75 05                	jne    0x5d6fc2
5d6fbd:	83 cb 02             	or     $0x2,%ebx
5d6fc0:	eb 05                	jmp    0x5d6fc7
5d6fc2:	83 fe 2b             	cmp    $0x2b,%esi