434c72:	55                   	push   %ebp
434c73:	8b ec                	mov    %esp,%ebp
434c75:	83 ec 18             	sub    $0x18,%esp
434c78:	a1 08 a0 46 00       	mov    0x46a008,%eax
434c7d:	33 c5                	xor    %ebp,%eax
434c7f:	89 45 fc             	mov    %eax,-0x4(%ebp)
434c82:	8b c1                	mov    %ecx,%eax
434c84:	89 45 e8             	mov    %eax,-0x18(%ebp)
434c87:	53                   	push   %ebx
434c88:	8b 00                	mov    (%eax),%eax
434c8a:	8b 18                	mov    (%eax),%ebx
434c8c:	85 db                	test   %ebx,%ebx
434c8e:	75 08                	jne    0x434c98
434c90:	83 c8 ff             	or     $0xffffffff,%eax
434c93:	e9 e9 00 00 00       	jmp    0x434d81
434c98:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
434c9e:	56                   	push   %esi
434c9f:	57                   	push   %edi
434ca0:	8b 3b                	mov    (%ebx),%edi
434ca2:	8b f2                	mov    %edx,%esi
434ca4:	8b 5b 04             	mov    0x4(%ebx),%ebx
434ca7:	83 e6 1f             	and    $0x1f,%esi
434caa:	33 fa                	xor    %edx,%edi
434cac:	89 75 ec             	mov    %esi,-0x14(%ebp)
434caf:	8b ce                	mov    %esi,%ecx
434cb1:	33 da                	xor    %edx,%ebx
434cb3:	d3 cf                	ror    %cl,%edi
434cb5:	d3 cb                	ror    %cl,%ebx
434cb7:	85 ff                	test   %edi,%edi
434cb9:	0f 84 be 00 00 00    	je     0x434d7d
434cbf:	83 ff ff             	cmp    $0xffffffff,%edi
434cc2:	0f 84 b5 00 00 00    	je     0x434d7d
434cc8:	89 7d f4             	mov    %edi,-0xc(%ebp)
434ccb:	89 5d f0             	mov    %ebx,-0x10(%ebp)
434cce:	6a 20                	push   $0x20
434cd0:	59                   	pop    %ecx
434cd1:	2b ce                	sub    %esi,%ecx
434cd3:	33 c0                	xor    %eax,%eax
434cd5:	d3 c8                	ror    %cl,%eax
434cd7:	33 c2                	xor    %edx,%eax
434cd9:	83 eb 04             	sub    $0x4,%ebx
434cdc:	3b df                	cmp    %edi,%ebx
434cde:	72 60                	jb     0x434d40
434ce0:	39 03                	cmp    %eax,(%ebx)
434ce2:	74 f5                	je     0x434cd9
434ce4:	8b 33                	mov    (%ebx),%esi
434ce6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
434ce9:	33 f2                	xor    %edx,%esi
434ceb:	d3 ce                	ror    %cl,%esi
434ced:	8b ce                	mov    %esi,%ecx
434cef:	89 03                	mov    %eax,(%ebx)
434cf1:	ff 15 d0 b3 44 00    	call   *0x44b3d0
434cf7:	ff d6                	call   *%esi
434cf9:	8b 45 e8             	mov    -0x18(%ebp),%eax
434cfc:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
434d02:	8b f2                	mov    %edx,%esi
434d04:	83 e6 1f             	and    $0x1f,%esi
434d07:	89 75 ec             	mov    %esi,-0x14(%ebp)
434d0a:	8b 00                	mov    (%eax),%eax
434d0c:	8b 00                	mov    (%eax),%eax
434d0e:	8b 08                	mov    (%eax),%ecx
434d10:	8b 40 04             	mov    0x4(%eax),%eax
434d13:	33 ca                	xor    %edx,%ecx
434d15:	89 4d f8             	mov    %ecx,-0x8(%ebp)
434d18:	33 c2                	xor    %edx,%eax
434d1a:	8b ce                	mov    %esi,%ecx
434d1c:	d3 4d f8             	rorl   %cl,-0x8(%ebp)
434d1f:	d3 c8                	ror    %cl,%eax
434d21:	8b 4d f8             	mov    -0x8(%ebp),%ecx
434d24:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
434d27:	75 0b                	jne    0x434d34
434d29:	6a 20                	push   $0x20
434d2b:	59                   	pop    %ecx
434d2c:	3b 45 f0             	cmp    -0x10(%ebp),%eax
434d2f:	74 a0                	je     0x434cd1
434d31:	8b 4d f8             	mov    -0x8(%ebp),%ecx
434d34:	89 4d f4             	mov    %ecx,-0xc(%ebp)
434d37:	8b f9                	mov    %ecx,%edi
434d39:	89 45 f0             	mov    %eax,-0x10(%ebp)
434d3c:	8b d8                	mov    %eax,%ebx
434d3e:	eb 8e                	jmp    0x434cce
434d40:	83 ff ff             	cmp    $0xffffffff,%edi
434d43:	74 0d                	je     0x434d52
434d45:	57                   	push   %edi
434d46:	e8 cf 03 00 00       	call   0x43511a
434d4b:	8b 15 08 a0 46 00    	mov    0x46a008,%edx
434d51:	59                   	pop    %ecx
434d52:	8b c2                	mov    %edx,%eax
434d54:	33 d2                	xor    %edx,%edx
434d56:	83 e0 1f             	and    $0x1f,%eax
434d59:	6a 20                	push   $0x20
434d5b:	59                   	pop    %ecx
434d5c:	2b c8                	sub    %eax,%ecx
434d5e:	d3 ca                	ror    %cl,%edx
434d60:	8b 4d e8             	mov    -0x18(%ebp),%ecx
434d63:	33 15 08 a0 46 00    	xor    0x46a008,%edx
434d69:	8b 01                	mov    (%ecx),%eax
434d6b:	8b 00                	mov    (%eax),%eax
434d6d:	89 10                	mov    %edx,(%eax)
434d6f:	8b 01                	mov    (%ecx),%eax
434d71:	8b 00                	mov    (%eax),%eax
434d73:	89 50 04             	mov    %edx,0x4(%eax)
434d76:	8b 01                	mov    (%ecx),%eax
434d78:	8b 00                	mov    (%eax),%eax
434d7a:	89 50 08             	mov    %edx,0x8(%eax)
434d7d:	5f                   	pop    %edi
434d7e:	33 c0                	xor    %eax,%eax
434d80:	5e                   	pop    %esi
434d81:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434d84:	33 cd                	xor    %ebp,%ecx
434d86:	5b                   	pop    %ebx
434d87:	e8 aa 90 ff ff       	call   0x42de36
434d8c:	8b e5                	mov    %ebp,%esp
434d8e:	5d                   	pop    %ebp
434d8f:	c3                   	ret
434d90:	8b ff                	mov    %edi,%edi
434d92:	55                   	push   %ebp
434d93:	8b ec                	mov    %esp,%ebp
434d95:	83 ec 0c             	sub    $0xc,%esp
434d98:	8b c1                	mov    %ecx,%eax
434d9a:	89 45 f8             	mov    %eax,-0x8(%ebp)
434d9d:	56                   	push   %esi
434d9e:	8b 00                	mov    (%eax),%eax
434da0:	8b 30                	mov    (%eax),%esi
434da2:	85 f6                	test   %esi,%esi
434da4:	75 08                	jne    0x434dae
434da6:	83 c8 ff             	or     $0xffffffff,%eax
434da9:	e9 1e 01 00 00       	jmp    0x434ecc
434dae:	a1 08 a0 46 00       	mov    0x46a008,%eax
434db3:	8b c8                	mov    %eax,%ecx
434db5:	53                   	push   %ebx
434db6:	8b 1e                	mov    (%esi),%ebx
434db8:	83 e1 1f             	and    $0x1f,%ecx
434dbb:	57                   	push   %edi
434dbc:	8b 7e 04             	mov    0x4(%esi),%edi
434dbf:	33 d8                	xor    %eax,%ebx
434dc1:	8b 76 08             	mov    0x8(%esi),%esi
434dc4:	33 f8                	xor    %eax,%edi
434dc6:	33 f0                	xor    %eax,%esi
434dc8:	d3 cf                	ror    %cl,%edi
434dca:	d3 ce                	ror    %cl,%esi
434dcc:	d3 cb                	ror    %cl,%ebx
434dce:	3b fe                	cmp    %esi,%edi
434dd0:	0f 85 b4 00 00 00    	jne    0x434e8a
434dd6:	2b f3                	sub    %ebx,%esi
434dd8:	b8 00 02 00 00       	mov    $0x200,%eax
434ddd:	c1 fe 02             	sar    $0x2,%esi
434de0:	3b f0                	cmp    %eax,%esi
434de2:	77 02                	ja     0x434de6
434de4:	8b c6                	mov    %esi,%eax
434de6:	8d 3c 30             	lea    (%eax,%esi,1),%edi
434de9:	85 ff                	test   %edi,%edi
434deb:	75 03                	jne    0x434df0
434ded:	6a 20                	push   $0x20
434def:	5f                   	pop    %edi
434df0:	3b fe                	cmp    %esi,%edi
434df2:	72 1d                	jb     0x434e11
434df4:	6a 04                	push   $0x4
434df6:	57                   	push   %edi
434df7:	53                   	push   %ebx
434df8:	e8 7b 47 00 00       	call   0x439578
434dfd:	6a 00                	push   $0x0
434dff:	89 45 fc             	mov    %eax,-0x4(%ebp)
434e02:	e8 13 03 00 00       	call   0x43511a
434e07:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434e0a:	83 c4 10             	add    $0x10,%esp
434e0d:	85 c9                	test   %ecx,%ecx
434e0f:	75 28                	jne    0x434e39
434e11:	6a 04                	push   $0x4
434e13:	8d 7e 04             	lea    0x4(%esi),%edi
434e16:	57                   	push   %edi
434e17:	53                   	push   %ebx
434e18:	e8 5b 47 00 00       	call   0x439578
434e1d:	6a 00                	push   $0x0
434e1f:	89 45 fc             	mov    %eax,-0x4(%ebp)
434e22:	e8 f3 02 00 00       	call   0x43511a
434e27:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434e2a:	83 c4 10             	add    $0x10,%esp
434e2d:	85 c9                	test   %ecx,%ecx
434e2f:	75 08                	jne    0x434e39
434e31:	83 c8 ff             	or     $0xffffffff,%eax
434e34:	e9 91 00 00 00       	jmp    0x434eca
434e39:	8d 04 b1             	lea    (%ecx,%esi,4),%eax
434e3c:	8b d9                	mov    %ecx,%ebx
434e3e:	89 45 fc             	mov    %eax,-0x4(%ebp)
434e41:	8d 34 b9             	lea    (%ecx,%edi,4),%esi
434e44:	a1 08 a0 46 00       	mov    0x46a008,%eax
434e49:	8b 7d fc             	mov    -0x4(%ebp),%edi
434e4c:	83 e0 1f             	and    $0x1f,%eax
434e4f:	6a 20                	push   $0x20
434e51:	59                   	pop    %ecx
434e52:	2b c8                	sub    %eax,%ecx
434e54:	33 c0                	xor    %eax,%eax
434e56:	d3 c8                	ror    %cl,%eax
434e58:	8b cf                	mov    %edi,%ecx
434e5a:	33 05 08 a0 46 00    	xor    0x46a008,%eax
434e60:	89 45 f4             	mov    %eax,-0xc(%ebp)
434e63:	8b c6                	mov    %esi,%eax
434e65:	2b c7                	sub    %edi,%eax
434e67:	83 c0 03             	add    $0x3,%eax
434e6a:	c1 e8 02             	shr    $0x2,%eax
434e6d:	3b f7                	cmp    %edi,%esi
434e6f:	1b d2                	sbb    %edx,%edx
434e71:	f7 d2                	not    %edx
434e73:	23 d0                	and    %eax,%edx
434e75:	89 55 fc             	mov    %edx,-0x4(%ebp)
434e78:	74 10                	je     0x434e8a
434e7a:	8b 55 f4             	mov    -0xc(%ebp),%edx
434e7d:	33 c0                	xor    %eax,%eax
434e7f:	40                   	inc    %eax
434e80:	89 11                	mov    %edx,(%ecx)
434e82:	8d 49 04             	lea    0x4(%ecx),%ecx
434e85:	3b 45 fc             	cmp    -0x4(%ebp),%eax
434e88:	75 f5                	jne    0x434e7f
434e8a:	8b 45 f8             	mov    -0x8(%ebp),%eax
434e8d:	8b 40 04             	mov    0x4(%eax),%eax
434e90:	ff 30                	push   (%eax)
434e92:	e8 30 f8 ff ff       	call   0x4346c7
434e97:	53                   	push   %ebx
434e98:	89 07                	mov    %eax,(%edi)
434e9a:	e8 14 c7 ff ff       	call   0x4315b3
434e9f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
434ea2:	8b 0b                	mov    (%ebx),%ecx
434ea4:	8b 09                	mov    (%ecx),%ecx
434ea6:	89 01                	mov    %eax,(%ecx)
434ea8:	8d 47 04             	lea    0x4(%edi),%eax
434eab:	50                   	push   %eax
434eac:	e8 02 c7 ff ff       	call   0x4315b3
434eb1:	8b 0b                	mov    (%ebx),%ecx
434eb3:	56                   	push   %esi
434eb4:	8b 09                	mov    (%ecx),%ecx
434eb6:	89 41 04             	mov    %eax,0x4(%ecx)
434eb9:	e8 f5 c6 ff ff       	call   0x4315b3
434ebe:	8b 0b                	mov    (%ebx),%ecx
434ec0:	83 c4 10             	add    $0x10,%esp
434ec3:	8b 09                	mov    (%ecx),%ecx
434ec5:	89 41 08             	mov    %eax,0x8(%ecx)
434ec8:	33 c0                	xor    %eax,%eax
434eca:	5f                   	pop    %edi
434ecb:	5b                   	pop    %ebx
434ecc:	5e                   	pop    %esi
434ecd:	8b e5                	mov    %ebp,%esp
434ecf:	5d                   	pop    %ebp
434ed0:	c3                   	ret
434ed1:	8b ff                	mov    %edi,%edi
434ed3:	55                   	push   %ebp
434ed4:	8b ec                	mov    %esp,%ebp
434ed6:	ff 75 08             	push   0x8(%ebp)
434ed9:	68 24 b1 46 00       	push   $0x46b124
434ede:	e8 5e 00 00 00       	call   0x434f41
434ee3:	59                   	pop    %ecx
434ee4:	59                   	pop    %ecx
434ee5:	5d                   	pop    %ebp
434ee6:	c3                   	ret
434ee7:	8b ff                	mov    %edi,%edi
434ee9:	55                   	push   %ebp
434eea:	8b ec                	mov    %esp,%ebp
434eec:	51                   	push   %ecx
434eed:	8d 45 08             	lea    0x8(%ebp),%eax
434ef0:	89 45 fc             	mov    %eax,-0x4(%ebp)
434ef3:	8d 45 fc             	lea    -0x4(%ebp),%eax
434ef6:	50                   	push   %eax
434ef7:	6a 02                	push   $0x2
434ef9:	e8 22 fd ff ff       	call   0x434c20
434efe:	59                   	pop    %ecx
434eff:	59                   	pop    %ecx
434f00:	8b e5                	mov    %ebp,%esp
434f02:	5d                   	pop    %ebp
434f03:	c3                   	ret
434f04:	8b ff                	mov    %edi,%edi
434f06:	55                   	push   %ebp
434f07:	8b ec                	mov    %esp,%ebp
434f09:	56                   	push   %esi
434f0a:	8b 75 08             	mov    0x8(%ebp),%esi
434f0d:	85 f6                	test   %esi,%esi
434f0f:	75 05                	jne    0x434f16
434f11:	83 c8 ff             	or     $0xffffffff,%eax
434f14:	eb 28                	jmp    0x434f3e
434f16:	8b 06                	mov    (%esi),%eax
434f18:	3b 46 08             	cmp    0x8(%esi),%eax
434f1b:	75 1f                	jne    0x434f3c
434f1d:	a1 08 a0 46 00       	mov    0x46a008,%eax
434f22:	83 e0 1f             	and    $0x1f,%eax
434f25:	6a 20                	push   $0x20
434f27:	59                   	pop    %ecx
434f28:	2b c8                	sub    %eax,%ecx
434f2a:	33 c0                	xor    %eax,%eax
434f2c:	d3 c8                	ror    %cl,%eax
434f2e:	33 05 08 a0 46 00    	xor    0x46a008,%eax
434f34:	89 06                	mov    %eax,(%esi)
434f36:	89 46 04             	mov    %eax,0x4(%esi)
434f39:	89 46 08             	mov    %eax,0x8(%esi)
434f3c:	33 c0                	xor    %eax,%eax
434f3e:	5e                   	pop    %esi
434f3f:	5d                   	pop    %ebp
434f40:	c3                   	ret
434f41:	8b ff                	mov    %edi,%edi
434f43:	55                   	push   %ebp
434f44:	8b ec                	mov    %esp,%ebp
434f46:	51                   	push   %ecx
434f47:	51                   	push   %ecx
434f48:	8d 45 08             	lea    0x8(%ebp),%eax
434f4b:	89 45 f8             	mov    %eax,-0x8(%ebp)
434f4e:	8d 45 0c             	lea    0xc(%ebp),%eax
434f51:	89 45 fc             	mov    %eax,-0x4(%ebp)
434f54:	8d 45 f8             	lea    -0x8(%ebp),%eax
434f57:	50                   	push   %eax
434f58:	6a 02                	push   $0x2
434f5a:	e8 e9 fc ff ff       	call   0x434c48
434f5f:	59                   	pop    %ecx
434f60:	59                   	pop    %ecx
434f61:	8b e5                	mov    %ebp,%esp
434f63:	5d                   	pop    %ebp
434f64:	c3                   	ret
434f65:	68 60 a0 46 00       	push   $0x46a060
434f6a:	b9 3c b1 46 00       	mov    $0x46b13c,%ecx
434f6f:	e8 0b ec ff ff       	call   0x433b7f
434f74:	b0 01                	mov    $0x1,%al
434f76:	c3                   	ret
434f77:	68 24 b1 46 00       	push   $0x46b124
434f7c:	e8 83 ff ff ff       	call   0x434f04
434f81:	c7 04 24 30 b1 46 00 	movl   $0x46b130,(%esp)
434f88:	e8 77 ff ff ff       	call   0x434f04
434f8d:	59                   	pop    %ecx
434f8e:	b0 01                	mov    $0x1,%al
434f90:	c3                   	ret
434f91:	e8 0e f6 ff ff       	call   0x4345a4
434f96:	b0 01                	mov    $0x1,%al
434f98:	c3                   	ret
434f99:	a1 08 a0 46 00       	mov    0x46a008,%eax
434f9e:	56                   	push   %esi
434f9f:	6a 20                	push   $0x20
434fa1:	83 e0 1f             	and    $0x1f,%eax
434fa4:	33 f6                	xor    %esi,%esi
434fa6:	59                   	pop    %ecx
434fa7:	2b c8                	sub    %eax,%ecx
434fa9:	d3 ce                	ror    %cl,%esi
434fab:	33 35 08 a0 46 00    	xor    0x46a008,%esi
434fb1:	56                   	push   %esi
434fb2:	e8 34 ed ff ff       	call   0x433ceb
434fb7:	56                   	push   %esi
434fb8:	e8 0c fb ff ff       	call   0x434ac9
434fbd:	56                   	push   %esi
434fbe:	e8 1b 48 00 00       	call   0x4397de
434fc3:	56                   	push   %esi
434fc4:	e8 71 f0 ff ff       	call   0x43403a
434fc9:	56                   	push   %esi
434fca:	e8 32 f9 ff ff       	call   0x434901
434fcf:	83 c4 14             	add    $0x14,%esp
434fd2:	b0 01                	mov    $0x1,%al