ac1a65:	cc                   	int3
ac1a66:	cc                   	int3
ac1a67:	a1 48 19 d8 00       	mov    0xd81948,%eax
ac1a6c:	85 c0                	test   %eax,%eax
ac1a6e:	75 0a                	jne    0xac1a7a
ac1a70:	e8 24 00 00 00       	call   0xac1a99
ac1a75:	a3 48 19 d8 00       	mov    %eax,0xd81948
ac1a7a:	c3                   	ret
ac1a7b:	cc                   	int3
ac1a7c:	cc                   	int3
ac1a7d:	cc                   	int3
ac1a7e:	cc                   	int3
ac1a7f:	cc                   	int3
ac1a80:	a1 44 19 d8 00       	mov    0xd81944,%eax
ac1a85:	85 c0                	test   %eax,%eax
ac1a87:	75 0a                	jne    0xac1a93
ac1a89:	e8 45 00 00 00       	call   0xac1ad3
ac1a8e:	a3 44 19 d8 00       	mov    %eax,0xd81944
ac1a93:	c3                   	ret
ac1a94:	cc                   	int3
ac1a95:	cc                   	int3
ac1a96:	cc                   	int3
ac1a97:	cc                   	int3
ac1a98:	cc                   	int3
ac1a99:	a1 38 19 d8 00       	mov    0xd81938,%eax
ac1a9e:	85 c0                	test   %eax,%eax
ac1aa0:	75 25                	jne    0xac1ac7
ac1aa2:	39 05 3c 19 d8 00    	cmp    %eax,0xd8193c
ac1aa8:	75 03                	jne    0xac1aad
ac1aaa:	33 c0                	xor    %eax,%eax
ac1aac:	c3                   	ret
ac1aad:	e8 5b 00 00 00       	call   0xac1b0d
ac1ab2:	85 c0                	test   %eax,%eax
ac1ab4:	75 f4                	jne    0xac1aaa
ac1ab6:	e8 7e 04 00 00       	call   0xac1f39
ac1abb:	f7 d8                	neg    %eax
ac1abd:	1b c0                	sbb    %eax,%eax
ac1abf:	f7 d0                	not    %eax
ac1ac1:	23 05 38 19 d8 00    	and    0xd81938,%eax
ac1ac7:	c3                   	ret
ac1ac8:	cc                   	int3
ac1ac9:	cc                   	int3
ac1aca:	cc                   	int3
ac1acb:	cc                   	int3
ac1acc:	cc                   	int3
ac1acd:	cc                   	int3
ac1ace:	cc                   	int3
ac1acf:	cc                   	int3
ac1ad0:	cc                   	int3
ac1ad1:	cc                   	int3
ac1ad2:	cc                   	int3
ac1ad3:	a1 3c 19 d8 00       	mov    0xd8193c,%eax
ac1ad8:	85 c0                	test   %eax,%eax
ac1ada:	75 25                	jne    0xac1b01
ac1adc:	39 05 38 19 d8 00    	cmp    %eax,0xd81938
ac1ae2:	75 03                	jne    0xac1ae7
ac1ae4:	33 c0                	xor    %eax,%eax
ac1ae6:	c3                   	ret
ac1ae7:	e8 90 00 00 00       	call   0xac1b7c
ac1aec:	85 c0                	test   %eax,%eax
ac1aee:	75 f4                	jne    0xac1ae4
ac1af0:	e8 e2 04 00 00       	call   0xac1fd7
ac1af5:	f7 d8                	neg    %eax
ac1af7:	1b c0                	sbb    %eax,%eax
ac1af9:	f7 d0                	not    %eax
ac1afb:	23 05 3c 19 d8 00    	and    0xd8193c,%eax
ac1b01:	c3                   	ret
ac1b02:	cc                   	int3
ac1b03:	cc                   	int3
ac1b04:	cc                   	int3
ac1b05:	cc                   	int3
ac1b06:	cc                   	int3
ac1b07:	cc                   	int3
ac1b08:	cc                   	int3
ac1b09:	cc                   	int3
ac1b0a:	cc                   	int3
ac1b0b:	cc                   	int3
ac1b0c:	cc                   	int3
ac1b0d:	83 3d 38 19 d8 00 00 	cmpl   $0x0,0xd81938
ac1b14:	74 03                	je     0xac1b19
ac1b16:	33 c0                	xor    %eax,%eax
ac1b18:	c3                   	ret
ac1b19:	56                   	push   %esi
ac1b1a:	57                   	push   %edi
ac1b1b:	e8 9a dd 96 ff       	call   0x42f8ba
ac1b20:	e8 d9 17 96 ff       	call   0x4232fe
ac1b25:	8b f0                	mov    %eax,%esi
ac1b27:	85 f6                	test   %esi,%esi
ac1b29:	75 05                	jne    0xac1b30
ac1b2b:	83 cf ff             	or     $0xffffffff,%edi
ac1b2e:	eb 2a                	jmp    0xac1b5a
ac1b30:	56                   	push   %esi
ac1b31:	e8 48 01 00 00       	call   0xac1c7e
ac1b36:	59                   	pop    %ecx
ac1b37:	85 c0                	test   %eax,%eax
ac1b39:	75 05                	jne    0xac1b40
ac1b3b:	83 cf ff             	or     $0xffffffff,%edi
ac1b3e:	eb 12                	jmp    0xac1b52
ac1b40:	50                   	push   %eax
ac1b41:	b9 38 19 d8 00       	mov    $0xd81938,%ecx
ac1b46:	a3 48 19 d8 00       	mov    %eax,0xd81948
ac1b4b:	e8 cc 7a 97 ff       	call   0x43961c
ac1b50:	33 ff                	xor    %edi,%edi
ac1b52:	6a 00                	push   $0x0
ac1b54:	e8 8d 06 97 ff       	call   0x4321e6
ac1b59:	59                   	pop    %ecx
ac1b5a:	56                   	push   %esi
ac1b5b:	e8 86 06 97 ff       	call   0x4321e6
ac1b60:	59                   	pop    %ecx
ac1b61:	8b c7                	mov    %edi,%eax
ac1b63:	5f                   	pop    %edi
ac1b64:	5e                   	pop    %esi
ac1b65:	c3                   	ret
ac1b66:	cc                   	int3
ac1b67:	cc                   	int3
ac1b68:	cc                   	int3
ac1b69:	cc                   	int3
ac1b6a:	cc                   	int3
ac1b6b:	cc                   	int3
ac1b6c:	cc                   	int3
ac1b6d:	cc                   	int3
ac1b6e:	cc                   	int3
ac1b6f:	cc                   	int3
ac1b70:	cc                   	int3
ac1b71:	cc                   	int3
ac1b72:	cc                   	int3
ac1b73:	cc                   	int3
ac1b74:	cc                   	int3
ac1b75:	cc                   	int3
ac1b76:	cc                   	int3
ac1b77:	cc                   	int3
ac1b78:	cc                   	int3
ac1b79:	cc                   	int3
ac1b7a:	cc                   	int3
ac1b7b:	cc                   	int3
ac1b7c:	83 3d 3c 19 d8 00 00 	cmpl   $0x0,0xd8193c
ac1b83:	74 03                	je     0xac1b88
ac1b85:	33 c0                	xor    %eax,%eax
ac1b87:	c3                   	ret
ac1b88:	56                   	push   %esi
ac1b89:	57                   	push   %edi
ac1b8a:	e8 9c bc 96 ff       	call   0x42d82b
ac1b8f:	8b f0                	mov    %eax,%esi
ac1b91:	85 f6                	test   %esi,%esi
ac1b93:	75 05                	jne    0xac1b9a
ac1b95:	83 cf ff             	or     $0xffffffff,%edi
ac1b98:	eb 2a                	jmp    0xac1bc4
ac1b9a:	56                   	push   %esi
ac1b9b:	e8 e3 01 00 00       	call   0xac1d83
ac1ba0:	59                   	pop    %ecx
ac1ba1:	85 c0                	test   %eax,%eax
ac1ba3:	75 05                	jne    0xac1baa
ac1ba5:	83 cf ff             	or     $0xffffffff,%edi
ac1ba8:	eb 12                	jmp    0xac1bbc
ac1baa:	50                   	push   %eax
ac1bab:	b9 3c 19 d8 00       	mov    $0xd8193c,%ecx
ac1bb0:	a3 44 19 d8 00       	mov    %eax,0xd81944
ac1bb5:	e8 ef 9d 96 ff       	call   0x42b9a9
ac1bba:	33 ff                	xor    %edi,%edi
ac1bbc:	6a 00                	push   $0x0
ac1bbe:	e8 23 06 97 ff       	call   0x4321e6
ac1bc3:	59                   	pop    %ecx
ac1bc4:	56                   	push   %esi
ac1bc5:	e8 1c 06 97 ff       	call   0x4321e6
ac1bca:	59                   	pop    %ecx
ac1bcb:	8b c7                	mov    %edi,%eax
ac1bcd:	5f                   	pop    %edi
ac1bce:	5e                   	pop    %esi
ac1bcf:	c3                   	ret
ac1bd0:	cc                   	int3
ac1bd1:	cc                   	int3
ac1bd2:	cc                   	int3
ac1bd3:	cc                   	int3
ac1bd4:	cc                   	int3
ac1bd5:	cc                   	int3
ac1bd6:	cc                   	int3
ac1bd7:	cc                   	int3
ac1bd8:	cc                   	int3
ac1bd9:	cc                   	int3
ac1bda:	cc                   	int3
ac1bdb:	cc                   	int3
ac1bdc:	cc                   	int3
ac1bdd:	cc                   	int3
ac1bde:	cc                   	int3
ac1bdf:	cc                   	int3
ac1be0:	cc                   	int3
ac1be1:	cc                   	int3
ac1be2:	cc                   	int3
ac1be3:	cc                   	int3
ac1be4:	cc                   	int3
ac1be5:	8b ff                	mov    %edi,%edi
ac1be7:	55                   	push   %ebp
ac1be8:	8b ec                	mov    %esp,%ebp
ac1bea:	56                   	push   %esi
ac1beb:	8b 75 08             	mov    0x8(%ebp),%esi
ac1bee:	33 d2                	xor    %edx,%edx
ac1bf0:	8a 06                	mov    (%esi),%al
ac1bf2:	84 c0                	test   %al,%al
ac1bf4:	74 1e                	je     0xac1c14
ac1bf6:	57                   	push   %edi
ac1bf7:	3c 3d                	cmp    $0x3d,%al
ac1bf9:	74 01                	je     0xac1bfc
ac1bfb:	42                   	inc    %edx
ac1bfc:	8b ce                	mov    %esi,%ecx
ac1bfe:	8d 79 01             	lea    0x1(%ecx),%edi
ac1c01:	8a 01                	mov    (%ecx),%al
ac1c03:	41                   	inc    %ecx
ac1c04:	84 c0                	test   %al,%al
ac1c06:	75 f9                	jne    0xac1c01
ac1c08:	2b cf                	sub    %edi,%ecx
ac1c0a:	46                   	inc    %esi
ac1c0b:	03 f1                	add    %ecx,%esi
ac1c0d:	8a 06                	mov    (%esi),%al
ac1c0f:	84 c0                	test   %al,%al
ac1c11:	75 e4                	jne    0xac1bf7
ac1c13:	5f                   	pop    %edi
ac1c14:	8b c2                	mov    %edx,%eax
ac1c16:	5e                   	pop    %esi
ac1c17:	5d                   	pop    %ebp
ac1c18:	c3                   	ret
ac1c19:	cc                   	int3
ac1c1a:	cc                   	int3
ac1c1b:	cc                   	int3
ac1c1c:	cc                   	int3
ac1c1d:	cc                   	int3
ac1c1e:	cc                   	int3
ac1c1f:	cc                   	int3
ac1c20:	cc                   	int3
ac1c21:	cc                   	int3
ac1c22:	cc                   	int3
ac1c23:	cc                   	int3
ac1c24:	cc                   	int3
ac1c25:	cc                   	int3
ac1c26:	8b ff                	mov    %edi,%edi
ac1c28:	55                   	push   %ebp
ac1c29:	8b ec                	mov    %esp,%ebp
ac1c2b:	53                   	push   %ebx
ac1c2c:	56                   	push   %esi
ac1c2d:	8b 75 08             	mov    0x8(%ebp),%esi
ac1c30:	33 db                	xor    %ebx,%ebx
ac1c32:	8b d3                	mov    %ebx,%edx
ac1c34:	0f b7 06             	movzwl (%esi),%eax
ac1c37:	66 85 c0             	test   %ax,%ax
ac1c3a:	74 2b                	je     0xac1c67
ac1c3c:	57                   	push   %edi
ac1c3d:	66 83 f8 3d          	cmp    $0x3d,%ax
ac1c41:	74 01                	je     0xac1c44
ac1c43:	42                   	inc    %edx
ac1c44:	8b ce                	mov    %esi,%ecx
ac1c46:	8d 79 02             	lea    0x2(%ecx),%edi
ac1c49:	66 8b 01             	mov    (%ecx),%ax
ac1c4c:	83 c1 02             	add    $0x2,%ecx
ac1c4f:	66 3b c3             	cmp    %bx,%ax
ac1c52:	75 f5                	jne    0xac1c49
ac1c54:	2b cf                	sub    %edi,%ecx
ac1c56:	d1 f9                	sar    $1,%ecx
ac1c58:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
ac1c5b:	83 c6 02             	add    $0x2,%esi
ac1c5e:	0f b7 06             	movzwl (%esi),%eax
ac1c61:	66 85 c0             	test   %ax,%ax
ac1c64:	75 d7                	jne    0xac1c3d
ac1c66:	5f                   	pop    %edi
ac1c67:	5e                   	pop    %esi
ac1c68:	8b c2                	mov    %edx,%eax
ac1c6a:	5b                   	pop    %ebx
ac1c6b:	5d                   	pop    %ebp
ac1c6c:	c3                   	ret
ac1c6d:	cc                   	int3
ac1c6e:	cc                   	int3
ac1c6f:	cc                   	int3
ac1c70:	cc                   	int3
ac1c71:	cc                   	int3
ac1c72:	cc                   	int3
ac1c73:	cc                   	int3
ac1c74:	cc                   	int3
ac1c75:	cc                   	int3
ac1c76:	cc                   	int3
ac1c77:	cc                   	int3
ac1c78:	cc                   	int3
ac1c79:	cc                   	int3
ac1c7a:	cc                   	int3
ac1c7b:	cc                   	int3
ac1c7c:	cc                   	int3
ac1c7d:	cc                   	int3
ac1c7e:	8b ff                	mov    %edi,%edi
ac1c80:	55                   	push   %ebp
ac1c81:	8b ec                	mov    %esp,%ebp
ac1c83:	51                   	push   %ecx
ac1c84:	51                   	push   %ecx
ac1c85:	53                   	push   %ebx
ac1c86:	56                   	push   %esi
ac1c87:	57                   	push   %edi
ac1c88:	8b 7d 08             	mov    0x8(%ebp),%edi
ac1c8b:	33 d2                	xor    %edx,%edx
ac1c8d:	8b f7                	mov    %edi,%esi
ac1c8f:	8a 07                	mov    (%edi),%al
ac1c91:	eb 18                	jmp    0xac1cab
ac1c93:	3c 3d                	cmp    $0x3d,%al
ac1c95:	74 01                	je     0xac1c98
ac1c97:	42                   	inc    %edx
ac1c98:	8b ce                	mov    %esi,%ecx
ac1c9a:	8d 59 01             	lea    0x1(%ecx),%ebx
ac1c9d:	8a 01                	mov    (%ecx),%al
ac1c9f:	41                   	inc    %ecx
ac1ca0:	84 c0                	test   %al,%al
ac1ca2:	75 f9                	jne    0xac1c9d
ac1ca4:	2b cb                	sub    %ebx,%ecx
ac1ca6:	46                   	inc    %esi
ac1ca7:	03 f1                	add    %ecx,%esi
ac1ca9:	8a 06                	mov    (%esi),%al
ac1cab:	84 c0                	test   %al,%al
ac1cad:	75 e4                	jne    0xac1c93
ac1caf:	8d 42 01             	lea    0x1(%edx),%eax
ac1cb2:	6a 04                	push   $0x4
ac1cb4:	50                   	push   %eax
ac1cb5:	e8 6a 5e 96 ff       	call   0x427b24
ac1cba:	8b d8                	mov    %eax,%ebx
ac1cbc:	59                   	pop    %ecx
ac1cbd:	59                   	pop    %ecx
ac1cbe:	85 db                	test   %ebx,%ebx
ac1cc0:	74 6d                	je     0xac1d2f
ac1cc2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
ac1cc5:	eb 52                	jmp    0xac1d19
ac1cc7:	8b cf                	mov    %edi,%ecx
ac1cc9:	8d 51 01             	lea    0x1(%ecx),%edx
ac1ccc:	8a 01                	mov    (%ecx),%al
ac1cce:	41                   	inc    %ecx
ac1ccf:	84 c0                	test   %al,%al
ac1cd1:	75 f9                	jne    0xac1ccc
ac1cd3:	2b ca                	sub    %edx,%ecx
ac1cd5:	80 3f 3d             	cmpb   $0x3d,(%edi)
ac1cd8:	8d 41 01             	lea    0x1(%ecx),%eax
ac1cdb:	89 45 f8             	mov    %eax,-0x8(%ebp)
ac1cde:	74 37                	je     0xac1d17
ac1ce0:	6a 01                	push   $0x1
ac1ce2:	50                   	push   %eax
ac1ce3:	e8 3c 5e 96 ff       	call   0x427b24
ac1ce8:	8b f0                	mov    %eax,%esi
ac1cea:	59                   	pop    %ecx
ac1ceb:	59                   	pop    %ecx
ac1cec:	85 f6                	test   %esi,%esi
ac1cee:	74 30                	je     0xac1d20
ac1cf0:	57                   	push   %edi
ac1cf1:	ff 75 f8             	push   -0x8(%ebp)
ac1cf4:	56                   	push   %esi
ac1cf5:	e8 9a 02 96 ff       	call   0x421f94
ac1cfa:	83 c4 0c             	add    $0xc,%esp
ac1cfd:	85 c0                	test   %eax,%eax
ac1cff:	75 41                	jne    0xac1d42
ac1d01:	8b 45 fc             	mov    -0x4(%ebp),%eax