814e30:	cc                   	int3
814e31:	cc                   	int3
814e32:	cc                   	int3
814e33:	cc                   	int3
814e34:	cc                   	int3
814e35:	cc                   	int3
814e36:	cc                   	int3
814e37:	cc                   	int3
814e38:	cc                   	int3
814e39:	cc                   	int3
814e3a:	55                   	push   %ebp
814e3b:	8b ec                	mov    %esp,%ebp
814e3d:	56                   	push   %esi
814e3e:	8b 75 08             	mov    0x8(%ebp),%esi
814e41:	57                   	push   %edi
814e42:	6a 00                	push   $0x0
814e44:	8b f9                	mov    %ecx,%edi
814e46:	8b 06                	mov    (%esi),%eax
814e48:	ff 70 f4             	push   -0xc(%eax)
814e4b:	57                   	push   %edi
814e4c:	e8 dd 56 bf ff       	call   0x40a52e
814e51:	8b 06                	mov    (%esi),%eax
814e53:	8b cf                	mov    %edi,%ecx
814e55:	ff 70 f4             	push   -0xc(%eax)
814e58:	50                   	push   %eax
814e59:	e8 48 2c c2 ff       	call   0x437aa6
814e5e:	8b c7                	mov    %edi,%eax
814e60:	5f                   	pop    %edi
814e61:	5e                   	pop    %esi
814e62:	5d                   	pop    %ebp
814e63:	c2 04 00             	ret    $0x4
814e66:	cc                   	int3
814e67:	cc                   	int3
814e68:	cc                   	int3
814e69:	cc                   	int3
814e6a:	cc                   	int3
814e6b:	cc                   	int3
814e6c:	cc                   	int3
814e6d:	cc                   	int3
814e6e:	cc                   	int3
814e6f:	cc                   	int3
814e70:	cc                   	int3
814e71:	55                   	push   %ebp
814e72:	8b ec                	mov    %esp,%ebp
814e74:	56                   	push   %esi
814e75:	8b 75 08             	mov    0x8(%ebp),%esi
814e78:	57                   	push   %edi
814e79:	6a 01                	push   $0x1
814e7b:	8b f9                	mov    %ecx,%edi
814e7d:	8b 06                	mov    (%esi),%eax
814e7f:	ff 70 f4             	push   -0xc(%eax)
814e82:	57                   	push   %edi
814e83:	e8 a6 56 bf ff       	call   0x40a52e
814e88:	8b 16                	mov    (%esi),%edx
814e8a:	8b cf                	mov    %edi,%ecx
814e8c:	8b 42 f4             	mov    -0xc(%edx),%eax
814e8f:	03 c0                	add    %eax,%eax
814e91:	50                   	push   %eax
814e92:	52                   	push   %edx
814e93:	e8 0e 2c c2 ff       	call   0x437aa6
814e98:	8b c7                	mov    %edi,%eax
814e9a:	5f                   	pop    %edi
814e9b:	5e                   	pop    %esi
814e9c:	5d                   	pop    %ebp
814e9d:	c2 04 00             	ret    $0x4
814ea0:	cc                   	int3
814ea1:	cc                   	int3
814ea2:	cc                   	int3
814ea3:	cc                   	int3
814ea4:	cc                   	int3
814ea5:	cc                   	int3
814ea6:	cc                   	int3
814ea7:	cc                   	int3
814ea8:	cc                   	int3
814ea9:	cc                   	int3
814eaa:	cc                   	int3
814eab:	55                   	push   %ebp
814eac:	8b ec                	mov    %esp,%ebp
814eae:	51                   	push   %ecx
814eaf:	ff 75 0c             	push   0xc(%ebp)
814eb2:	8d 45 fc             	lea    -0x4(%ebp),%eax
814eb5:	ff 75 08             	push   0x8(%ebp)
814eb8:	50                   	push   %eax
814eb9:	e8 d4 1d c1 ff       	call   0x426c92
814ebe:	83 c4 0c             	add    $0xc,%esp
814ec1:	85 c0                	test   %eax,%eax
814ec3:	78 07                	js     0x814ecc
814ec5:	8b 45 fc             	mov    -0x4(%ebp),%eax
814ec8:	8b e5                	mov    %ebp,%esp
814eca:	5d                   	pop    %ebp
814ecb:	c3                   	ret
814ecc:	50                   	push   %eax
814ecd:	e8 fc 27 c1 ff       	call   0x4276ce
814ed2:	cc                   	int3
814ed3:	cc                   	int3
814ed4:	cc                   	int3
814ed5:	cc                   	int3
814ed6:	cc                   	int3
814ed7:	cc                   	int3
814ed8:	cc                   	int3
814ed9:	cc                   	int3
814eda:	cc                   	int3
814edb:	cc                   	int3
814edc:	cc                   	int3
814edd:	55                   	push   %ebp
814ede:	8b ec                	mov    %esp,%ebp
814ee0:	51                   	push   %ecx
814ee1:	51                   	push   %ecx
814ee2:	53                   	push   %ebx
814ee3:	56                   	push   %esi
814ee4:	8b 75 08             	mov    0x8(%ebp),%esi
814ee7:	57                   	push   %edi
814ee8:	6a ff                	push   $0xffffffff
814eea:	56                   	push   %esi
814eeb:	e8 b4 e5 be ff       	call   0x4034a4
814ef0:	85 c0                	test   %eax,%eax
814ef2:	74 46                	je     0x814f3a
814ef4:	56                   	push   %esi
814ef5:	bb c5 9d 1c 81       	mov    $0x811c9dc5,%ebx
814efa:	33 ff                	xor    %edi,%edi
814efc:	e8 80 fd bf ff       	call   0x414c81
814f01:	59                   	pop    %ecx
814f02:	33 d2                	xor    %edx,%edx
814f04:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
814f0b:	8b c8                	mov    %eax,%ecx
814f0d:	f7 75 fc             	divl   -0x4(%ebp)
814f10:	89 45 fc             	mov    %eax,-0x4(%ebp)
814f13:	85 c9                	test   %ecx,%ecx
814f15:	74 18                	je     0x814f2f
814f17:	8b d1                	mov    %ecx,%edx
814f19:	8b 45 fc             	mov    -0x4(%ebp),%eax
814f1c:	0f be 0c 37          	movsbl (%edi,%esi,1),%ecx
814f20:	40                   	inc    %eax
814f21:	69 db 93 01 00 01    	imul   $0x1000193,%ebx,%ebx
814f27:	03 f8                	add    %eax,%edi
814f29:	33 d9                	xor    %ecx,%ebx
814f2b:	3b fa                	cmp    %edx,%edi
814f2d:	72 ea                	jb     0x814f19
814f2f:	5f                   	pop    %edi
814f30:	5e                   	pop    %esi
814f31:	8b c3                	mov    %ebx,%eax
814f33:	5b                   	pop    %ebx
814f34:	8b e5                	mov    %ebp,%esp
814f36:	5d                   	pop    %ebp
814f37:	c2 04 00             	ret    $0x4
814f3a:	e8 27 d0 c1 ff       	call   0x431f66
814f3f:	cc                   	int3
814f40:	cc                   	int3
814f41:	cc                   	int3
814f42:	cc                   	int3
814f43:	cc                   	int3
814f44:	cc                   	int3
814f45:	cc                   	int3
814f46:	cc                   	int3
814f47:	cc                   	int3
814f48:	cc                   	int3
814f49:	cc                   	int3
814f4a:	cc                   	int3
814f4b:	cc                   	int3
814f4c:	cc                   	int3
814f4d:	cc                   	int3
814f4e:	cc                   	int3
814f4f:	cc                   	int3
814f50:	cc                   	int3
814f51:	cc                   	int3
814f52:	cc                   	int3
814f53:	cc                   	int3
814f54:	cc                   	int3
814f55:	cc                   	int3
814f56:	cc                   	int3
814f57:	cc                   	int3
814f58:	55                   	push   %ebp
814f59:	8b ec                	mov    %esp,%ebp
814f5b:	51                   	push   %ecx
814f5c:	51                   	push   %ecx
814f5d:	53                   	push   %ebx
814f5e:	56                   	push   %esi
814f5f:	8b 75 08             	mov    0x8(%ebp),%esi
814f62:	57                   	push   %edi
814f63:	6a ff                	push   $0xffffffff
814f65:	56                   	push   %esi
814f66:	e8 b9 ad c1 ff       	call   0x42fd24
814f6b:	85 c0                	test   %eax,%eax
814f6d:	74 46                	je     0x814fb5
814f6f:	56                   	push   %esi
814f70:	bb c5 9d 1c 81       	mov    $0x811c9dc5,%ebx
814f75:	33 ff                	xor    %edi,%edi
814f77:	e8 10 fc bf ff       	call   0x414b8c
814f7c:	59                   	pop    %ecx
814f7d:	33 d2                	xor    %edx,%edx
814f7f:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
814f86:	8b c8                	mov    %eax,%ecx
814f88:	f7 75 fc             	divl   -0x4(%ebp)
814f8b:	89 45 fc             	mov    %eax,-0x4(%ebp)
814f8e:	85 c9                	test   %ecx,%ecx
814f90:	74 18                	je     0x814faa
814f92:	8b d1                	mov    %ecx,%edx
814f94:	8b 45 fc             	mov    -0x4(%ebp),%eax
814f97:	0f b7 0c 7e          	movzwl (%esi,%edi,2),%ecx
814f9b:	40                   	inc    %eax
814f9c:	69 db 93 01 00 01    	imul   $0x1000193,%ebx,%ebx
814fa2:	03 f8                	add    %eax,%edi
814fa4:	33 d9                	xor    %ecx,%ebx
814fa6:	3b fa                	cmp    %edx,%edi
814fa8:	72 ea                	jb     0x814f94
814faa:	5f                   	pop    %edi
814fab:	5e                   	pop    %esi
814fac:	8b c3                	mov    %ebx,%eax
814fae:	5b                   	pop    %ebx
814faf:	8b e5                	mov    %ebp,%esp
814fb1:	5d                   	pop    %ebp
814fb2:	c2 04 00             	ret    $0x4
814fb5:	e8 ac cf c1 ff       	call   0x431f66
814fba:	cc                   	int3
814fbb:	cc                   	int3
814fbc:	cc                   	int3
814fbd:	cc                   	int3
814fbe:	cc                   	int3
814fbf:	cc                   	int3
814fc0:	cc                   	int3
814fc1:	cc                   	int3
814fc2:	cc                   	int3
814fc3:	cc                   	int3
814fc4:	cc                   	int3
814fc5:	cc                   	int3
814fc6:	cc                   	int3
814fc7:	cc                   	int3
814fc8:	cc                   	int3
814fc9:	cc                   	int3
814fca:	cc                   	int3
814fcb:	cc                   	int3
814fcc:	cc                   	int3
814fcd:	cc                   	int3
814fce:	cc                   	int3
814fcf:	cc                   	int3
814fd0:	cc                   	int3
814fd1:	cc                   	int3
814fd2:	cc                   	int3
814fd3:	55                   	push   %ebp
814fd4:	8b ec                	mov    %esp,%ebp
814fd6:	51                   	push   %ecx
814fd7:	8b 45 08             	mov    0x8(%ebp),%eax
814fda:	56                   	push   %esi
814fdb:	33 f6                	xor    %esi,%esi
814fdd:	57                   	push   %edi
814fde:	bf c5 9d 1c 81       	mov    $0x811c9dc5,%edi
814fe3:	85 c0                	test   %eax,%eax
814fe5:	74 32                	je     0x815019
814fe7:	53                   	push   %ebx
814fe8:	50                   	push   %eax
814fe9:	e8 9e fb bf ff       	call   0x414b8c
814fee:	59                   	pop    %ecx
814fef:	6a 0a                	push   $0xa
814ff1:	8b d8                	mov    %eax,%ebx
814ff3:	33 d2                	xor    %edx,%edx
814ff5:	59                   	pop    %ecx
814ff6:	f7 f1                	div    %ecx
814ff8:	89 45 fc             	mov    %eax,-0x4(%ebp)
814ffb:	8b 45 08             	mov    0x8(%ebp),%eax
814ffe:	85 db                	test   %ebx,%ebx
815000:	74 16                	je     0x815018
815002:	8b 4d fc             	mov    -0x4(%ebp),%ecx
815005:	0f b7 14 70          	movzwl (%eax,%esi,2),%edx
815009:	41                   	inc    %ecx
81500a:	69 ff 93 01 00 01    	imul   $0x1000193,%edi,%edi
815010:	03 f1                	add    %ecx,%esi
815012:	33 fa                	xor    %edx,%edi
815014:	3b f3                	cmp    %ebx,%esi
815016:	72 ea                	jb     0x815002
815018:	5b                   	pop    %ebx
815019:	50                   	push   %eax
81501a:	ff 15 24 3b d8 00    	call   *0xd83b24
815020:	8b c7                	mov    %edi,%eax
815022:	5f                   	pop    %edi
815023:	5e                   	pop    %esi
815024:	8b e5                	mov    %ebp,%esp
815026:	5d                   	pop    %ebp
815027:	c2 04 00             	ret    $0x4
81502a:	cc                   	int3
81502b:	cc                   	int3
81502c:	cc                   	int3
81502d:	cc                   	int3
81502e:	cc                   	int3
81502f:	cc                   	int3
815030:	cc                   	int3
815031:	cc                   	int3
815032:	cc                   	int3
815033:	cc                   	int3
815034:	cc                   	int3
815035:	cc                   	int3
815036:	cc                   	int3
815037:	cc                   	int3
815038:	cc                   	int3
815039:	cc                   	int3
81503a:	cc                   	int3
81503b:	cc                   	int3
81503c:	cc                   	int3
81503d:	cc                   	int3
81503e:	cc                   	int3
81503f:	e9 62 a5 bf ff       	jmp    0x40f5a6
815044:	e9 54 da c0 ff       	jmp    0x422a9d
815049:	e9 c5 af c0 ff       	jmp    0x420013
81504e:	55                   	push   %ebp
81504f:	8b ec                	mov    %esp,%ebp
815051:	56                   	push   %esi
815052:	8b 75 0c             	mov    0xc(%ebp),%esi
815055:	57                   	push   %edi
815056:	8b 7d 10             	mov    0x10(%ebp),%edi
815059:	85 ff                	test   %edi,%edi
81505b:	74 3c                	je     0x815099
81505d:	85 f6                	test   %esi,%esi
81505f:	74 3e                	je     0x81509f
815061:	85 ff                	test   %edi,%edi
815063:	74 34                	je     0x815099
815065:	85 f6                	test   %esi,%esi
815067:	74 30                	je     0x815099
815069:	53                   	push   %ebx
81506a:	8b 5d 08             	mov    0x8(%ebp),%ebx
81506d:	8b 43 18             	mov    0x18(%ebx),%eax
815070:	f7 d0                	not    %eax
815072:	a8 01                	test   $0x1,%al
815074:	74 12                	je     0x815088
815076:	56                   	push   %esi
815077:	8b cb                	mov    %ebx,%ecx
815079:	e8 62 ee be ff       	call   0x403ee0
81507e:	83 c6 04             	add    $0x4,%esi
815081:	83 ef 01             	sub    $0x1,%edi
815084:	75 f0                	jne    0x815076
815086:	eb 10                	jmp    0x815098
815088:	56                   	push   %esi
815089:	8b cb                	mov    %ebx,%ecx
81508b:	e8 fa c0 bf ff       	call   0x41118a
815090:	83 c6 04             	add    $0x4,%esi
815093:	83 ef 01             	sub    $0x1,%edi
815096:	75 f0                	jne    0x815088
815098:	5b                   	pop    %ebx
815099:	5f                   	pop    %edi
81509a:	5e                   	pop    %esi
81509b:	5d                   	pop    %ebp
81509c:	c2 0c 00             	ret    $0xc
81509f:	e8 c2 ce c1 ff       	call   0x431f66
8150a4:	cc                   	int3
8150a5:	cc                   	int3
8150a6:	cc                   	int3
8150a7:	cc                   	int3
8150a8:	cc                   	int3
8150a9:	cc                   	int3
8150aa:	cc                   	int3
8150ab:	cc                   	int3
8150ac:	cc                   	int3