4d9a96:	66 0f ef cb          	pxor   %xmm3,%xmm1
4d9a9a:	66 0f ef c2          	pxor   %xmm2,%xmm0
4d9a9e:	0f 11 04 82          	movups %xmm0,(%edx,%eax,4)
4d9aa2:	0f 11 0c 86          	movups %xmm1,(%esi,%eax,4)
4d9aa6:	83 c0 04             	add    $0x4,%eax
4d9aa9:	3b c7                	cmp    %edi,%eax
4d9aab:	7c d3                	jl     0x4d9a80
4d9aad:	89 44 24 18          	mov    %eax,0x18(%esp)
4d9ab1:	3b c1                	cmp    %ecx,%eax
4d9ab3:	7d 24                	jge    0x4d9ad9
4d9ab5:	8b 4d 00             	mov    0x0(%ebp),%ecx
4d9ab8:	8b 14 81             	mov    (%ecx,%eax,4),%edx
4d9abb:	8d 34 81             	lea    (%ecx,%eax,4),%esi
4d9abe:	8b 0b                	mov    (%ebx),%ecx
4d9ac0:	8b 3c 81             	mov    (%ecx,%eax,4),%edi
4d9ac3:	33 fa                	xor    %edx,%edi
4d9ac5:	23 7c 24 1c          	and    0x1c(%esp),%edi
4d9ac9:	33 d7                	xor    %edi,%edx
4d9acb:	89 16                	mov    %edx,(%esi)
4d9acd:	8b 0b                	mov    (%ebx),%ecx
4d9acf:	31 3c 81             	xor    %edi,(%ecx,%eax,4)
4d9ad2:	40                   	inc    %eax
4d9ad3:	3b 44 24 20          	cmp    0x20(%esp),%eax
4d9ad7:	7c dc                	jl     0x4d9ab5
4d9ad9:	5f                   	pop    %edi
4d9ada:	5e                   	pop    %esi
4d9adb:	5d                   	pop    %ebp
4d9adc:	5b                   	pop    %ebx
4d9add:	c3                   	ret
4d9ade:	cc                   	int3
4d9adf:	cc                   	int3
4d9ae0:	53                   	push   %ebx
4d9ae1:	56                   	push   %esi
4d9ae2:	8b 74 24 10          	mov    0x10(%esp),%esi
4d9ae6:	57                   	push   %edi
4d9ae7:	f6 46 10 04          	testb  $0x4,0x10(%esi)
4d9aeb:	74 05                	je     0x4d9af2
4d9aed:	8b 5e 08             	mov    0x8(%esi),%ebx
4d9af0:	eb 03                	jmp    0x4d9af5
4d9af2:	8b 5e 04             	mov    0x4(%esi),%ebx
4d9af5:	8b 7c 24 10          	mov    0x10(%esp),%edi
4d9af9:	3b fe                	cmp    %esi,%edi
4d9afb:	74 41                	je     0x4d9b3e
4d9afd:	3b 5f 08             	cmp    0x8(%edi),%ebx
4d9b00:	7f 04                	jg     0x4d9b06
4d9b02:	8b c7                	mov    %edi,%eax
4d9b04:	eb 0a                	jmp    0x4d9b10
4d9b06:	53                   	push   %ebx
4d9b07:	57                   	push   %edi
4d9b08:	e8 73 09 00 00       	call   0x4da480
4d9b0d:	83 c4 08             	add    $0x8,%esp
4d9b10:	85 c0                	test   %eax,%eax
4d9b12:	75 04                	jne    0x4d9b18
4d9b14:	5f                   	pop    %edi
4d9b15:	5e                   	pop    %esi
4d9b16:	5b                   	pop    %ebx
4d9b17:	c3                   	ret
4d9b18:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4d9b1c:	7e 14                	jle    0x4d9b32
4d9b1e:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
4d9b25:	50                   	push   %eax
4d9b26:	ff 36                	push   (%esi)
4d9b28:	ff 37                	push   (%edi)
4d9b2a:	e8 a1 92 0f 00       	call   0x5d2dd0
4d9b2f:	83 c4 0c             	add    $0xc,%esp
4d9b32:	8b 46 0c             	mov    0xc(%esi),%eax
4d9b35:	89 47 0c             	mov    %eax,0xc(%edi)
4d9b38:	8b 46 04             	mov    0x4(%esi),%eax
4d9b3b:	89 47 04             	mov    %eax,0x4(%edi)
4d9b3e:	8b c7                	mov    %edi,%eax
4d9b40:	5f                   	pop    %edi
4d9b41:	5e                   	pop    %esi
4d9b42:	5b                   	pop    %ebx
4d9b43:	c3                   	ret
4d9b44:	cc                   	int3
4d9b45:	cc                   	int3
4d9b46:	cc                   	int3
4d9b47:	cc                   	int3
4d9b48:	cc                   	int3
4d9b49:	cc                   	int3
4d9b4a:	cc                   	int3
4d9b4b:	cc                   	int3
4d9b4c:	cc                   	int3
4d9b4d:	cc                   	int3
4d9b4e:	cc                   	int3
4d9b4f:	cc                   	int3
4d9b50:	56                   	push   %esi
4d9b51:	57                   	push   %edi
4d9b52:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4d9b56:	85 ff                	test   %edi,%edi
4d9b58:	0f 84 af 00 00 00    	je     0x4d9c0d
4d9b5e:	f6 47 10 08          	testb  $0x8,0x10(%edi)
4d9b62:	74 3d                	je     0x4d9ba1
4d9b64:	68 f6 00 00 00       	push   $0xf6
4d9b69:	68 30 20 61 00       	push   $0x612030
4d9b6e:	6a 14                	push   $0x14
4d9b70:	e8 cb 6e 00 00       	call   0x4e0a40
4d9b75:	8b f0                	mov    %eax,%esi
4d9b77:	83 c4 0c             	add    $0xc,%esp
4d9b7a:	85 f6                	test   %esi,%esi
4d9b7c:	75 1a                	jne    0x4d9b98
4d9b7e:	68 f7 00 00 00       	push   $0xf7
4d9b83:	68 30 20 61 00       	push   $0x612030
4d9b88:	6a 41                	push   $0x41
4d9b8a:	6a 71                	push   $0x71
4d9b8c:	6a 03                	push   $0x3
4d9b8e:	e8 ed f3 ff ff       	call   0x4d8f80
4d9b93:	83 c4 14             	add    $0x14,%esp
4d9b96:	eb 10                	jmp    0x4d9ba8
4d9b98:	c7 46 10 09 00 00 00 	movl   $0x9,0x10(%esi)
4d9b9f:	eb 07                	jmp    0x4d9ba8
4d9ba1:	e8 3a 02 00 00       	call   0x4d9de0
4d9ba6:	8b f0                	mov    %eax,%esi
4d9ba8:	85 f6                	test   %esi,%esi
4d9baa:	74 61                	je     0x4d9c0d
4d9bac:	f6 47 10 04          	testb  $0x4,0x10(%edi)
4d9bb0:	53                   	push   %ebx
4d9bb1:	74 05                	je     0x4d9bb8
4d9bb3:	8b 5f 08             	mov    0x8(%edi),%ebx
4d9bb6:	eb 03                	jmp    0x4d9bbb
4d9bb8:	8b 5f 04             	mov    0x4(%edi),%ebx
4d9bbb:	3b f7                	cmp    %edi,%esi
4d9bbd:	74 48                	je     0x4d9c07
4d9bbf:	3b 5e 08             	cmp    0x8(%esi),%ebx
4d9bc2:	7e 1d                	jle    0x4d9be1
4d9bc4:	53                   	push   %ebx
4d9bc5:	56                   	push   %esi
4d9bc6:	e8 b5 08 00 00       	call   0x4da480
4d9bcb:	83 c4 08             	add    $0x8,%esp
4d9bce:	85 c0                	test   %eax,%eax
4d9bd0:	75 0f                	jne    0x4d9be1
4d9bd2:	56                   	push   %esi
4d9bd3:	e8 48 00 00 00       	call   0x4d9c20
4d9bd8:	83 c4 04             	add    $0x4,%esp
4d9bdb:	33 c0                	xor    %eax,%eax
4d9bdd:	5b                   	pop    %ebx
4d9bde:	5f                   	pop    %edi
4d9bdf:	5e                   	pop    %esi
4d9be0:	c3                   	ret
4d9be1:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4d9be5:	7e 14                	jle    0x4d9bfb
4d9be7:	8d 04 9d 00 00 00 00 	lea    0x0(,%ebx,4),%eax
4d9bee:	50                   	push   %eax
4d9bef:	ff 37                	push   (%edi)
4d9bf1:	ff 36                	push   (%esi)
4d9bf3:	e8 d8 91 0f 00       	call   0x5d2dd0
4d9bf8:	83 c4 0c             	add    $0xc,%esp
4d9bfb:	8b 47 0c             	mov    0xc(%edi),%eax
4d9bfe:	89 46 0c             	mov    %eax,0xc(%esi)
4d9c01:	8b 47 04             	mov    0x4(%edi),%eax
4d9c04:	89 46 04             	mov    %eax,0x4(%esi)
4d9c07:	5b                   	pop    %ebx
4d9c08:	5f                   	pop    %edi
4d9c09:	8b c6                	mov    %esi,%eax
4d9c0b:	5e                   	pop    %esi
4d9c0c:	c3                   	ret
4d9c0d:	5f                   	pop    %edi
4d9c0e:	33 c0                	xor    %eax,%eax
4d9c10:	5e                   	pop    %esi
4d9c11:	c3                   	ret
4d9c12:	cc                   	int3
4d9c13:	cc                   	int3
4d9c14:	cc                   	int3
4d9c15:	cc                   	int3
4d9c16:	cc                   	int3
4d9c17:	cc                   	int3
4d9c18:	cc                   	int3
4d9c19:	cc                   	int3
4d9c1a:	cc                   	int3
4d9c1b:	cc                   	int3
4d9c1c:	cc                   	int3
4d9c1d:	cc                   	int3
4d9c1e:	cc                   	int3
4d9c1f:	cc                   	int3
4d9c20:	56                   	push   %esi
4d9c21:	8b 74 24 08          	mov    0x8(%esp),%esi
4d9c25:	85 f6                	test   %esi,%esi
4d9c27:	74 55                	je     0x4d9c7e
4d9c29:	8b 46 10             	mov    0x10(%esi),%eax
4d9c2c:	a8 02                	test   $0x2,%al
4d9c2e:	75 35                	jne    0x4d9c65
4d9c30:	a8 08                	test   $0x8,%al
4d9c32:	74 1d                	je     0x4d9c51
4d9c34:	8b 46 08             	mov    0x8(%esi),%eax
4d9c37:	68 cc 00 00 00       	push   $0xcc
4d9c3c:	68 30 20 61 00       	push   $0x612030
4d9c41:	c1 e0 02             	shl    $0x2,%eax
4d9c44:	50                   	push   %eax
4d9c45:	ff 36                	push   (%esi)
4d9c47:	e8 a4 a4 00 00       	call   0x4e40f0
4d9c4c:	83 c4 10             	add    $0x10,%esp
4d9c4f:	eb 14                	jmp    0x4d9c65
4d9c51:	68 d0 00 00 00       	push   $0xd0
4d9c56:	68 30 20 61 00       	push   $0x612030
4d9c5b:	ff 36                	push   (%esi)
4d9c5d:	e8 1e 6b 00 00       	call   0x4e0780
4d9c62:	83 c4 0c             	add    $0xc,%esp
4d9c65:	f6 46 10 01          	testb  $0x1,0x10(%esi)
4d9c69:	74 13                	je     0x4d9c7e
4d9c6b:	68 e7 00 00 00       	push   $0xe7
4d9c70:	68 30 20 61 00       	push   $0x612030
4d9c75:	56                   	push   %esi
4d9c76:	e8 05 6b 00 00       	call   0x4e0780
4d9c7b:	83 c4 0c             	add    $0xc,%esp
4d9c7e:	5e                   	pop    %esi
4d9c7f:	c3                   	ret
4d9c80:	8b 44 24 04          	mov    0x4(%esp),%eax
4d9c84:	8b 40 10             	mov    0x10(%eax),%eax
4d9c87:	23 44 24 08          	and    0x8(%esp),%eax
4d9c8b:	c3                   	ret
4d9c8c:	cc                   	int3
4d9c8d:	cc                   	int3
4d9c8e:	cc                   	int3
4d9c8f:	cc                   	int3
4d9c90:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9c94:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4d9c98:	7e 04                	jle    0x4d9c9e
4d9c9a:	83 c8 ff             	or     $0xffffffff,%eax
4d9c9d:	c3                   	ret
4d9c9e:	75 05                	jne    0x4d9ca5
4d9ca0:	8b 01                	mov    (%ecx),%eax
4d9ca2:	8b 00                	mov    (%eax),%eax
4d9ca4:	c3                   	ret
4d9ca5:	33 c0                	xor    %eax,%eax
4d9ca7:	c3                   	ret
4d9ca8:	cc                   	int3
4d9ca9:	cc                   	int3
4d9caa:	cc                   	int3
4d9cab:	cc                   	int3
4d9cac:	cc                   	int3
4d9cad:	cc                   	int3
4d9cae:	cc                   	int3
4d9caf:	cc                   	int3
4d9cb0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4d9cb4:	85 c9                	test   %ecx,%ecx
4d9cb6:	78 1c                	js     0x4d9cd4
4d9cb8:	8b 44 24 04          	mov    0x4(%esp),%eax
4d9cbc:	8b d1                	mov    %ecx,%edx
4d9cbe:	c1 ea 05             	shr    $0x5,%edx
4d9cc1:	39 50 04             	cmp    %edx,0x4(%eax)
4d9cc4:	7e 0e                	jle    0x4d9cd4
4d9cc6:	8b 00                	mov    (%eax),%eax
4d9cc8:	83 e1 1f             	and    $0x1f,%ecx
4d9ccb:	8b 04 90             	mov    (%eax,%edx,4),%eax
4d9cce:	d3 e8                	shr    %cl,%eax
4d9cd0:	83 e0 01             	and    $0x1,%eax
4d9cd3:	c3                   	ret
4d9cd4:	33 c0                	xor    %eax,%eax
4d9cd6:	c3                   	ret
4d9cd7:	cc                   	int3
4d9cd8:	cc                   	int3
4d9cd9:	cc                   	int3
4d9cda:	cc                   	int3
4d9cdb:	cc                   	int3
4d9cdc:	cc                   	int3
4d9cdd:	cc                   	int3
4d9cde:	cc                   	int3
4d9cdf:	cc                   	int3
4d9ce0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9ce4:	33 c0                	xor    %eax,%eax
4d9ce6:	39 41 0c             	cmp    %eax,0xc(%ecx)
4d9ce9:	0f 95 c0             	setne  %al
4d9cec:	c3                   	ret
4d9ced:	cc                   	int3
4d9cee:	cc                   	int3
4d9cef:	cc                   	int3
4d9cf0:	8b 44 24 04          	mov    0x4(%esp),%eax
4d9cf4:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4d9cf8:	7e 0d                	jle    0x4d9d07
4d9cfa:	8b 00                	mov    (%eax),%eax
4d9cfc:	f6 00 01             	testb  $0x1,(%eax)
4d9cff:	74 06                	je     0x4d9d07
4d9d01:	b8 01 00 00 00       	mov    $0x1,%eax
4d9d06:	c3                   	ret
4d9d07:	33 c0                	xor    %eax,%eax
4d9d09:	c3                   	ret
4d9d0a:	cc                   	int3
4d9d0b:	cc                   	int3
4d9d0c:	cc                   	int3
4d9d0d:	cc                   	int3
4d9d0e:	cc                   	int3
4d9d0f:	cc                   	int3
4d9d10:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9d14:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4d9d18:	75 13                	jne    0x4d9d2d
4d9d1a:	8b 01                	mov    (%ecx),%eax
4d9d1c:	83 38 01             	cmpl   $0x1,(%eax)
4d9d1f:	75 0c                	jne    0x4d9d2d
4d9d21:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
4d9d25:	75 06                	jne    0x4d9d2d
4d9d27:	b8 01 00 00 00       	mov    $0x1,%eax
4d9d2c:	c3                   	ret
4d9d2d:	33 c0                	xor    %eax,%eax
4d9d2f:	c3                   	ret
4d9d30:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9d34:	8b 54 24 08          	mov    0x8(%esp),%edx
4d9d38:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4d9d3c:	75 06                	jne    0x4d9d44
4d9d3e:	8b 01                	mov    (%ecx),%eax
4d9d40:	39 10                	cmp    %edx,(%eax)
4d9d42:	74 09                	je     0x4d9d4d
4d9d44:	85 d2                	test   %edx,%edx
4d9d46:	75 15                	jne    0x4d9d5d
4d9d48:	39 51 04             	cmp    %edx,0x4(%ecx)
4d9d4b:	75 10                	jne    0x4d9d5d
4d9d4d:	85 d2                	test   %edx,%edx
4d9d4f:	74 06                	je     0x4d9d57
4d9d51:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
4d9d55:	75 06                	jne    0x4d9d5d
4d9d57:	b8 01 00 00 00       	mov    $0x1,%eax
4d9d5c:	c3                   	ret
4d9d5d:	33 c0                	xor    %eax,%eax
4d9d5f:	c3                   	ret
4d9d60:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9d64:	33 c0                	xor    %eax,%eax
4d9d66:	39 41 04             	cmp    %eax,0x4(%ecx)
4d9d69:	0f 94 c0             	sete   %al
4d9d6c:	c3                   	ret
4d9d6d:	cc                   	int3
4d9d6e:	cc                   	int3
4d9d6f:	cc                   	int3
4d9d70:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4d9d74:	56                   	push   %esi
4d9d75:	85 c9                	test   %ecx,%ecx
4d9d77:	78 5d                	js     0x4d9dd6
4d9d79:	8b 74 24 08          	mov    0x8(%esp),%esi
4d9d7d:	8b c1                	mov    %ecx,%eax
4d9d7f:	c1 e8 05             	shr    $0x5,%eax
4d9d82:	83 e1 1f             	and    $0x1f,%ecx
4d9d85:	3b 46 04             	cmp    0x4(%esi),%eax
4d9d88:	7d 4c                	jge    0x4d9dd6
4d9d8a:	85 c9                	test   %ecx,%ecx
4d9d8c:	75 05                	jne    0x4d9d93
4d9d8e:	89 46 04             	mov    %eax,0x4(%esi)
4d9d91:	eb 17                	jmp    0x4d9daa
4d9d93:	8d 50 01             	lea    0x1(%eax),%edx
4d9d96:	89 56 04             	mov    %edx,0x4(%esi)
4d9d99:	8b 16                	mov    (%esi),%edx
4d9d9b:	8d 14 82             	lea    (%edx,%eax,4),%edx
4d9d9e:	83 c8 ff             	or     $0xffffffff,%eax
4d9da1:	d3 e0                	shl    %cl,%eax
4d9da3:	f7 d0                	not    %eax
4d9da5:	21 02                	and    %eax,(%edx)
4d9da7:	8b 46 04             	mov    0x4(%esi),%eax
4d9daa:	85 c0                	test   %eax,%eax
4d9dac:	7e 18                	jle    0x4d9dc6
4d9dae:	8b 0e                	mov    (%esi),%ecx
4d9db0:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
4d9db3:	83 79 fc 00          	cmpl   $0x0,-0x4(%ecx)
4d9db7:	8d 49 fc             	lea    -0x4(%ecx),%ecx