4b2d37:	48                   	dec    %eax
4b2d38:	8b f0                	mov    %eax,%esi
4b2d3a:	85 f6                	test   %esi,%esi
4b2d3c:	79 03                	jns    0x4b2d41
4b2d3e:	83 c6 03             	add    $0x3,%esi
4b2d41:	c1 fe 02             	sar    $0x2,%esi
4b2d44:	8b 13                	mov    (%ebx),%edx
4b2d46:	8b c8                	mov    %eax,%ecx
4b2d48:	81 e1 03 00 00 80    	and    $0x80000003,%ecx
4b2d4e:	79 05                	jns    0x4b2d55
4b2d50:	49                   	dec    %ecx
4b2d51:	83 c9 fc             	or     $0xfffffffc,%ecx
4b2d54:	41                   	inc    %ecx
4b2d55:	8b 14 b2             	mov    (%edx,%esi,4),%edx
4b2d58:	c1 e1 03             	shl    $0x3,%ecx
4b2d5b:	d3 ea                	shr    %cl,%edx
4b2d5d:	88 17                	mov    %dl,(%edi)
4b2d5f:	47                   	inc    %edi
4b2d60:	85 c0                	test   %eax,%eax
4b2d62:	75 d3                	jne    0x4b2d37
4b2d64:	5f                   	pop    %edi
4b2d65:	8b c5                	mov    %ebp,%eax
4b2d67:	5e                   	pop    %esi
4b2d68:	5d                   	pop    %ebp
4b2d69:	5b                   	pop    %ebx
4b2d6a:	c3                   	ret
4b2d6b:	cc                   	int3
4b2d6c:	cc                   	int3
4b2d6d:	cc                   	int3
4b2d6e:	cc                   	int3
4b2d6f:	cc                   	int3
4b2d70:	57                   	push   %edi
4b2d71:	8b 7c 24 08          	mov    0x8(%esp),%edi
4b2d75:	85 ff                	test   %edi,%edi
4b2d77:	74 44                	je     0x4b2dbd
4b2d79:	8b 0f                	mov    (%edi),%ecx
4b2d7b:	85 c9                	test   %ecx,%ecx
4b2d7d:	74 20                	je     0x4b2d9f
4b2d7f:	8b 47 08             	mov    0x8(%edi),%eax
4b2d82:	c1 e0 02             	shl    $0x2,%eax
4b2d85:	50                   	push   %eax
4b2d86:	51                   	push   %ecx
4b2d87:	e8 c4 d5 fe ff       	call   0x4a0350
4b2d8c:	83 c4 08             	add    $0x8,%esp
4b2d8f:	f6 47 10 02          	testb  $0x2,0x10(%edi)
4b2d93:	75 0a                	jne    0x4b2d9f
4b2d95:	ff 37                	push   (%edi)
4b2d97:	e8 94 d3 fe ff       	call   0x4a0130
4b2d9c:	83 c4 04             	add    $0x4,%esp
4b2d9f:	56                   	push   %esi
4b2da0:	8b 77 10             	mov    0x10(%edi),%esi
4b2da3:	6a 14                	push   $0x14
4b2da5:	57                   	push   %edi
4b2da6:	e8 a5 d5 fe ff       	call   0x4a0350
4b2dab:	83 c4 08             	add    $0x8,%esp
4b2dae:	83 e6 01             	and    $0x1,%esi
4b2db1:	5e                   	pop    %esi
4b2db2:	74 09                	je     0x4b2dbd
4b2db4:	57                   	push   %edi
4b2db5:	e8 76 d3 fe ff       	call   0x4a0130
4b2dba:	83 c4 04             	add    $0x4,%esp
4b2dbd:	5f                   	pop    %edi
4b2dbe:	c3                   	ret
4b2dbf:	cc                   	int3
4b2dc0:	8b 44 24 04          	mov    0x4(%esp),%eax
4b2dc4:	85 c0                	test   %eax,%eax
4b2dc6:	0f 84 87 00 00 00    	je     0x4b2e53
4b2dcc:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4b2dd0:	85 c9                	test   %ecx,%ecx
4b2dd2:	74 7b                	je     0x4b2e4f
4b2dd4:	8b 50 0c             	mov    0xc(%eax),%edx
4b2dd7:	3b 51 0c             	cmp    0xc(%ecx),%edx
4b2dda:	74 0f                	je     0x4b2deb
4b2ddc:	33 c0                	xor    %eax,%eax
4b2dde:	85 d2                	test   %edx,%edx
4b2de0:	0f 94 c0             	sete   %al
4b2de3:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
4b2dea:	c3                   	ret
4b2deb:	53                   	push   %ebx
4b2dec:	55                   	push   %ebp
4b2ded:	85 d2                	test   %edx,%edx
4b2def:	75 08                	jne    0x4b2df9
4b2df1:	8d 5a 01             	lea    0x1(%edx),%ebx
4b2df4:	83 cd ff             	or     $0xffffffff,%ebp
4b2df7:	eb 06                	jmp    0x4b2dff
4b2df9:	83 cb ff             	or     $0xffffffff,%ebx
4b2dfc:	8d 6b 02             	lea    0x2(%ebx),%ebp
4b2dff:	8b 50 04             	mov    0x4(%eax),%edx
4b2e02:	56                   	push   %esi
4b2e03:	8b 71 04             	mov    0x4(%ecx),%esi
4b2e06:	3b d6                	cmp    %esi,%edx
4b2e08:	7e 06                	jle    0x4b2e10
4b2e0a:	5e                   	pop    %esi
4b2e0b:	5d                   	pop    %ebp
4b2e0c:	8b c3                	mov    %ebx,%eax
4b2e0e:	5b                   	pop    %ebx
4b2e0f:	c3                   	ret
4b2e10:	7d 06                	jge    0x4b2e18
4b2e12:	5e                   	pop    %esi
4b2e13:	8b c5                	mov    %ebp,%eax
4b2e15:	5d                   	pop    %ebp
4b2e16:	5b                   	pop    %ebx
4b2e17:	c3                   	ret
4b2e18:	83 c2 ff             	add    $0xffffffff,%edx
4b2e1b:	57                   	push   %edi
4b2e1c:	78 1c                	js     0x4b2e3a
4b2e1e:	8b 38                	mov    (%eax),%edi
4b2e20:	8b 01                	mov    (%ecx),%eax
4b2e22:	2b f8                	sub    %eax,%edi
4b2e24:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
4b2e27:	8b 04 0f             	mov    (%edi,%ecx,1),%eax
4b2e2a:	8b 31                	mov    (%ecx),%esi
4b2e2c:	3b c6                	cmp    %esi,%eax
4b2e2e:	77 18                	ja     0x4b2e48
4b2e30:	72 0f                	jb     0x4b2e41
4b2e32:	83 e9 04             	sub    $0x4,%ecx
4b2e35:	83 ea 01             	sub    $0x1,%edx
4b2e38:	79 ed                	jns    0x4b2e27
4b2e3a:	5f                   	pop    %edi
4b2e3b:	5e                   	pop    %esi
4b2e3c:	5d                   	pop    %ebp
4b2e3d:	33 c0                	xor    %eax,%eax
4b2e3f:	5b                   	pop    %ebx
4b2e40:	c3                   	ret
4b2e41:	5f                   	pop    %edi
4b2e42:	5e                   	pop    %esi
4b2e43:	8b c5                	mov    %ebp,%eax
4b2e45:	5d                   	pop    %ebp
4b2e46:	5b                   	pop    %ebx
4b2e47:	c3                   	ret
4b2e48:	5f                   	pop    %edi
4b2e49:	5e                   	pop    %esi
4b2e4a:	5d                   	pop    %ebp
4b2e4b:	8b c3                	mov    %ebx,%eax
4b2e4d:	5b                   	pop    %ebx
4b2e4e:	c3                   	ret
4b2e4f:	83 c8 ff             	or     $0xffffffff,%eax
4b2e52:	c3                   	ret
4b2e53:	33 c0                	xor    %eax,%eax
4b2e55:	39 44 24 08          	cmp    %eax,0x8(%esp)
4b2e59:	0f 95 c0             	setne  %al
4b2e5c:	c3                   	ret
4b2e5d:	cc                   	int3
4b2e5e:	cc                   	int3
4b2e5f:	cc                   	int3
4b2e60:	b8 10 00 00 00       	mov    $0x10,%eax
4b2e65:	e8 86 e6 12 00       	call   0x5e14f0
4b2e6a:	53                   	push   %ebx
4b2e6b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4b2e6f:	55                   	push   %ebp
4b2e70:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4b2e74:	56                   	push   %esi
4b2e75:	8b 4b 04             	mov    0x4(%ebx),%ecx
4b2e78:	57                   	push   %edi
4b2e79:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4b2e7d:	8d 6d ff             	lea    -0x1(%ebp),%ebp
4b2e80:	c1 ed 1f             	shr    $0x1f,%ebp
4b2e83:	4d                   	dec    %ebp
4b2e84:	89 6c 24 24          	mov    %ebp,0x24(%esp)
4b2e88:	8b 47 04             	mov    0x4(%edi),%eax
4b2e8b:	33 c1                	xor    %ecx,%eax
4b2e8d:	23 c5                	and    %ebp,%eax
4b2e8f:	66 0f 6e c5          	movd   %ebp,%xmm0
4b2e93:	33 c8                	xor    %eax,%ecx
4b2e95:	66 0f 70 d8 00       	pshufd $0x0,%xmm0,%xmm3
4b2e9a:	89 4b 04             	mov    %ecx,0x4(%ebx)
4b2e9d:	31 47 04             	xor    %eax,0x4(%edi)
4b2ea0:	8b 44 24 30          	mov    0x30(%esp),%eax
4b2ea4:	8d 50 ff             	lea    -0x1(%eax),%edx
4b2ea7:	83 fa 09             	cmp    $0x9,%edx
4b2eaa:	77 07                	ja     0x4b2eb3
4b2eac:	ff 24 95 a0 30 4b 00 	jmp    *0x4b30a0(,%edx,4)
4b2eb3:	bd 0a 00 00 00       	mov    $0xa,%ebp
4b2eb8:	8d 48 f6             	lea    -0xa(%eax),%ecx
4b2ebb:	3b c5                	cmp    %ebp,%eax
4b2ebd:	0f 8e e2 00 00 00    	jle    0x4b2fa5
4b2ec3:	83 f9 04             	cmp    $0x4,%ecx
4b2ec6:	0f 82 b2 00 00 00    	jb     0x4b2f7e
4b2ecc:	8b 37                	mov    (%edi),%esi
4b2ece:	8b 03                	mov    (%ebx),%eax
4b2ed0:	89 44 24 10          	mov    %eax,0x10(%esp)
4b2ed4:	8b d8                	mov    %eax,%ebx
4b2ed6:	8d 46 28             	lea    0x28(%esi),%eax
4b2ed9:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4b2edd:	8d 34 96             	lea    (%esi,%edx,4),%esi
4b2ee0:	8b 44 24 10          	mov    0x10(%esp),%eax
4b2ee4:	83 c0 28             	add    $0x28,%eax
4b2ee7:	89 44 24 14          	mov    %eax,0x14(%esp)
4b2eeb:	8d 04 93             	lea    (%ebx,%edx,4),%eax
4b2eee:	39 44 24 2c          	cmp    %eax,0x2c(%esp)
4b2ef2:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4b2ef6:	8b 54 24 14          	mov    0x14(%esp),%edx
4b2efa:	89 44 24 18          	mov    %eax,0x18(%esp)
4b2efe:	8b 44 24 30          	mov    0x30(%esp),%eax
4b2f02:	77 04                	ja     0x4b2f08
4b2f04:	3b f2                	cmp    %edx,%esi
4b2f06:	73 76                	jae    0x4b2f7e
4b2f08:	39 7c 24 2c          	cmp    %edi,0x2c(%esp)
4b2f0c:	77 04                	ja     0x4b2f12
4b2f0e:	3b f7                	cmp    %edi,%esi
4b2f10:	73 6c                	jae    0x4b2f7e
4b2f12:	39 5c 24 2c          	cmp    %ebx,0x2c(%esp)
4b2f16:	77 04                	ja     0x4b2f1c
4b2f18:	3b f3                	cmp    %ebx,%esi
4b2f1a:	73 62                	jae    0x4b2f7e
4b2f1c:	8b 74 24 18          	mov    0x18(%esp),%esi
4b2f20:	3b d7                	cmp    %edi,%edx
4b2f22:	77 04                	ja     0x4b2f28
4b2f24:	3b f7                	cmp    %edi,%esi
4b2f26:	73 56                	jae    0x4b2f7e
4b2f28:	3b d3                	cmp    %ebx,%edx
4b2f2a:	77 04                	ja     0x4b2f30
4b2f2c:	3b f3                	cmp    %ebx,%esi
4b2f2e:	73 4e                	jae    0x4b2f7e
4b2f30:	81 e1 03 00 00 80    	and    $0x80000003,%ecx
4b2f36:	79 05                	jns    0x4b2f3d
4b2f38:	49                   	dec    %ecx
4b2f39:	83 c9 fc             	or     $0xfffffffc,%ecx
4b2f3c:	41                   	inc    %ecx
4b2f3d:	8b 74 24 10          	mov    0x10(%esp),%esi
4b2f41:	8b d0                	mov    %eax,%edx
4b2f43:	2b d1                	sub    %ecx,%edx
4b2f45:	8b 0f                	mov    (%edi),%ecx
4b2f47:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
4b2f4e:	00 00
4b2f50:	0f 10 0c ae          	movups (%esi,%ebp,4),%xmm1
4b2f54:	0f 10 14 a9          	movups (%ecx,%ebp,4),%xmm2
4b2f58:	66 0f ef d1          	pxor   %xmm1,%xmm2
4b2f5c:	66 0f db d3          	pand   %xmm3,%xmm2
4b2f60:	0f 28 c2             	movaps %xmm2,%xmm0
4b2f63:	66 0f ef c1          	pxor   %xmm1,%xmm0
4b2f67:	0f 11 04 ae          	movups %xmm0,(%esi,%ebp,4)
4b2f6b:	0f 10 04 a9          	movups (%ecx,%ebp,4),%xmm0
4b2f6f:	66 0f ef c2          	pxor   %xmm2,%xmm0
4b2f73:	0f 11 04 a9          	movups %xmm0,(%ecx,%ebp,4)
4b2f77:	83 c5 04             	add    $0x4,%ebp
4b2f7a:	3b ea                	cmp    %edx,%ebp
4b2f7c:	7c d2                	jl     0x4b2f50
4b2f7e:	3b e8                	cmp    %eax,%ebp
4b2f80:	7d 23                	jge    0x4b2fa5
4b2f82:	8b 03                	mov    (%ebx),%eax
4b2f84:	8b 0c a8             	mov    (%eax,%ebp,4),%ecx
4b2f87:	8d 14 a8             	lea    (%eax,%ebp,4),%edx
4b2f8a:	8b 07                	mov    (%edi),%eax
4b2f8c:	8b 34 a8             	mov    (%eax,%ebp,4),%esi
4b2f8f:	33 f1                	xor    %ecx,%esi
4b2f91:	23 74 24 24          	and    0x24(%esp),%esi
4b2f95:	33 ce                	xor    %esi,%ecx
4b2f97:	89 0a                	mov    %ecx,(%edx)
4b2f99:	8b 07                	mov    (%edi),%eax
4b2f9b:	31 34 a8             	xor    %esi,(%eax,%ebp,4)
4b2f9e:	45                   	inc    %ebp
4b2f9f:	3b 6c 24 30          	cmp    0x30(%esp),%ebp
4b2fa3:	7c dd                	jl     0x4b2f82
4b2fa5:	8b 6c 24 24          	mov    0x24(%esp),%ebp
4b2fa9:	8b 07                	mov    (%edi),%eax
4b2fab:	8b 33                	mov    (%ebx),%esi
4b2fad:	8b 50 24             	mov    0x24(%eax),%edx
4b2fb0:	8b 4e 24             	mov    0x24(%esi),%ecx
4b2fb3:	33 d1                	xor    %ecx,%edx
4b2fb5:	23 d5                	and    %ebp,%edx
4b2fb7:	33 ca                	xor    %edx,%ecx
4b2fb9:	89 4e 24             	mov    %ecx,0x24(%esi)
4b2fbc:	8b 07                	mov    (%edi),%eax
4b2fbe:	31 50 24             	xor    %edx,0x24(%eax)
4b2fc1:	8b 07                	mov    (%edi),%eax
4b2fc3:	8b 33                	mov    (%ebx),%esi
4b2fc5:	8b 50 20             	mov    0x20(%eax),%edx
4b2fc8:	8b 4e 20             	mov    0x20(%esi),%ecx
4b2fcb:	33 d1                	xor    %ecx,%edx
4b2fcd:	23 d5                	and    %ebp,%edx
4b2fcf:	33 ca                	xor    %edx,%ecx
4b2fd1:	89 4e 20             	mov    %ecx,0x20(%esi)
4b2fd4:	8b 07                	mov    (%edi),%eax
4b2fd6:	31 50 20             	xor    %edx,0x20(%eax)
4b2fd9:	8b 07                	mov    (%edi),%eax
4b2fdb:	8b 33                	mov    (%ebx),%esi
4b2fdd:	8b 50 1c             	mov    0x1c(%eax),%edx
4b2fe0:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4b2fe3:	33 d1                	xor    %ecx,%edx
4b2fe5:	23 d5                	and    %ebp,%edx
4b2fe7:	33 ca                	xor    %edx,%ecx
4b2fe9:	89 4e 1c             	mov    %ecx,0x1c(%esi)
4b2fec:	8b 07                	mov    (%edi),%eax
4b2fee:	31 50 1c             	xor    %edx,0x1c(%eax)
4b2ff1:	8b 07                	mov    (%edi),%eax
4b2ff3:	8b 33                	mov    (%ebx),%esi
4b2ff5:	8b 50 18             	mov    0x18(%eax),%edx
4b2ff8:	8b 4e 18             	mov    0x18(%esi),%ecx
4b2ffb:	33 d1                	xor    %ecx,%edx
4b2ffd:	23 d5                	and    %ebp,%edx
4b2fff:	33 ca                	xor    %edx,%ecx
4b3001:	89 4e 18             	mov    %ecx,0x18(%esi)
4b3004:	8b 07                	mov    (%edi),%eax
4b3006:	31 50 18             	xor    %edx,0x18(%eax)
4b3009:	8b 07                	mov    (%edi),%eax
4b300b:	8b 33                	mov    (%ebx),%esi
4b300d:	8b 50 14             	mov    0x14(%eax),%edx
4b3010:	8b 4e 14             	mov    0x14(%esi),%ecx
4b3013:	33 d1                	xor    %ecx,%edx
4b3015:	23 d5                	and    %ebp,%edx
4b3017:	33 ca                	xor    %edx,%ecx
4b3019:	89 4e 14             	mov    %ecx,0x14(%esi)
4b301c:	8b 07                	mov    (%edi),%eax
4b301e:	31 50 14             	xor    %edx,0x14(%eax)
4b3021:	8b 07                	mov    (%edi),%eax
4b3023:	8b 33                	mov    (%ebx),%esi
4b3025:	8b 50 10             	mov    0x10(%eax),%edx
4b3028:	8b 4e 10             	mov    0x10(%esi),%ecx
4b302b:	33 d1                	xor    %ecx,%edx
4b302d:	23 d5                	and    %ebp,%edx
4b302f:	33 ca                	xor    %edx,%ecx
4b3031:	89 4e 10             	mov    %ecx,0x10(%esi)
4b3034:	8b 07                	mov    (%edi),%eax
4b3036:	31 50 10             	xor    %edx,0x10(%eax)
4b3039:	8b 07                	mov    (%edi),%eax
4b303b:	8b 33                	mov    (%ebx),%esi
4b303d:	8b 50 0c             	mov    0xc(%eax),%edx
4b3040:	8b 4e 0c             	mov    0xc(%esi),%ecx
4b3043:	33 d1                	xor    %ecx,%edx
4b3045:	23 d5                	and    %ebp,%edx
4b3047:	33 ca                	xor    %edx,%ecx
4b3049:	89 4e 0c             	mov    %ecx,0xc(%esi)
4b304c:	8b 07                	mov    (%edi),%eax
4b304e:	31 50 0c             	xor    %edx,0xc(%eax)
4b3051:	8b 07                	mov    (%edi),%eax
4b3053:	8b 33                	mov    (%ebx),%esi
4b3055:	8b 50 08             	mov    0x8(%eax),%edx
4b3058:	8b 4e 08             	mov    0x8(%esi),%ecx
4b305b:	33 d1                	xor    %ecx,%edx
4b305d:	23 d5                	and    %ebp,%edx
4b305f:	33 ca                	xor    %edx,%ecx
4b3061:	89 4e 08             	mov    %ecx,0x8(%esi)
4b3064:	8b 07                	mov    (%edi),%eax
4b3066:	31 50 08             	xor    %edx,0x8(%eax)
4b3069:	8b 07                	mov    (%edi),%eax
4b306b:	8b 33                	mov    (%ebx),%esi
4b306d:	8b 50 04             	mov    0x4(%eax),%edx
4b3070:	8b 4e 04             	mov    0x4(%esi),%ecx
4b3073:	33 d1                	xor    %ecx,%edx
4b3075:	23 d5                	and    %ebp,%edx
4b3077:	33 ca                	xor    %edx,%ecx
4b3079:	89 4e 04             	mov    %ecx,0x4(%esi)
4b307c:	8b 07                	mov    (%edi),%eax
4b307e:	31 50 04             	xor    %edx,0x4(%eax)
4b3081:	8b 07                	mov    (%edi),%eax
4b3083:	8b 33                	mov    (%ebx),%esi
4b3085:	8b 08                	mov    (%eax),%ecx
4b3087:	8b 16                	mov    (%esi),%edx
4b3089:	33 ca                	xor    %edx,%ecx