8e4ccc:	cc                   	int3
8e4ccd:	cc                   	int3
8e4cce:	cc                   	int3
8e4ccf:	cc                   	int3
8e4cd0:	cc                   	int3
8e4cd1:	cc                   	int3
8e4cd2:	cc                   	int3
8e4cd3:	cc                   	int3
8e4cd4:	cc                   	int3
8e4cd5:	cc                   	int3
8e4cd6:	cc                   	int3
8e4cd7:	cc                   	int3
8e4cd8:	cc                   	int3
8e4cd9:	cc                   	int3
8e4cda:	cc                   	int3
8e4cdb:	cc                   	int3
8e4cdc:	cc                   	int3
8e4cdd:	cc                   	int3
8e4cde:	cc                   	int3
8e4cdf:	cc                   	int3
8e4ce0:	cc                   	int3
8e4ce1:	cc                   	int3
8e4ce2:	cc                   	int3
8e4ce3:	cc                   	int3
8e4ce4:	cc                   	int3
8e4ce5:	cc                   	int3
8e4ce6:	cc                   	int3
8e4ce7:	cc                   	int3
8e4ce8:	cc                   	int3
8e4ce9:	cc                   	int3
8e4cea:	cc                   	int3
8e4ceb:	cc                   	int3
8e4cec:	cc                   	int3
8e4ced:	55                   	push   %ebp
8e4cee:	8b ec                	mov    %esp,%ebp
8e4cf0:	51                   	push   %ecx
8e4cf1:	53                   	push   %ebx
8e4cf2:	56                   	push   %esi
8e4cf3:	57                   	push   %edi
8e4cf4:	8b 7d 08             	mov    0x8(%ebp),%edi
8e4cf7:	33 f6                	xor    %esi,%esi
8e4cf9:	8b d9                	mov    %ecx,%ebx
8e4cfb:	85 ff                	test   %edi,%edi
8e4cfd:	74 09                	je     0x8e4d08
8e4cff:	57                   	push   %edi
8e4d00:	e8 cb 92 b2 ff       	call   0x40dfd0
8e4d05:	8d 70 fe             	lea    -0x2(%eax),%esi
8e4d08:	ff 75 0c             	push   0xc(%ebp)
8e4d0b:	8b cb                	mov    %ebx,%ecx
8e4d0d:	e8 be 92 b2 ff       	call   0x40dfd0
8e4d12:	89 45 fc             	mov    %eax,-0x4(%ebp)
8e4d15:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
8e4d18:	51                   	push   %ecx
8e4d19:	8b cb                	mov    %ebx,%ecx
8e4d1b:	e8 e5 da b2 ff       	call   0x412805
8e4d20:	8b d8                	mov    %eax,%ebx
8e4d22:	85 db                	test   %ebx,%ebx
8e4d24:	74 21                	je     0x8e4d47
8e4d26:	85 ff                	test   %edi,%edi
8e4d28:	74 0b                	je     0x8e4d35
8e4d2a:	56                   	push   %esi
8e4d2b:	57                   	push   %edi
8e4d2c:	53                   	push   %ebx
8e4d2d:	e8 50 f9 b2 ff       	call   0x414682
8e4d32:	83 c4 0c             	add    $0xc,%esp
8e4d35:	ff 75 fc             	push   -0x4(%ebp)
8e4d38:	8d 04 33             	lea    (%ebx,%esi,1),%eax
8e4d3b:	ff 75 0c             	push   0xc(%ebp)
8e4d3e:	50                   	push   %eax
8e4d3f:	e8 3e f9 b2 ff       	call   0x414682
8e4d44:	83 c4 0c             	add    $0xc,%esp
8e4d47:	5f                   	pop    %edi
8e4d48:	5e                   	pop    %esi
8e4d49:	8b c3                	mov    %ebx,%eax
8e4d4b:	5b                   	pop    %ebx
8e4d4c:	8b e5                	mov    %ebp,%esp
8e4d4e:	5d                   	pop    %ebp
8e4d4f:	c2 08 00             	ret    $0x8
8e4d52:	cc                   	int3
8e4d53:	cc                   	int3
8e4d54:	cc                   	int3
8e4d55:	cc                   	int3
8e4d56:	cc                   	int3
8e4d57:	cc                   	int3
8e4d58:	cc                   	int3
8e4d59:	cc                   	int3
8e4d5a:	cc                   	int3
8e4d5b:	cc                   	int3
8e4d5c:	cc                   	int3
8e4d5d:	cc                   	int3
8e4d5e:	cc                   	int3
8e4d5f:	cc                   	int3
8e4d60:	cc                   	int3
8e4d61:	cc                   	int3
8e4d62:	cc                   	int3
8e4d63:	cc                   	int3
8e4d64:	cc                   	int3
8e4d65:	cc                   	int3
8e4d66:	cc                   	int3
8e4d67:	cc                   	int3
8e4d68:	cc                   	int3
8e4d69:	cc                   	int3
8e4d6a:	cc                   	int3
8e4d6b:	55                   	push   %ebp
8e4d6c:	8b ec                	mov    %esp,%ebp
8e4d6e:	56                   	push   %esi
8e4d6f:	8b 71 04             	mov    0x4(%ecx),%esi
8e4d72:	85 f6                	test   %esi,%esi
8e4d74:	74 40                	je     0x8e4db6
8e4d76:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
8e4d7a:	75 04                	jne    0x8e4d80
8e4d7c:	33 c0                	xor    %eax,%eax
8e4d7e:	eb 31                	jmp    0x8e4db1
8e4d80:	53                   	push   %ebx
8e4d81:	ff 75 08             	push   0x8(%ebp)
8e4d84:	e8 47 92 b2 ff       	call   0x40dfd0
8e4d89:	8b 0e                	mov    (%esi),%ecx
8e4d8b:	8b d8                	mov    %eax,%ebx
8e4d8d:	53                   	push   %ebx
8e4d8e:	56                   	push   %esi
8e4d8f:	8b 71 0c             	mov    0xc(%ecx),%esi
8e4d92:	8b ce                	mov    %esi,%ecx
8e4d94:	e8 cc 78 b4 ff       	call   0x42c665
8e4d99:	ff d6                	call   *%esi
8e4d9b:	8b f0                	mov    %eax,%esi
8e4d9d:	85 f6                	test   %esi,%esi
8e4d9f:	74 0f                	je     0x8e4db0
8e4da1:	53                   	push   %ebx
8e4da2:	ff 75 08             	push   0x8(%ebp)
8e4da5:	56                   	push   %esi
8e4da6:	e8 d7 f8 b2 ff       	call   0x414682
8e4dab:	83 c4 0c             	add    $0xc,%esp
8e4dae:	8b c6                	mov    %esi,%eax
8e4db0:	5b                   	pop    %ebx
8e4db1:	5e                   	pop    %esi
8e4db2:	5d                   	pop    %ebp
8e4db3:	c2 04 00             	ret    $0x4
8e4db6:	e8 ab d1 b4 ff       	call   0x431f66
8e4dbb:	cc                   	int3
8e4dbc:	cc                   	int3
8e4dbd:	cc                   	int3
8e4dbe:	cc                   	int3
8e4dbf:	cc                   	int3
8e4dc0:	cc                   	int3
8e4dc1:	cc                   	int3
8e4dc2:	cc                   	int3
8e4dc3:	cc                   	int3
8e4dc4:	cc                   	int3
8e4dc5:	cc                   	int3
8e4dc6:	cc                   	int3
8e4dc7:	cc                   	int3
8e4dc8:	cc                   	int3
8e4dc9:	cc                   	int3
8e4dca:	cc                   	int3
8e4dcb:	cc                   	int3
8e4dcc:	cc                   	int3
8e4dcd:	cc                   	int3
8e4dce:	cc                   	int3
8e4dcf:	cc                   	int3
8e4dd0:	55                   	push   %ebp
8e4dd1:	8b ec                	mov    %esp,%ebp
8e4dd3:	8b 49 04             	mov    0x4(%ecx),%ecx
8e4dd6:	85 c9                	test   %ecx,%ecx
8e4dd8:	74 2e                	je     0x8e4e08
8e4dda:	8b 01                	mov    (%ecx),%eax
8e4ddc:	56                   	push   %esi
8e4ddd:	ff 75 08             	push   0x8(%ebp)
8e4de0:	8b 70 0c             	mov    0xc(%eax),%esi
8e4de3:	51                   	push   %ecx
8e4de4:	8b ce                	mov    %esi,%ecx
8e4de6:	e8 7a 78 b4 ff       	call   0x42c665
8e4deb:	ff d6                	call   *%esi
8e4ded:	8b f0                	mov    %eax,%esi
8e4def:	85 f6                	test   %esi,%esi
8e4df1:	74 0e                	je     0x8e4e01
8e4df3:	ff 75 08             	push   0x8(%ebp)
8e4df6:	6a 00                	push   $0x0
8e4df8:	56                   	push   %esi
8e4df9:	e8 ba f9 b2 ff       	call   0x4147b8
8e4dfe:	83 c4 0c             	add    $0xc,%esp
8e4e01:	8b c6                	mov    %esi,%eax
8e4e03:	5e                   	pop    %esi
8e4e04:	5d                   	pop    %ebp
8e4e05:	c2 04 00             	ret    $0x4
8e4e08:	e8 59 d1 b4 ff       	call   0x431f66
8e4e0d:	cc                   	int3
8e4e0e:	cc                   	int3
8e4e0f:	cc                   	int3
8e4e10:	cc                   	int3
8e4e11:	cc                   	int3
8e4e12:	cc                   	int3
8e4e13:	cc                   	int3
8e4e14:	cc                   	int3
8e4e15:	cc                   	int3
8e4e16:	cc                   	int3
8e4e17:	cc                   	int3
8e4e18:	cc                   	int3
8e4e19:	cc                   	int3
8e4e1a:	cc                   	int3
8e4e1b:	cc                   	int3
8e4e1c:	cc                   	int3
8e4e1d:	55                   	push   %ebp
8e4e1e:	8b ec                	mov    %esp,%ebp
8e4e20:	8b 49 04             	mov    0x4(%ecx),%ecx
8e4e23:	85 c9                	test   %ecx,%ecx
8e4e25:	74 1e                	je     0x8e4e45
8e4e27:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
8e4e2b:	74 14                	je     0x8e4e41
8e4e2d:	8b 01                	mov    (%ecx),%eax
8e4e2f:	56                   	push   %esi
8e4e30:	ff 75 08             	push   0x8(%ebp)
8e4e33:	8b 70 14             	mov    0x14(%eax),%esi
8e4e36:	51                   	push   %ecx
8e4e37:	8b ce                	mov    %esi,%ecx
8e4e39:	e8 27 78 b4 ff       	call   0x42c665
8e4e3e:	ff d6                	call   *%esi
8e4e40:	5e                   	pop    %esi
8e4e41:	5d                   	pop    %ebp
8e4e42:	c2 04 00             	ret    $0x4
8e4e45:	e8 1c d1 b4 ff       	call   0x431f66
8e4e4a:	cc                   	int3
8e4e4b:	cc                   	int3
8e4e4c:	cc                   	int3
8e4e4d:	cc                   	int3
8e4e4e:	cc                   	int3
8e4e4f:	cc                   	int3
8e4e50:	cc                   	int3
8e4e51:	cc                   	int3
8e4e52:	cc                   	int3
8e4e53:	cc                   	int3
8e4e54:	cc                   	int3
8e4e55:	cc                   	int3
8e4e56:	55                   	push   %ebp
8e4e57:	8b ec                	mov    %esp,%ebp
8e4e59:	8b 45 08             	mov    0x8(%ebp),%eax
8e4e5c:	57                   	push   %edi
8e4e5d:	8b f9                	mov    %ecx,%edi
8e4e5f:	85 c0                	test   %eax,%eax
8e4e61:	74 1a                	je     0x8e4e7d
8e4e63:	53                   	push   %ebx
8e4e64:	33 db                	xor    %ebx,%ebx
8e4e66:	56                   	push   %esi
8e4e67:	8b f3                	mov    %ebx,%esi
8e4e69:	eb 09                	jmp    0x8e4e74
8e4e6b:	50                   	push   %eax
8e4e6c:	8b cf                	mov    %edi,%ecx
8e4e6e:	e8 a6 a2 b2 ff       	call   0x40f119
8e4e73:	46                   	inc    %esi
8e4e74:	66 39 18             	cmp    %bx,(%eax)
8e4e77:	75 f2                	jne    0x8e4e6b
8e4e79:	8b c6                	mov    %esi,%eax
8e4e7b:	5e                   	pop    %esi
8e4e7c:	5b                   	pop    %ebx
8e4e7d:	5f                   	pop    %edi
8e4e7e:	5d                   	pop    %ebp
8e4e7f:	c2 04 00             	ret    $0x4
8e4e82:	cc                   	int3
8e4e83:	cc                   	int3
8e4e84:	cc                   	int3
8e4e85:	cc                   	int3
8e4e86:	cc                   	int3
8e4e87:	cc                   	int3
8e4e88:	cc                   	int3
8e4e89:	cc                   	int3
8e4e8a:	cc                   	int3
8e4e8b:	cc                   	int3
8e4e8c:	cc                   	int3
8e4e8d:	55                   	push   %ebp
8e4e8e:	8b ec                	mov    %esp,%ebp
8e4e90:	8b 55 08             	mov    0x8(%ebp),%edx
8e4e93:	56                   	push   %esi
8e4e94:	33 f6                	xor    %esi,%esi
8e4e96:	57                   	push   %edi
8e4e97:	8b f9                	mov    %ecx,%edi
8e4e99:	85 d2                	test   %edx,%edx
8e4e9b:	74 1c                	je     0x8e4eb9
8e4e9d:	eb 0f                	jmp    0x8e4eae
8e4e9f:	0f b7 c0             	movzwl %ax,%eax
8e4ea2:	8b cf                	mov    %edi,%ecx
8e4ea4:	52                   	push   %edx
8e4ea5:	03 f0                	add    %eax,%esi
8e4ea7:	e8 6d a2 b2 ff       	call   0x40f119
8e4eac:	8b d0                	mov    %eax,%edx
8e4eae:	0f b7 02             	movzwl (%edx),%eax
8e4eb1:	66 85 c0             	test   %ax,%ax
8e4eb4:	75 e9                	jne    0x8e4e9f
8e4eb6:	83 c6 02             	add    $0x2,%esi
8e4eb9:	5f                   	pop    %edi
8e4eba:	8b c6                	mov    %esi,%eax
8e4ebc:	5e                   	pop    %esi
8e4ebd:	5d                   	pop    %ebp
8e4ebe:	c2 04 00             	ret    $0x4
8e4ec1:	cc                   	int3
8e4ec2:	cc                   	int3
8e4ec3:	cc                   	int3
8e4ec4:	cc                   	int3
8e4ec5:	cc                   	int3
8e4ec6:	cc                   	int3
8e4ec7:	cc                   	int3
8e4ec8:	cc                   	int3
8e4ec9:	cc                   	int3
8e4eca:	cc                   	int3
8e4ecb:	cc                   	int3
8e4ecc:	cc                   	int3
8e4ecd:	cc                   	int3
8e4ece:	55                   	push   %ebp
8e4ecf:	8b ec                	mov    %esp,%ebp
8e4ed1:	8b 4d 08             	mov    0x8(%ebp),%ecx
8e4ed4:	85 c9                	test   %ecx,%ecx
8e4ed6:	75 04                	jne    0x8e4edc
8e4ed8:	33 c0                	xor    %eax,%eax
8e4eda:	eb 05                	jmp    0x8e4ee1
8e4edc:	0f b7 01             	movzwl (%ecx),%eax
8e4edf:	03 c1                	add    %ecx,%eax
8e4ee1:	5d                   	pop    %ebp
8e4ee2:	c2 04 00             	ret    $0x4
8e4ee5:	cc                   	int3
8e4ee6:	cc                   	int3
8e4ee7:	cc                   	int3
8e4ee8:	cc                   	int3
8e4ee9:	cc                   	int3
8e4eea:	55                   	push   %ebp
8e4eeb:	8b ec                	mov    %esp,%ebp
8e4eed:	83 ec 0c             	sub    $0xc,%esp
8e4ef0:	53                   	push   %ebx
8e4ef1:	ff 75 08             	push   0x8(%ebp)
8e4ef4:	8b d9                	mov    %ecx,%ebx
8e4ef6:	e8 bf a8 b5 ff       	call   0x43f7ba
8e4efb:	85 c0                	test   %eax,%eax
8e4efd:	75 05                	jne    0x8e4f04
8e4eff:	83 c8 ff             	or     $0xffffffff,%eax
8e4f02:	eb 6a                	jmp    0x8e4f6e
8e4f04:	83 f8 01             	cmp    $0x1,%eax
8e4f07:	75 15                	jne    0x8e4f1e
8e4f09:	ff 75 0c             	push   0xc(%ebp)
8e4f0c:	6a 00                	push   $0x0
8e4f0e:	6a 00                	push   $0x0
8e4f10:	ff 15 0c 3c d8 00    	call   *0xd83c0c
8e4f16:	85 c0                	test   %eax,%eax
8e4f18:	78 5b                	js     0x8e4f75
8e4f1a:	33 c0                	xor    %eax,%eax
8e4f1c:	eb 50                	jmp    0x8e4f6e
8e4f1e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
8e4f22:	8b 4d 08             	mov    0x8(%ebp),%ecx
8e4f25:	56                   	push   %esi
8e4f26:	66 8b 75 fc          	mov    -0x4(%ebp),%si
8e4f2a:	57                   	push   %edi
8e4f2b:	8d 78 ff             	lea    -0x1(%eax),%edi
8e4f2e:	89 7d f4             	mov    %edi,-0xc(%ebp)
8e4f31:	85 ff                	test   %edi,%edi