408a53:	89 4d c0             	mov    %ecx,-0x40(%ebp)
408a56:	89 55 cc             	mov    %edx,-0x34(%ebp)
408a59:	75 27                	jne    0x408a82
408a5b:	8b 30                	mov    (%eax),%esi
408a5d:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
408a61:	50                   	push   %eax
408a62:	52                   	push   %edx
408a63:	8b 76 24             	mov    0x24(%esi),%esi
408a66:	51                   	push   %ecx
408a67:	ff 75 10             	push   0x10(%ebp)
408a6a:	8b ce                	mov    %esi,%ecx
408a6c:	ff 75 0c             	push   0xc(%ebp)
408a6f:	57                   	push   %edi
408a70:	ff 15 5c e2 43 00    	call   *0x43e25c
408a76:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408a79:	ff d6                	call   *%esi
408a7b:	8b c7                	mov    %edi,%eax
408a7d:	e9 97 01 00 00       	jmp    0x408c19
408a82:	8b 41 30             	mov    0x30(%ecx),%eax
408a85:	8b 78 04             	mov    0x4(%eax),%edi
408a88:	89 7d c8             	mov    %edi,-0x38(%ebp)
408a8b:	8b 07                	mov    (%edi),%eax
408a8d:	8b 70 04             	mov    0x4(%eax),%esi
408a90:	8b ce                	mov    %esi,%ecx
408a92:	ff 15 5c e2 43 00    	call   *0x43e25c
408a98:	8b cf                	mov    %edi,%ecx
408a9a:	ff d6                	call   *%esi
408a9c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408a9f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408aa6:	50                   	push   %eax
408aa7:	e8 f4 18 00 00       	call   0x40a3a0
408aac:	8b f8                	mov    %eax,%edi
408aae:	83 c4 04             	add    $0x4,%esp
408ab1:	8b 45 c8             	mov    -0x38(%ebp),%eax
408ab4:	89 7d d0             	mov    %edi,-0x30(%ebp)
408ab7:	85 c0                	test   %eax,%eax
408ab9:	74 2d                	je     0x408ae8
408abb:	8b 10                	mov    (%eax),%edx
408abd:	8b 72 08             	mov    0x8(%edx),%esi
408ac0:	8b ce                	mov    %esi,%ecx
408ac2:	ff 15 5c e2 43 00    	call   *0x43e25c
408ac8:	8b 4d c8             	mov    -0x38(%ebp),%ecx
408acb:	ff d6                	call   *%esi
408acd:	8b f8                	mov    %eax,%edi
408acf:	85 ff                	test   %edi,%edi
408ad1:	74 12                	je     0x408ae5
408ad3:	8b 0f                	mov    (%edi),%ecx
408ad5:	6a 01                	push   $0x1
408ad7:	8b 31                	mov    (%ecx),%esi
408ad9:	8b ce                	mov    %esi,%ecx
408adb:	ff 15 5c e2 43 00    	call   *0x43e25c
408ae1:	8b cf                	mov    %edi,%ecx
408ae3:	ff d6                	call   *%esi
408ae5:	8b 7d d0             	mov    -0x30(%ebp),%edi
408ae8:	33 c0                	xor    %eax,%eax
408aea:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
408af1:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
408af8:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
408aff:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
408b03:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
408b07:	8d 45 a4             	lea    -0x5c(%ebp),%eax
408b0a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408b11:	8b 37                	mov    (%edi),%esi
408b13:	50                   	push   %eax
408b14:	74 05                	je     0x408b1b
408b16:	8b 76 1c             	mov    0x1c(%esi),%esi
408b19:	eb 03                	jmp    0x408b1e
408b1b:	8b 76 18             	mov    0x18(%esi),%esi
408b1e:	8b ce                	mov    %esi,%ecx
408b20:	ff 15 5c e2 43 00    	call   *0x43e25c
408b26:	8b cf                	mov    %edi,%ecx
408b28:	ff d6                	call   *%esi
408b2a:	0f 10 45 a4          	movups -0x5c(%ebp),%xmm0
408b2e:	8b 7d c0             	mov    -0x40(%ebp),%edi
408b31:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
408b35:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
408b39:	f3 0f 7e 45 b4       	movq   -0x4c(%ebp),%xmm0
408b3e:	8b 77 20             	mov    0x20(%edi),%esi
408b41:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
408b46:	8b 45 e8             	mov    -0x18(%ebp),%eax
408b49:	7c 0e                	jl     0x408b59
408b4b:	7f 04                	jg     0x408b51
408b4d:	85 f6                	test   %esi,%esi
408b4f:	74 08                	je     0x408b59
408b51:	3b f0                	cmp    %eax,%esi
408b53:	76 04                	jbe    0x408b59
408b55:	2b f0                	sub    %eax,%esi
408b57:	eb 02                	jmp    0x408b5b
408b59:	33 f6                	xor    %esi,%esi
408b5b:	8b 47 14             	mov    0x14(%edi),%eax
408b5e:	25 c0 01 00 00       	and    $0x1c0,%eax
408b63:	83 f8 40             	cmp    $0x40,%eax
408b66:	74 28                	je     0x408b90
408b68:	56                   	push   %esi
408b69:	ff 75 cc             	push   -0x34(%ebp)
408b6c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408b6f:	ff 75 10             	push   0x10(%ebp)
408b72:	ff 75 0c             	push   0xc(%ebp)
408b75:	50                   	push   %eax
408b76:	ff 75 d4             	push   -0x2c(%ebp)
408b79:	e8 a2 03 00 00       	call   0x408f20
408b7e:	83 c4 18             	add    $0x18,%esp
408b81:	33 f6                	xor    %esi,%esi
408b83:	8b 08                	mov    (%eax),%ecx
408b85:	8b 50 04             	mov    0x4(%eax),%edx
408b88:	89 4d 0c             	mov    %ecx,0xc(%ebp)
408b8b:	89 55 10             	mov    %edx,0x10(%ebp)
408b8e:	eb 06                	jmp    0x408b96
408b90:	8b 55 10             	mov    0x10(%ebp),%edx
408b93:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408b96:	ff 75 e8             	push   -0x18(%ebp)
408b99:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
408b9d:	8d 45 d8             	lea    -0x28(%ebp),%eax
408ba0:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
408ba4:	50                   	push   %eax
408ba5:	52                   	push   %edx
408ba6:	51                   	push   %ecx
408ba7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408baa:	50                   	push   %eax
408bab:	ff 75 d4             	push   -0x2c(%ebp)
408bae:	e8 fd 03 00 00       	call   0x408fb0
408bb3:	56                   	push   %esi
408bb4:	ff 75 cc             	push   -0x34(%ebp)
408bb7:	8b 75 bc             	mov    -0x44(%ebp),%esi
408bba:	8b 08                	mov    (%eax),%ecx
408bbc:	8b 40 04             	mov    0x4(%eax),%eax
408bbf:	50                   	push   %eax
408bc0:	51                   	push   %ecx
408bc1:	56                   	push   %esi
408bc2:	ff 75 d4             	push   -0x2c(%ebp)
408bc5:	89 4d 0c             	mov    %ecx,0xc(%ebp)
408bc8:	89 45 10             	mov    %eax,0x10(%ebp)
408bcb:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
408bd2:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
408bd9:	e8 42 03 00 00       	call   0x408f20
408bde:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408be1:	83 c4 30             	add    $0x30,%esp
408be4:	83 f9 08             	cmp    $0x8,%ecx
408be7:	72 2e                	jb     0x408c17
408be9:	8b 55 d8             	mov    -0x28(%ebp),%edx
408bec:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
408bf3:	8b c2                	mov    %edx,%eax
408bf5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408bfb:	72 10                	jb     0x408c0d
408bfd:	8b 50 fc             	mov    -0x4(%eax),%edx
408c00:	83 c1 23             	add    $0x23,%ecx
408c03:	2b c2                	sub    %edx,%eax
408c05:	83 c0 fc             	add    $0xfffffffc,%eax
408c08:	83 f8 1f             	cmp    $0x1f,%eax
408c0b:	77 29                	ja     0x408c36
408c0d:	51                   	push   %ecx
408c0e:	52                   	push   %edx
408c0f:	e8 a4 0f 01 00       	call   0x419bb8
408c14:	83 c4 08             	add    $0x8,%esp
408c17:	8b c6                	mov    %esi,%eax
408c19:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408c1c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408c23:	59                   	pop    %ecx
408c24:	5f                   	pop    %edi
408c25:	5e                   	pop    %esi
408c26:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408c29:	33 cd                	xor    %ebp,%ecx
408c2b:	e8 7a 0f 01 00       	call   0x419baa
408c30:	8b e5                	mov    %ebp,%esp
408c32:	5d                   	pop    %ebp
408c33:	c2 18 00             	ret    $0x18
408c36:	e8 58 6d 01 00       	call   0x41f993
408c3b:	cc                   	int3
408c3c:	cc                   	int3
408c3d:	cc                   	int3
408c3e:	cc                   	int3
408c3f:	cc                   	int3
408c40:	55                   	push   %ebp
408c41:	8b ec                	mov    %esp,%ebp
408c43:	6a ff                	push   $0xffffffff
408c45:	68 a0 bd 43 00       	push   $0x43bda0
408c4a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408c50:	50                   	push   %eax
408c51:	56                   	push   %esi
408c52:	57                   	push   %edi
408c53:	a1 14 50 45 00       	mov    0x455014,%eax
408c58:	33 c5                	xor    %ebp,%eax
408c5a:	50                   	push   %eax
408c5b:	8d 45 f4             	lea    -0xc(%ebp),%eax
408c5e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408c64:	8b f1                	mov    %ecx,%esi
408c66:	e8 bf 06 01 00       	call   0x41932a
408c6b:	84 c0                	test   %al,%al
408c6d:	75 07                	jne    0x408c76
408c6f:	8b 0e                	mov    (%esi),%ecx
408c71:	e8 1a 10 00 00       	call   0x409c90
408c76:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408c7d:	8b 0e                	mov    (%esi),%ecx
408c7f:	8b 01                	mov    (%ecx),%eax
408c81:	8b 40 04             	mov    0x4(%eax),%eax
408c84:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
408c88:	85 ff                	test   %edi,%edi
408c8a:	74 11                	je     0x408c9d
408c8c:	8b 07                	mov    (%edi),%eax
408c8e:	8b 70 08             	mov    0x8(%eax),%esi
408c91:	8b ce                	mov    %esi,%ecx
408c93:	ff 15 5c e2 43 00    	call   *0x43e25c
408c99:	8b cf                	mov    %edi,%ecx
408c9b:	ff d6                	call   *%esi
408c9d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408ca0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408ca7:	59                   	pop    %ecx
408ca8:	5f                   	pop    %edi
408ca9:	5e                   	pop    %esi
408caa:	8b e5                	mov    %ebp,%esp
408cac:	5d                   	pop    %ebp
408cad:	c3                   	ret
408cae:	cc                   	int3
408caf:	cc                   	int3
408cb0:	cc                   	int3
408cb1:	cc                   	int3
408cb2:	cc                   	int3
408cb3:	cc                   	int3
408cb4:	cc                   	int3
408cb5:	cc                   	int3
408cb6:	cc                   	int3
408cb7:	cc                   	int3
408cb8:	cc                   	int3
408cb9:	cc                   	int3
408cba:	cc                   	int3
408cbb:	cc                   	int3
408cbc:	cc                   	int3
408cbd:	cc                   	int3
408cbe:	cc                   	int3
408cbf:	cc                   	int3
408cc0:	55                   	push   %ebp
408cc1:	8b ec                	mov    %esp,%ebp
408cc3:	6a ff                	push   $0xffffffff
408cc5:	68 0d bf 43 00       	push   $0x43bf0d
408cca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408cd0:	50                   	push   %eax
408cd1:	83 ec 08             	sub    $0x8,%esp
408cd4:	53                   	push   %ebx
408cd5:	56                   	push   %esi
408cd6:	57                   	push   %edi
408cd7:	a1 14 50 45 00       	mov    0x455014,%eax
408cdc:	33 c5                	xor    %ebp,%eax
408cde:	50                   	push   %eax
408cdf:	8d 45 f4             	lea    -0xc(%ebp),%eax
408ce2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408ce8:	8b d9                	mov    %ecx,%ebx
408cea:	89 5d ec             	mov    %ebx,-0x14(%ebp)
408ced:	8b 7d 08             	mov    0x8(%ebp),%edi
408cf0:	89 3b                	mov    %edi,(%ebx)
408cf2:	8b 07                	mov    (%edi),%eax
408cf4:	8b 40 04             	mov    0x4(%eax),%eax
408cf7:	8b 44 38 38          	mov    0x38(%eax,%edi,1),%eax
408cfb:	89 45 f0             	mov    %eax,-0x10(%ebp)
408cfe:	85 c0                	test   %eax,%eax
408d00:	74 12                	je     0x408d14
408d02:	8b 00                	mov    (%eax),%eax
408d04:	8b 70 04             	mov    0x4(%eax),%esi
408d07:	8b ce                	mov    %esi,%ecx
408d09:	ff 15 5c e2 43 00    	call   *0x43e25c
408d0f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408d12:	ff d6                	call   *%esi
408d14:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408d1b:	8b 07                	mov    (%edi),%eax
408d1d:	8b 40 04             	mov    0x4(%eax),%eax
408d20:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
408d25:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
408d28:	74 04                	je     0x408d2e
408d2a:	32 c0                	xor    %al,%al
408d2c:	eb 21                	jmp    0x408d4f
408d2e:	8b 49 3c             	mov    0x3c(%ecx),%ecx
408d31:	85 c9                	test   %ecx,%ecx
408d33:	74 18                	je     0x408d4d
408d35:	3b cf                	cmp    %edi,%ecx
408d37:	74 14                	je     0x408d4d
408d39:	e8 22 0e 00 00       	call   0x409b60
408d3e:	8b 07                	mov    (%edi),%eax
408d40:	8b 40 04             	mov    0x4(%eax),%eax
408d43:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
408d48:	0f 94 c0             	sete   %al
408d4b:	eb 02                	jmp    0x408d4f
408d4d:	b0 01                	mov    $0x1,%al
408d4f:	88 43 04             	mov    %al,0x4(%ebx)
408d52:	8b c3                	mov    %ebx,%eax
408d54:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408d57:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408d5e:	59                   	pop    %ecx
408d5f:	5f                   	pop    %edi
408d60:	5e                   	pop    %esi
408d61:	5b                   	pop    %ebx
408d62:	8b e5                	mov    %ebp,%esp
408d64:	5d                   	pop    %ebp
408d65:	c2 04 00             	ret    $0x4
408d68:	cc                   	int3
408d69:	cc                   	int3
408d6a:	cc                   	int3
408d6b:	cc                   	int3
408d6c:	cc                   	int3
408d6d:	cc                   	int3
408d6e:	cc                   	int3
408d6f:	cc                   	int3
408d70:	8b 41 20             	mov    0x20(%ecx),%eax
408d73:	83 38 00             	cmpl   $0x0,(%eax)
408d76:	74 07                	je     0x408d7f
408d78:	8b 41 30             	mov    0x30(%ecx),%eax
408d7b:	8b 00                	mov    (%eax),%eax
408d7d:	99                   	cltd
408d7e:	c3                   	ret
408d7f:	33 c0                	xor    %eax,%eax
408d81:	99                   	cltd
408d82:	c3                   	ret
408d83:	cc                   	int3
408d84:	cc                   	int3
408d85:	cc                   	int3
408d86:	cc                   	int3
408d87:	cc                   	int3
408d88:	cc                   	int3
408d89:	cc                   	int3
408d8a:	cc                   	int3
408d8b:	cc                   	int3
408d8c:	cc                   	int3
408d8d:	cc                   	int3
408d8e:	cc                   	int3
408d8f:	cc                   	int3
408d90:	8b 41 1c             	mov    0x1c(%ecx),%eax
408d93:	83 38 00             	cmpl   $0x0,(%eax)
408d96:	74 07                	je     0x408d9f
408d98:	8b 41 2c             	mov    0x2c(%ecx),%eax
408d9b:	8b 00                	mov    (%eax),%eax
408d9d:	99                   	cltd
408d9e:	c3                   	ret
408d9f:	33 c0                	xor    %eax,%eax
408da1:	99                   	cltd
408da2:	c3                   	ret
408da3:	cc                   	int3
408da4:	cc                   	int3
408da5:	cc                   	int3
408da6:	cc                   	int3
408da7:	cc                   	int3
408da8:	cc                   	int3
408da9:	cc                   	int3
408daa:	cc                   	int3
408dab:	cc                   	int3
408dac:	cc                   	int3
408dad:	cc                   	int3
408dae:	cc                   	int3
408daf:	cc                   	int3
408db0:	55                   	push   %ebp
408db1:	8b ec                	mov    %esp,%ebp
408db3:	ff 75 0c             	push   0xc(%ebp)
408db6:	33 d2                	xor    %edx,%edx