413b72:	8b ec                	mov    %esp,%ebp
413b74:	8b 4d 10             	mov    0x10(%ebp),%ecx
413b77:	85 c9                	test   %ecx,%ecx
413b79:	75 04                	jne    0x413b7f
413b7b:	33 c0                	xor    %eax,%eax
413b7d:	5d                   	pop    %ebp
413b7e:	c3                   	ret
413b7f:	53                   	push   %ebx
413b80:	8b 5d 0c             	mov    0xc(%ebp),%ebx
413b83:	56                   	push   %esi
413b84:	57                   	push   %edi
413b85:	8b 7d 08             	mov    0x8(%ebp),%edi
413b88:	0f b7 17             	movzwl (%edi),%edx
413b8b:	8d 42 bf             	lea    -0x41(%edx),%eax
413b8e:	83 f8 19             	cmp    $0x19,%eax
413b91:	77 03                	ja     0x413b96
413b93:	83 c2 20             	add    $0x20,%edx
413b96:	0f b7 33             	movzwl (%ebx),%esi
413b99:	83 c7 02             	add    $0x2,%edi
413b9c:	8d 46 bf             	lea    -0x41(%esi),%eax
413b9f:	83 f8 19             	cmp    $0x19,%eax
413ba2:	77 03                	ja     0x413ba7
413ba4:	83 c6 20             	add    $0x20,%esi
413ba7:	8b c2                	mov    %edx,%eax
413ba9:	83 c3 02             	add    $0x2,%ebx
413bac:	2b c6                	sub    %esi,%eax
413bae:	75 09                	jne    0x413bb9
413bb0:	85 d2                	test   %edx,%edx
413bb2:	74 05                	je     0x413bb9
413bb4:	83 e9 01             	sub    $0x1,%ecx
413bb7:	75 cf                	jne    0x413b88
413bb9:	5f                   	pop    %edi
413bba:	5e                   	pop    %esi
413bbb:	5b                   	pop    %ebx
413bbc:	5d                   	pop    %ebp
413bbd:	c3                   	ret
413bbe:	8b ff                	mov    %edi,%edi
413bc0:	55                   	push   %ebp
413bc1:	8b ec                	mov    %esp,%ebp
413bc3:	53                   	push   %ebx
413bc4:	56                   	push   %esi
413bc5:	57                   	push   %edi
413bc6:	33 ff                	xor    %edi,%edi
413bc8:	bb e3 00 00 00       	mov    $0xe3,%ebx
413bcd:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
413bd0:	99                   	cltd
413bd1:	2b c2                	sub    %edx,%eax
413bd3:	8b f0                	mov    %eax,%esi
413bd5:	d1 fe                	sar    $1,%esi
413bd7:	6a 55                	push   $0x55
413bd9:	ff 34 f5 40 f4 41 00 	push   0x41f440(,%esi,8)
413be0:	ff 75 08             	push   0x8(%ebp)
413be3:	e8 87 ff ff ff       	call   0x413b6f
413be8:	83 c4 0c             	add    $0xc,%esp
413beb:	85 c0                	test   %eax,%eax
413bed:	74 13                	je     0x413c02
413bef:	79 05                	jns    0x413bf6
413bf1:	8d 5e ff             	lea    -0x1(%esi),%ebx
413bf4:	eb 03                	jmp    0x413bf9
413bf6:	8d 7e 01             	lea    0x1(%esi),%edi
413bf9:	3b fb                	cmp    %ebx,%edi
413bfb:	7e d0                	jle    0x413bcd
413bfd:	83 c8 ff             	or     $0xffffffff,%eax
413c00:	eb 07                	jmp    0x413c09
413c02:	8b 04 f5 44 f4 41 00 	mov    0x41f444(,%esi,8),%eax
413c09:	5f                   	pop    %edi
413c0a:	5e                   	pop    %esi
413c0b:	5b                   	pop    %ebx
413c0c:	5d                   	pop    %ebp
413c0d:	c3                   	ret
413c0e:	8b ff                	mov    %edi,%edi
413c10:	55                   	push   %ebp
413c11:	8b ec                	mov    %esp,%ebp
413c13:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
413c17:	74 1d                	je     0x413c36
413c19:	ff 75 08             	push   0x8(%ebp)
413c1c:	e8 9d ff ff ff       	call   0x413bbe
413c21:	59                   	pop    %ecx
413c22:	85 c0                	test   %eax,%eax
413c24:	78 10                	js     0x413c36
413c26:	3d e4 00 00 00       	cmp    $0xe4,%eax
413c2b:	73 09                	jae    0x413c36
413c2d:	8b 04 c5 20 ed 41 00 	mov    0x41ed20(,%eax,8),%eax
413c34:	5d                   	pop    %ebp
413c35:	c3                   	ret
413c36:	33 c0                	xor    %eax,%eax
413c38:	5d                   	pop    %ebp
413c39:	c3                   	ret
413c3a:	8b ff                	mov    %edi,%edi
413c3c:	55                   	push   %ebp
413c3d:	8b ec                	mov    %esp,%ebp
413c3f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
413c43:	75 15                	jne    0x413c5a
413c45:	e8 89 b0 ff ff       	call   0x40ecd3
413c4a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413c50:	e8 c1 af ff ff       	call   0x40ec16
413c55:	83 c8 ff             	or     $0xffffffff,%eax
413c58:	5d                   	pop    %ebp
413c59:	c3                   	ret
413c5a:	ff 75 08             	push   0x8(%ebp)
413c5d:	6a 00                	push   $0x0
413c5f:	ff 35 00 73 42 00    	push   0x427300
413c65:	ff 15 e4 c0 41 00    	call   *0x41c0e4
413c6b:	5d                   	pop    %ebp
413c6c:	c3                   	ret
413c6d:	8b ff                	mov    %edi,%edi
413c6f:	55                   	push   %ebp
413c70:	8b ec                	mov    %esp,%ebp
413c72:	57                   	push   %edi
413c73:	8b 7d 08             	mov    0x8(%ebp),%edi
413c76:	85 ff                	test   %edi,%edi
413c78:	75 0b                	jne    0x413c85
413c7a:	ff 75 0c             	push   0xc(%ebp)
413c7d:	e8 61 cd ff ff       	call   0x4109e3
413c82:	59                   	pop    %ecx
413c83:	eb 24                	jmp    0x413ca9
413c85:	56                   	push   %esi
413c86:	8b 75 0c             	mov    0xc(%ebp),%esi
413c89:	85 f6                	test   %esi,%esi
413c8b:	75 09                	jne    0x413c96
413c8d:	57                   	push   %edi
413c8e:	e8 b0 b0 ff ff       	call   0x40ed43
413c93:	59                   	pop    %ecx
413c94:	eb 10                	jmp    0x413ca6
413c96:	83 fe e0             	cmp    $0xffffffe0,%esi
413c99:	76 25                	jbe    0x413cc0
413c9b:	e8 33 b0 ff ff       	call   0x40ecd3
413ca0:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
413ca6:	33 c0                	xor    %eax,%eax
413ca8:	5e                   	pop    %esi
413ca9:	5f                   	pop    %edi
413caa:	5d                   	pop    %ebp
413cab:	c3                   	ret
413cac:	e8 38 80 ff ff       	call   0x40bce9
413cb1:	85 c0                	test   %eax,%eax
413cb3:	74 e6                	je     0x413c9b
413cb5:	56                   	push   %esi
413cb6:	e8 97 da ff ff       	call   0x411752
413cbb:	59                   	pop    %ecx
413cbc:	85 c0                	test   %eax,%eax
413cbe:	74 db                	je     0x413c9b
413cc0:	56                   	push   %esi
413cc1:	57                   	push   %edi
413cc2:	6a 00                	push   $0x0
413cc4:	ff 35 00 73 42 00    	push   0x427300
413cca:	ff 15 e8 c0 41 00    	call   *0x41c0e8
413cd0:	85 c0                	test   %eax,%eax
413cd2:	74 d8                	je     0x413cac
413cd4:	eb d2                	jmp    0x413ca8
413cd6:	6a 0c                	push   $0xc
413cd8:	68 c0 40 42 00       	push   $0x4240c0
413cdd:	e8 ee 4c ff ff       	call   0x4089d0
413ce2:	33 f6                	xor    %esi,%esi
413ce4:	89 75 e4             	mov    %esi,-0x1c(%ebp)
413ce7:	8b 45 08             	mov    0x8(%ebp),%eax
413cea:	ff 30                	push   (%eax)
413cec:	e8 f6 c6 ff ff       	call   0x4103e7
413cf1:	59                   	pop    %ecx
413cf2:	89 75 fc             	mov    %esi,-0x4(%ebp)
413cf5:	8b 45 0c             	mov    0xc(%ebp),%eax
413cf8:	8b 00                	mov    (%eax),%eax
413cfa:	8b 38                	mov    (%eax),%edi
413cfc:	8b d7                	mov    %edi,%edx
413cfe:	c1 fa 06             	sar    $0x6,%edx
413d01:	8b c7                	mov    %edi,%eax
413d03:	83 e0 3f             	and    $0x3f,%eax
413d06:	6b c8 38             	imul   $0x38,%eax,%ecx
413d09:	8b 04 95 18 70 42 00 	mov    0x427018(,%edx,4),%eax
413d10:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
413d15:	74 21                	je     0x413d38
413d17:	57                   	push   %edi
413d18:	e8 a1 c7 ff ff       	call   0x4104be
413d1d:	59                   	pop    %ecx
413d1e:	50                   	push   %eax
413d1f:	ff 15 ec c0 41 00    	call   *0x41c0ec
413d25:	85 c0                	test   %eax,%eax
413d27:	75 1d                	jne    0x413d46
413d29:	e8 92 af ff ff       	call   0x40ecc0
413d2e:	8b f0                	mov    %eax,%esi
413d30:	ff 15 48 c1 41 00    	call   *0x41c148
413d36:	89 06                	mov    %eax,(%esi)
413d38:	e8 96 af ff ff       	call   0x40ecd3
413d3d:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
413d43:	83 ce ff             	or     $0xffffffff,%esi
413d46:	89 75 e4             	mov    %esi,-0x1c(%ebp)
413d49:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
413d50:	e8 17 00 00 00       	call   0x413d6c
413d55:	8b c6                	mov    %esi,%eax
413d57:	8b 4d f0             	mov    -0x10(%ebp),%ecx
413d5a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413d61:	59                   	pop    %ecx
413d62:	5f                   	pop    %edi
413d63:	5e                   	pop    %esi
413d64:	5b                   	pop    %ebx
413d65:	c9                   	leave
413d66:	c2 0c 00             	ret    $0xc
413d69:	8b 75 e4             	mov    -0x1c(%ebp),%esi
413d6c:	8b 4d 10             	mov    0x10(%ebp),%ecx
413d6f:	ff 31                	push   (%ecx)
413d71:	e8 94 c6 ff ff       	call   0x41040a
413d76:	59                   	pop    %ecx
413d77:	c3                   	ret
413d78:	8b ff                	mov    %edi,%edi
413d7a:	55                   	push   %ebp
413d7b:	8b ec                	mov    %esp,%ebp
413d7d:	83 ec 10             	sub    $0x10,%esp
413d80:	56                   	push   %esi
413d81:	8b 75 08             	mov    0x8(%ebp),%esi
413d84:	83 fe fe             	cmp    $0xfffffffe,%esi
413d87:	75 0d                	jne    0x413d96
413d89:	e8 45 af ff ff       	call   0x40ecd3
413d8e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
413d94:	eb 59                	jmp    0x413def
413d96:	85 f6                	test   %esi,%esi
413d98:	78 45                	js     0x413ddf
413d9a:	3b 35 18 72 42 00    	cmp    0x427218,%esi
413da0:	73 3d                	jae    0x413ddf
413da2:	8b c6                	mov    %esi,%eax
413da4:	8b d6                	mov    %esi,%edx
413da6:	83 e0 3f             	and    $0x3f,%eax
413da9:	c1 fa 06             	sar    $0x6,%edx
413dac:	6b c8 38             	imul   $0x38,%eax,%ecx
413daf:	8b 04 95 18 70 42 00 	mov    0x427018(,%edx,4),%eax
413db6:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
413dbb:	74 22                	je     0x413ddf
413dbd:	8d 45 08             	lea    0x8(%ebp),%eax
413dc0:	89 75 f8             	mov    %esi,-0x8(%ebp)
413dc3:	89 45 f4             	mov    %eax,-0xc(%ebp)
413dc6:	8d 4d ff             	lea    -0x1(%ebp),%ecx
413dc9:	8d 45 f8             	lea    -0x8(%ebp),%eax
413dcc:	89 75 f0             	mov    %esi,-0x10(%ebp)
413dcf:	50                   	push   %eax
413dd0:	8d 45 f4             	lea    -0xc(%ebp),%eax
413dd3:	50                   	push   %eax
413dd4:	8d 45 f0             	lea    -0x10(%ebp),%eax
413dd7:	50                   	push   %eax
413dd8:	e8 f9 fe ff ff       	call   0x413cd6
413ddd:	eb 13                	jmp    0x413df2
413ddf:	e8 ef ae ff ff       	call   0x40ecd3
413de4:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
413dea:	e8 27 ae ff ff       	call   0x40ec16
413def:	83 c8 ff             	or     $0xffffffff,%eax
413df2:	5e                   	pop    %esi
413df3:	c9                   	leave
413df4:	c3                   	ret
413df5:	8b ff                	mov    %edi,%edi
413df7:	55                   	push   %ebp
413df8:	8b ec                	mov    %esp,%ebp
413dfa:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
413e00:	a1 18 60 42 00       	mov    0x426018,%eax
413e05:	33 c5                	xor    %ebp,%eax
413e07:	89 45 fc             	mov    %eax,-0x4(%ebp)
413e0a:	8b 45 0c             	mov    0xc(%ebp),%eax
413e0d:	8b d0                	mov    %eax,%edx
413e0f:	83 e0 3f             	and    $0x3f,%eax
413e12:	c1 fa 06             	sar    $0x6,%edx
413e15:	6b c8 38             	imul   $0x38,%eax,%ecx
413e18:	53                   	push   %ebx
413e19:	56                   	push   %esi
413e1a:	8b 04 95 18 70 42 00 	mov    0x427018(,%edx,4),%eax
413e21:	57                   	push   %edi
413e22:	8b 7d 10             	mov    0x10(%ebp),%edi
413e25:	89 7d 98             	mov    %edi,-0x68(%ebp)
413e28:	89 55 b4             	mov    %edx,-0x4c(%ebp)
413e2b:	8b 44 01 18          	mov    0x18(%ecx,%eax,1),%eax
413e2f:	89 45 94             	mov    %eax,-0x6c(%ebp)
413e32:	8b 45 14             	mov    0x14(%ebp),%eax
413e35:	03 c7                	add    %edi,%eax
413e37:	89 4d d8             	mov    %ecx,-0x28(%ebp)
413e3a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
413e3d:	ff 15 f0 c0 41 00    	call   *0x41c0f0
413e43:	33 db                	xor    %ebx,%ebx
413e45:	89 45 88             	mov    %eax,-0x78(%ebp)
413e48:	53                   	push   %ebx
413e49:	8d 4d bc             	lea    -0x44(%ebp),%ecx
413e4c:	e8 f9 8b ff ff       	call   0x40ca4a
413e51:	8b 4d c0             	mov    -0x40(%ebp),%ecx
413e54:	8b c7                	mov    %edi,%eax
413e56:	8b f3                	mov    %ebx,%esi
413e58:	89 5d a8             	mov    %ebx,-0x58(%ebp)
413e5b:	89 75 ac             	mov    %esi,-0x54(%ebp)
413e5e:	89 5d b0             	mov    %ebx,-0x50(%ebp)
413e61:	8b 49 08             	mov    0x8(%ecx),%ecx
413e64:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
413e67:	89 7d 9c             	mov    %edi,-0x64(%ebp)
413e6a:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
413e6d:	0f 83 05 03 00 00    	jae    0x414178
413e73:	8a 07                	mov    (%edi),%al
413e75:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
413e7b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
413e7e:	88 45 d1             	mov    %al,-0x2f(%ebp)
413e81:	8b 45 b4             	mov    -0x4c(%ebp),%eax
413e84:	89 5d b8             	mov    %ebx,-0x48(%ebp)
413e87:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
413e8e:	8b 04 85 18 70 42 00 	mov    0x427018(,%eax,4),%eax
413e95:	89 45 d4             	mov    %eax,-0x2c(%ebp)
413e98:	0f 85 33 01 00 00    	jne    0x413fd1
413e9e:	8b 55 d4             	mov    -0x2c(%ebp),%edx
413ea1:	8b c3                	mov    %ebx,%eax
413ea3:	83 c2 2e             	add    $0x2e,%edx
413ea6:	03 d1                	add    %ecx,%edx
413ea8:	89 55 90             	mov    %edx,-0x70(%ebp)
413eab:	38 1c 02             	cmp    %bl,(%edx,%eax,1)
413eae:	74 06                	je     0x413eb6
413eb0:	40                   	inc    %eax
413eb1:	83 f8 05             	cmp    $0x5,%eax
413eb4:	7c f5                	jl     0x413eab
413eb6:	8b 55 a4             	mov    -0x5c(%ebp),%edx
413eb9:	2b d7                	sub    %edi,%edx
413ebb:	89 45 dc             	mov    %eax,-0x24(%ebp)
413ebe:	85 c0                	test   %eax,%eax
413ec0:	0f 8e b1 00 00 00    	jle    0x413f77
413ec6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
413ec9:	0f b6 44 01 2e       	movzbl 0x2e(%ecx,%eax,1),%eax
413ece:	0f be 80 58 67 42 00 	movsbl 0x426758(%eax),%eax
413ed5:	40                   	inc    %eax
413ed6:	89 45 cc             	mov    %eax,-0x34(%ebp)
413ed9:	2b 45 dc             	sub    -0x24(%ebp),%eax
413edc:	89 45 d4             	mov    %eax,-0x2c(%ebp)
413edf:	3b c2                	cmp    %edx,%eax
413ee1:	0f 8f 10 02 00 00    	jg     0x4140f7
413ee7:	8b 55 dc             	mov    -0x24(%ebp),%edx
413eea:	8b f3                	mov    %ebx,%esi
413eec:	8b 4d 90             	mov    -0x70(%ebp),%ecx
413eef:	8a 04 31             	mov    (%ecx,%esi,1),%al
413ef2:	88 44 35 f4          	mov    %al,-0xc(%ebp,%esi,1)
413ef6:	46                   	inc    %esi
413ef7:	3b f2                	cmp    %edx,%esi
413ef9:	7c f4                	jl     0x413eef
413efb:	8b 75 d4             	mov    -0x2c(%ebp),%esi
413efe:	8b 4d d8             	mov    -0x28(%ebp),%ecx
413f01:	85 f6                	test   %esi,%esi
413f03:	7e 16                	jle    0x413f1b
413f05:	56                   	push   %esi
413f06:	8d 45 f4             	lea    -0xc(%ebp),%eax
413f09:	03 c2                	add    %edx,%eax
413f0b:	57                   	push   %edi
413f0c:	50                   	push   %eax
413f0d:	e8 be 5c ff ff       	call   0x409bd0
413f12:	8b 4d d8             	mov    -0x28(%ebp),%ecx
413f15:	83 c4 0c             	add    $0xc,%esp
413f18:	8b 55 dc             	mov    -0x24(%ebp),%edx
413f1b:	8b 7d b4             	mov    -0x4c(%ebp),%edi
413f1e:	8b f3                	mov    %ebx,%esi
413f20:	8b 04 bd 18 70 42 00 	mov    0x427018(,%edi,4),%eax
413f27:	03 c1                	add    %ecx,%eax
413f29:	88 5c 30 2e          	mov    %bl,0x2e(%eax,%esi,1)
413f2d:	46                   	inc    %esi
413f2e:	3b f2                	cmp    %edx,%esi
413f30:	7c ee                	jl     0x413f20