512a08:	85 ff                	test   %edi,%edi
512a0a:	0f 84 00 02 00 00    	je     0x512c10
512a10:	8b 47 14             	mov    0x14(%edi),%eax
512a13:	89 83 e8 00 00 00    	mov    %eax,0xe8(%ebx)
512a19:	8b 47 24             	mov    0x24(%edi),%eax
512a1c:	85 c0                	test   %eax,%eax
512a1e:	74 0a                	je     0x512a2a
512a20:	50                   	push   %eax
512a21:	56                   	push   %esi
512a22:	e8 89 3d 01 00       	call   0x5267b0
512a27:	83 c4 08             	add    $0x8,%esp
512a2a:	8b 47 28             	mov    0x28(%edi),%eax
512a2d:	85 c0                	test   %eax,%eax
512a2f:	74 0a                	je     0x512a3b
512a31:	50                   	push   %eax
512a32:	56                   	push   %esi
512a33:	e8 c8 e5 fe ff       	call   0x501000
512a38:	83 c4 08             	add    $0x8,%esp
512a3b:	8b 5f 10             	mov    0x10(%edi),%ebx
512a3e:	85 db                	test   %ebx,%ebx
512a40:	0f 84 a9 00 00 00    	je     0x512aef
512a46:	85 f6                	test   %esi,%esi
512a48:	74 50                	je     0x512a9a
512a4a:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
512a51:	74 0f                	je     0x512a62
512a53:	53                   	push   %ebx
512a54:	56                   	push   %esi
512a55:	e8 16 6a ff ff       	call   0x509470
512a5a:	83 c4 08             	add    $0x8,%esp
512a5d:	e9 8d 00 00 00       	jmp    0x512aef
512a62:	3b 9e 4c 01 00 00    	cmp    0x14c(%esi),%ebx
512a68:	73 30                	jae    0x512a9a
512a6a:	3b 9e 44 01 00 00    	cmp    0x144(%esi),%ebx
512a70:	72 10                	jb     0x512a82
512a72:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
512a78:	89 03                	mov    %eax,(%ebx)
512a7a:	89 9e 40 01 00 00    	mov    %ebx,0x140(%esi)
512a80:	eb 6d                	jmp    0x512aef
512a82:	3b 9e 48 01 00 00    	cmp    0x148(%esi),%ebx
512a88:	72 10                	jb     0x512a9a
512a8a:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
512a90:	89 03                	mov    %eax,(%ebx)
512a92:	89 9e 38 01 00 00    	mov    %ebx,0x138(%esi)
512a98:	eb 55                	jmp    0x512aef
512a9a:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
512aa1:	74 42                	je     0x512ae5
512aa3:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512aa8:	85 c0                	test   %eax,%eax
512aaa:	74 0a                	je     0x512ab6
512aac:	50                   	push   %eax
512aad:	ff 15 60 18 72 00    	call   *0x721860
512ab3:	83 c4 04             	add    $0x4,%esp
512ab6:	53                   	push   %ebx
512ab7:	ff 15 3c 18 72 00    	call   *0x72183c
512abd:	29 05 20 00 73 00    	sub    %eax,0x730020
512ac3:	ff 0d 44 00 73 00    	decl   0x730044
512ac9:	53                   	push   %ebx
512aca:	ff 15 34 18 72 00    	call   *0x721834
512ad0:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512ad5:	83 c4 08             	add    $0x8,%esp
512ad8:	85 c0                	test   %eax,%eax
512ada:	74 13                	je     0x512aef
512adc:	50                   	push   %eax
512add:	ff 15 68 18 72 00    	call   *0x721868
512ae3:	eb 07                	jmp    0x512aec
512ae5:	53                   	push   %ebx
512ae6:	ff 15 34 18 72 00    	call   *0x721834
512aec:	83 c4 04             	add    $0x4,%esp
512aef:	f6 47 38 10          	testb  $0x10,0x38(%edi)
512af3:	74 61                	je     0x512b56
512af5:	8b 4f 20             	mov    0x20(%edi),%ecx
512af8:	85 c9                	test   %ecx,%ecx
512afa:	74 5a                	je     0x512b56
512afc:	85 f6                	test   %esi,%esi
512afe:	74 4d                	je     0x512b4d
512b00:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
512b07:	74 0c                	je     0x512b15
512b09:	51                   	push   %ecx
512b0a:	56                   	push   %esi
512b0b:	e8 60 69 ff ff       	call   0x509470
512b10:	83 c4 08             	add    $0x8,%esp
512b13:	eb 41                	jmp    0x512b56
512b15:	3b 8e 4c 01 00 00    	cmp    0x14c(%esi),%ecx
512b1b:	73 30                	jae    0x512b4d
512b1d:	3b 8e 44 01 00 00    	cmp    0x144(%esi),%ecx
512b23:	72 10                	jb     0x512b35
512b25:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
512b2b:	89 01                	mov    %eax,(%ecx)
512b2d:	89 8e 40 01 00 00    	mov    %ecx,0x140(%esi)
512b33:	eb 21                	jmp    0x512b56
512b35:	3b 8e 48 01 00 00    	cmp    0x148(%esi),%ecx
512b3b:	72 10                	jb     0x512b4d
512b3d:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
512b43:	89 01                	mov    %eax,(%ecx)
512b45:	89 8e 38 01 00 00    	mov    %ecx,0x138(%esi)
512b4b:	eb 09                	jmp    0x512b56
512b4d:	51                   	push   %ecx
512b4e:	e8 3d 82 fd ff       	call   0x4ead90
512b53:	83 c4 04             	add    $0x4,%esp
512b56:	85 f6                	test   %esi,%esi
512b58:	74 50                	je     0x512baa
512b5a:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
512b61:	74 0f                	je     0x512b72
512b63:	57                   	push   %edi
512b64:	56                   	push   %esi
512b65:	e8 06 69 ff ff       	call   0x509470
512b6a:	83 c4 08             	add    $0x8,%esp
512b6d:	e9 8d 00 00 00       	jmp    0x512bff
512b72:	3b be 4c 01 00 00    	cmp    0x14c(%esi),%edi
512b78:	73 30                	jae    0x512baa
512b7a:	3b be 44 01 00 00    	cmp    0x144(%esi),%edi
512b80:	72 10                	jb     0x512b92
512b82:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
512b88:	89 07                	mov    %eax,(%edi)
512b8a:	89 be 40 01 00 00    	mov    %edi,0x140(%esi)
512b90:	eb 6d                	jmp    0x512bff
512b92:	3b be 48 01 00 00    	cmp    0x148(%esi),%edi
512b98:	72 10                	jb     0x512baa
512b9a:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
512ba0:	89 07                	mov    %eax,(%edi)
512ba2:	89 be 38 01 00 00    	mov    %edi,0x138(%esi)
512ba8:	eb 55                	jmp    0x512bff
512baa:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
512bb1:	74 42                	je     0x512bf5
512bb3:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512bb8:	85 c0                	test   %eax,%eax
512bba:	74 0a                	je     0x512bc6
512bbc:	50                   	push   %eax
512bbd:	ff 15 60 18 72 00    	call   *0x721860
512bc3:	83 c4 04             	add    $0x4,%esp
512bc6:	57                   	push   %edi
512bc7:	ff 15 3c 18 72 00    	call   *0x72183c
512bcd:	29 05 20 00 73 00    	sub    %eax,0x730020
512bd3:	ff 0d 44 00 73 00    	decl   0x730044
512bd9:	57                   	push   %edi
512bda:	ff 15 34 18 72 00    	call   *0x721834
512be0:	a1 90 ff 72 00       	mov    0x72ff90,%eax
512be5:	83 c4 08             	add    $0x8,%esp
512be8:	85 c0                	test   %eax,%eax
512bea:	74 13                	je     0x512bff
512bec:	50                   	push   %eax
512bed:	ff 15 68 18 72 00    	call   *0x721868
512bf3:	eb 07                	jmp    0x512bfc
512bf5:	57                   	push   %edi
512bf6:	ff 15 34 18 72 00    	call   *0x721834
512bfc:	83 c4 04             	add    $0x4,%esp
512bff:	8b 5d 08             	mov    0x8(%ebp),%ebx
512c02:	8b bb e8 00 00 00    	mov    0xe8(%ebx),%edi
512c08:	85 ff                	test   %edi,%edi
512c0a:	0f 85 00 fe ff ff    	jne    0x512a10
512c10:	ff b3 ec 00 00 00    	push   0xec(%ebx)
512c16:	56                   	push   %esi
512c17:	e8 d4 f5 00 00       	call   0x5221f0
512c1c:	8b 43 04             	mov    0x4(%ebx),%eax
512c1f:	83 c4 08             	add    $0x8,%esp
512c22:	5f                   	pop    %edi
512c23:	85 c0                	test   %eax,%eax
512c25:	74 0a                	je     0x512c31
512c27:	50                   	push   %eax
512c28:	56                   	push   %esi
512c29:	e8 42 e7 00 00       	call   0x521370
512c2e:	83 c4 08             	add    $0x8,%esp
512c31:	ff b3 10 01 00 00    	push   0x110(%ebx)
512c37:	56                   	push   %esi
512c38:	e8 83 04 00 00       	call   0x5130c0
512c3d:	53                   	push   %ebx
512c3e:	e8 3d 14 02 00       	call   0x534080
512c43:	83 c4 0c             	add    $0xc,%esp
512c46:	5e                   	pop    %esi
512c47:	5b                   	pop    %ebx
512c48:	5d                   	pop    %ebp
512c49:	c3                   	ret
512c4a:	cc                   	int3
512c4b:	cc                   	int3
512c4c:	cc                   	int3
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