512c4d:	cc                   	int3
512c4e:	cc                   	int3
512c4f:	cc                   	int3
512c50:	55                   	push   %ebp
512c51:	8b ec                	mov    %esp,%ebp
512c53:	51                   	push   %ecx
512c54:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
512c58:	56                   	push   %esi
512c59:	57                   	push   %edi
512c5a:	8b 7d 10             	mov    0x10(%ebp),%edi
512c5d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
512c64:	74 07                	je     0x512c6d
512c66:	b8 01 00 00 00       	mov    $0x1,%eax
512c6b:	eb 0c                	jmp    0x512c79
512c6d:	ff 75 0c             	push   0xc(%ebp)
512c70:	57                   	push   %edi
512c71:	e8 4a 52 01 00       	call   0x527ec0
512c76:	83 c4 08             	add    $0x8,%esp
512c79:	8b 75 08             	mov    0x8(%ebp),%esi
512c7c:	68 14 01 00 00       	push   $0x114
512c81:	6a 00                	push   $0x0
512c83:	56                   	push   %esi
512c84:	88 87 a4 00 00 00    	mov    %al,0xa4(%edi)
512c8a:	e8 71 0d 0d 00       	call   0x5e3a00
512c8f:	8d 45 fc             	lea    -0x4(%ebp),%eax
512c92:	c6 86 c8 00 00 00 02 	movb   $0x2,0xc8(%esi)
512c99:	50                   	push   %eax
512c9a:	ff 75 14             	push   0x14(%ebp)
512c9d:	89 3e                	mov    %edi,(%esi)
512c9f:	56                   	push   %esi
512ca0:	c7 86 84 00 00 00 01 	movl   $0x1,0x84(%esi)
512ca7:	00 00 00
512caa:	e8 e1 5f 02 00       	call   0x538c90
512caf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
512cb2:	83 c4 18             	add    $0x18,%esp
512cb5:	89 4e 04             	mov    %ecx,0x4(%esi)
512cb8:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
512cbc:	74 12                	je     0x512cd0
512cbe:	c6 87 a4 00 00 00 00 	movb   $0x0,0xa4(%edi)
512cc5:	b8 07 00 00 00       	mov    $0x7,%eax
512cca:	5f                   	pop    %edi
512ccb:	5e                   	pop    %esi
512ccc:	8b e5                	mov    %ebp,%esp
512cce:	5d                   	pop    %ebp
512ccf:	c3                   	ret
512cd0:	85 c0                	test   %eax,%eax
512cd2:	75 25                	jne    0x512cf9
512cd4:	39 86 e4 00 00 00    	cmp    %eax,0xe4(%esi)
512cda:	75 1d                	jne    0x512cf9
512cdc:	39 86 e8 00 00 00    	cmp    %eax,0xe8(%esi)
512ce2:	75 15                	jne    0x512cf9
512ce4:	39 86 ec 00 00 00    	cmp    %eax,0xec(%esi)
512cea:	75 0d                	jne    0x512cf9
512cec:	68 a5 9c 01 00       	push   $0x19ca5
512cf1:	e8 ba d0 00 00       	call   0x51fdb0
512cf6:	83 c4 04             	add    $0x4,%esp
512cf9:	c6 87 a4 00 00 00 00 	movb   $0x0,0xa4(%edi)
512d00:	5f                   	pop    %edi
512d01:	5e                   	pop    %esi
512d02:	8b e5                	mov    %ebp,%esp
512d04:	5d                   	pop    %ebp
512d05:	c3                   	ret
512d06:	cc                   	int3
512d07:	cc                   	int3
512d08:	cc                   	int3
512d09:	cc                   	int3
512d0a:	cc                   	int3
512d0b:	cc                   	int3
512d0c:	cc                   	int3
512d0d:	cc                   	int3
512d0e:	cc                   	int3
512d0f:	cc                   	int3
512d10:	55                   	push   %ebp
512d11:	8b ec                	mov    %esp,%ebp
512d13:	57                   	push   %edi
512d14:	8b 7d 08             	mov    0x8(%ebp),%edi
512d17:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
512d1b:	74 2e                	je     0x512d4b
512d1d:	56                   	push   %esi
512d1e:	8b 75 0c             	mov    0xc(%ebp),%esi
512d21:	56                   	push   %esi
512d22:	57                   	push   %edi
512d23:	e8 28 b2 00 00       	call   0x51df50
512d28:	6a 00                	push   $0x0
512d2a:	56                   	push   %esi
512d2b:	ff 77 08             	push   0x8(%edi)
512d2e:	e8 1d f0 02 00       	call   0x541d50
512d33:	83 c4 14             	add    $0x14,%esp
512d36:	83 fe 01             	cmp    $0x1,%esi
512d39:	5e                   	pop    %esi
512d3a:	74 0f                	je     0x512d4b
512d3c:	6a 00                	push   $0x0
512d3e:	6a 01                	push   $0x1
512d40:	ff 77 08             	push   0x8(%edi)
512d43:	e8 08 f0 02 00       	call   0x541d50
512d48:	83 c4 0c             	add    $0xc,%esp
512d4b:	5f                   	pop    %edi
512d4c:	5d                   	pop    %ebp
512d4d:	c3                   	ret
512d4e:	cc                   	int3
512d4f:	cc                   	int3
512d50:	55                   	push   %ebp
512d51:	8b ec                	mov    %esp,%ebp
512d53:	81 ec 80 00 00 00    	sub    $0x80,%esp
512d59:	a1 d4 89 72 00       	mov    0x7289d4,%eax
512d5e:	33 c5                	xor    %ebp,%eax
512d60:	89 45 fc             	mov    %eax,-0x4(%ebp)
512d63:	8b 45 0c             	mov    0xc(%ebp),%eax
512d66:	0f 57 c0             	xorps  %xmm0,%xmm0
512d69:	53                   	push   %ebx
512d6a:	8b 5d 08             	mov    0x8(%ebp),%ebx
512d6d:	b9 c0 bd f0 ff       	mov    $0xfff0bdc0,%ecx
512d72:	56                   	push   %esi
512d73:	57                   	push   %edi
512d74:	0f 11 45 8c          	movups %xmm0,-0x74(%ebp)
512d78:	8b bb ec 00 00 00    	mov    0xec(%ebx),%edi
512d7e:	33 f6                	xor    %esi,%esi
512d80:	0f 11 45 9c          	movups %xmm0,-0x64(%ebp)
512d84:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
512d87:	89 45 88             	mov    %eax,-0x78(%ebp)
512d8a:	8b 57 18             	mov    0x18(%edi),%edx
512d8d:	8b 03                	mov    (%ebx),%eax
512d8f:	89 5d 80             	mov    %ebx,-0x80(%ebp)
512d92:	85 d2                	test   %edx,%edx
512d94:	74 16                	je     0x512dac
512d96:	8b 40 10             	mov    0x10(%eax),%eax
512d99:	33 c9                	xor    %ecx,%ecx
512d9b:	83 c0 0c             	add    $0xc,%eax
512d9e:	39 10                	cmp    %edx,(%eax)
512da0:	74 08                	je     0x512daa
512da2:	8d 40 10             	lea    0x10(%eax),%eax
512da5:	41                   	inc    %ecx
512da6:	39 10                	cmp    %edx,(%eax)
512da8:	75 f8                	jne    0x512da2
512daa:	8b 03                	mov    (%ebx),%eax
512dac:	8b 40 10             	mov    0x10(%eax),%eax
512daf:	03 c9                	add    %ecx,%ecx
512db1:	ff 34 c8             	push   (%eax,%ecx,8)
512db4:	ff 77 04             	push   0x4(%edi)
512db7:	ff 33                	push   (%ebx)
512db9:	e8 02 5c 01 00       	call   0x5289c0
512dbe:	8b c8                	mov    %eax,%ecx
512dc0:	83 c4 0c             	add    $0xc,%esp
512dc3:	89 4b 78             	mov    %ecx,0x78(%ebx)
512dc6:	8a 47 08             	mov    0x8(%edi),%al
512dc9:	88 83 90 00 00 00    	mov    %al,0x90(%ebx)
512dcf:	85 c9                	test   %ecx,%ecx
512dd1:	74 10                	je     0x512de3
512dd3:	51                   	push   %ecx
512dd4:	53                   	push   %ebx
512dd5:	e8 06 ae 03 00       	call   0x54dbe0
512dda:	8b f0                	mov    %eax,%esi
512ddc:	83 c4 08             	add    $0x8,%esp
512ddf:	85 f6                	test   %esi,%esi
512de1:	75 16                	jne    0x512df9
512de3:	8b 4f 0c             	mov    0xc(%edi),%ecx
512de6:	85 c9                	test   %ecx,%ecx
512de8:	74 0f                	je     0x512df9
512dea:	51                   	push   %ecx
512deb:	8d 45 8c             	lea    -0x74(%ebp),%eax
512dee:	50                   	push   %eax
512def:	e8 8c 54 02 00       	call   0x538280
512df4:	83 c4 08             	add    $0x8,%esp
512df7:	8b f0                	mov    %eax,%esi
512df9:	8b 7f 1c             	mov    0x1c(%edi),%edi
512dfc:	85 f6                	test   %esi,%esi
512dfe:	0f 85 3f 01 00 00    	jne    0x512f43
512e04:	85 ff                	test   %edi,%edi
512e06:	0f 84 37 01 00 00    	je     0x512f43
512e0c:	8b 47 08             	mov    0x8(%edi),%eax
512e0f:	85 c0                	test   %eax,%eax
512e11:	74 17                	je     0x512e2a
512e13:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
512e16:	51                   	push   %ecx
512e17:	50                   	push   %eax
512e18:	53                   	push   %ebx
512e19:	e8 12 98 02 00       	call   0x53c630
512e1e:	83 c4 0c             	add    $0xc,%esp
512e21:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
512e25:	74 03                	je     0x512e2a
512e27:	8b 73 0c             	mov    0xc(%ebx),%esi
512e2a:	85 f6                	test   %esi,%esi
512e2c:	0f 85 06 01 00 00    	jne    0x512f38
512e32:	8b 47 0c             	mov    0xc(%edi),%eax
512e35:	85 c0                	test   %eax,%eax
512e37:	0f 84 fb 00 00 00    	je     0x512f38
512e3d:	ff 75 88             	push   -0x78(%ebp)
512e40:	50                   	push   %eax
512e41:	56                   	push   %esi
512e42:	53                   	push   %ebx
512e43:	e8 a8 dc 01 00       	call   0x530af0
512e48:	83 c4 10             	add    $0x10,%esp
512e4b:	89 45 84             	mov    %eax,-0x7c(%ebp)
512e4e:	85 c0                	test   %eax,%eax
512e50:	75 08                	jne    0x512e5a
512e52:	8d 70 01             	lea    0x1(%eax),%esi
512e55:	e9 de 00 00 00       	jmp    0x512f38
512e5a:	50                   	push   %eax
512e5b:	53                   	push   %ebx
512e5c:	e8 7f ad 03 00       	call   0x54dbe0
512e61:	8b f0                	mov    %eax,%esi
512e63:	83 c4 08             	add    $0x8,%esp
512e66:	85 f6                	test   %esi,%esi
512e68:	0f 85 ca 00 00 00    	jne    0x512f38
512e6e:	6a 50                	push   $0x50
512e70:	50                   	push   %eax
512e71:	8d 45 ac             	lea    -0x54(%ebp),%eax
512e74:	50                   	push   %eax
512e75:	e8 86 0b 0d 00       	call   0x5e3a00
512e7a:	8b 47 0c             	mov    0xc(%edi),%eax
512e7d:	83 c4 0c             	add    $0xc,%esp
512e80:	89 45 bc             	mov    %eax,-0x44(%ebp)
512e83:	8b 45 84             	mov    -0x7c(%ebp),%eax
512e86:	89 45 c4             	mov    %eax,-0x3c(%ebp)
512e89:	8d 45 ac             	lea    -0x54(%ebp),%eax
512e8c:	89 45 90             	mov    %eax,-0x70(%ebp)
512e8f:	8b 47 10             	mov    0x10(%edi),%eax
512e92:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
512e99:	85 c0                	test   %eax,%eax
512e9b:	74 13                	je     0x512eb0
512e9d:	50                   	push   %eax
512e9e:	8d 45 8c             	lea    -0x74(%ebp),%eax
512ea1:	50                   	push   %eax
512ea2:	e8 d9 53 02 00       	call   0x538280
512ea7:	8b f0                	mov    %eax,%esi
512ea9:	83 c4 08             	add    $0x8,%esp
512eac:	85 f6                	test   %esi,%esi
512eae:	75 11                	jne    0x512ec1
512eb0:	ff 77 14             	push   0x14(%edi)
512eb3:	8d 45 8c             	lea    -0x74(%ebp),%eax
512eb6:	50                   	push   %eax
512eb7:	e8 b4 52 02 00       	call   0x538170
512ebc:	83 c4 08             	add    $0x8,%esp
512ebf:	8b f0                	mov    %eax,%esi
512ec1:	8b 5f 1c             	mov    0x1c(%edi),%ebx
512ec4:	85 db                	test   %ebx,%ebx
512ec6:	74 66                	je     0x512f2e
512ec8:	8d 45 ac             	lea    -0x54(%ebp),%eax
512ecb:	89 43 14             	mov    %eax,0x14(%ebx)
512ece:	8d 45 8c             	lea    -0x74(%ebp),%eax
512ed1:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
512ed4:	c7 45 a4 00 02 00 00 	movl   $0x200,-0x5c(%ebp)
512edb:	ff 33                	push   (%ebx)
512edd:	50                   	push   %eax
512ede:	e8 8d 52 02 00       	call   0x538170
512ee3:	8b f0                	mov    %eax,%esi
512ee5:	83 c4 08             	add    $0x8,%esp
512ee8:	85 f6                	test   %esi,%esi
512eea:	75 3b                	jne    0x512f27
512eec:	ff 73 08             	push   0x8(%ebx)
512eef:	8d 45 8c             	lea    -0x74(%ebp),%eax
512ef2:	50                   	push   %eax
512ef3:	e8 78 52 02 00       	call   0x538170
512ef8:	8b f0                	mov    %eax,%esi
512efa:	83 c4 08             	add    $0x8,%esp
512efd:	85 f6                	test   %esi,%esi
512eff:	75 26                	jne    0x512f27
512f01:	ff 73 0c             	push   0xc(%ebx)
512f04:	8d 45 8c             	lea    -0x74(%ebp),%eax
512f07:	50                   	push   %eax
512f08:	e8 73 53 02 00       	call   0x538280
512f0d:	8b f0                	mov    %eax,%esi
512f0f:	83 c4 08             	add    $0x8,%esp
512f12:	85 f6                	test   %esi,%esi
512f14:	75 11                	jne    0x512f27
512f16:	ff 73 04             	push   0x4(%ebx)
512f19:	8d 45 8c             	lea    -0x74(%ebp),%eax
512f1c:	50                   	push   %eax
512f1d:	e8 5e 53 02 00       	call   0x538280
512f22:	83 c4 08             	add    $0x8,%esp
512f25:	8b f0                	mov    %eax,%esi
512f27:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
512f2e:	8b 5d 80             	mov    -0x80(%ebp),%ebx
512f31:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
512f38:	8b 7f 24             	mov    0x24(%edi),%edi
512f3b:	85 f6                	test   %esi,%esi
512f3d:	0f 84 c1 fe ff ff    	je     0x512e04
512f43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
512f46:	8b c6                	mov    %esi,%eax
512f48:	5f                   	pop    %edi
512f49:	5e                   	pop    %esi
512f4a:	33 cd                	xor    %ebp,%ecx
512f4c:	5b                   	pop    %ebx
512f4d:	e8 88 e5 0c 00       	call   0x5e14da
512f52:	8b e5                	mov    %ebp,%esp
512f54:	5d                   	pop    %ebp
512f55:	c3                   	ret
512f56:	cc                   	int3
512f57:	cc                   	int3
512f58:	cc                   	int3
512f59:	cc                   	int3
512f5a:	cc                   	int3
512f5b:	cc                   	int3
512f5c:	cc                   	int3
512f5d:	cc                   	int3
512f5e:	cc                   	int3
512f5f:	cc                   	int3
512f60:	55                   	push   %ebp
512f61:	8b ec                	mov    %esp,%ebp
512f63:	8b 45 0c             	mov    0xc(%ebp),%eax
512f66:	8b 4d 08             	mov    0x8(%ebp),%ecx
512f69:	80 38 a4             	cmpb   $0xa4,(%eax)
512f6c:	8b 51 18             	mov    0x18(%ecx),%edx
512f6f:	75 1c                	jne    0x512f8d
512f71:	56                   	push   %esi
512f72:	8d 70 2c             	lea    0x2c(%eax),%esi
512f75:	8b 42 0c             	mov    0xc(%edx),%eax
512f78:	3b 06                	cmp    (%esi),%eax
512f7a:	75 0c                	jne    0x512f88
512f7c:	56                   	push   %esi
512f7d:	52                   	push   %edx
512f7e:	ff 31                	push   (%ecx)
512f80:	e8 fb 00 00 00       	call   0x513080
512f85:	83 c4 0c             	add    $0xc,%esp
512f88:	33 c0                	xor    %eax,%eax
512f8a:	5e                   	pop    %esi
512f8b:	5d                   	pop    %ebp
512f8c:	c3                   	ret
512f8d:	33 c0                	xor    %eax,%eax
512f8f:	5d                   	pop    %ebp
512f90:	c3                   	ret
512f91:	cc                   	int3
512f92:	cc                   	int3
512f93:	cc                   	int3
512f94:	cc                   	int3
512f95:	cc                   	int3
512f96:	cc                   	int3
512f97:	cc                   	int3
512f98:	cc                   	int3
512f99:	cc                   	int3
512f9a:	cc                   	int3
512f9b:	cc                   	int3
512f9c:	cc                   	int3
512f9d:	cc                   	int3
512f9e:	cc                   	int3
512f9f:	cc                   	int3
512fa0:	55                   	push   %ebp
512fa1:	8b ec                	mov    %esp,%ebp
512fa3:	51                   	push   %ecx
512fa4:	8b 55 0c             	mov    0xc(%ebp),%edx
512fa7:	8b 4d 08             	mov    0x8(%ebp),%ecx
512faa:	53                   	push   %ebx
512fab:	f7 42 04 00 00 20 00 	testl  $0x200000,0x4(%edx)
512fb2:	8b 42 20             	mov    0x20(%edx),%eax
512fb5:	8b 59 18             	mov    0x18(%ecx),%ebx
512fb8:	89 45 fc             	mov    %eax,-0x4(%ebp)
512fbb:	74 0a                	je     0x512fc7
512fbd:	b8 01 00 00 00       	mov    $0x1,%eax
512fc2:	5b                   	pop    %ebx
512fc3:	8b e5                	mov    %ebp,%esp