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
4b308b:	23 cd                	and    %ebp,%ecx
4b308d:	33 d1                	xor    %ecx,%edx
4b308f:	89 16                	mov    %edx,(%esi)
4b3091:	8b 07                	mov    (%edi),%eax
4b3093:	5f                   	pop    %edi
4b3094:	5e                   	pop    %esi
4b3095:	5d                   	pop    %ebp
4b3096:	31 08                	xor    %ecx,(%eax)
4b3098:	5b                   	pop    %ebx
4b3099:	83 c4 10             	add    $0x10,%esp
4b309c:	c3                   	ret
4b309d:	0f 1f 00             	nopl   (%eax)
4b30a0:	81 30 4b 00 69 30    	xorl   $0x3069004b,(%eax)
4b30a6:	4b                   	dec    %ebx
4b30a7:	00 51 30             	add    %dl,0x30(%ecx)
4b30aa:	4b                   	dec    %ebx
4b30ab:	00 39                	add    %bh,(%ecx)
4b30ad:	30 4b 00             	xor    %cl,0x0(%ebx)
4b30b0:	21 30                	and    %esi,(%eax)
4b30b2:	4b                   	dec    %ebx
4b30b3:	00 09                	add    %cl,(%ecx)
4b30b5:	30 4b 00             	xor    %cl,0x0(%ebx)
4b30b8:	f1                   	int1
4b30b9:	2f                   	das
4b30ba:	4b                   	dec    %ebx
4b30bb:	00 d9                	add    %bl,%cl
4b30bd:	2f                   	das
4b30be:	4b                   	dec    %ebx
4b30bf:	00 c1                	add    %al,%cl
4b30c1:	2f                   	das
4b30c2:	4b                   	dec    %ebx
4b30c3:	00 a9 2f 4b 00 cc    	add    %ch,-0x33ffb4d1(%ecx)
4b30c9:	cc                   	int3
4b30ca:	cc                   	int3
4b30cb:	cc                   	int3
4b30cc:	cc                   	int3
4b30cd:	cc                   	int3
4b30ce:	cc                   	int3
4b30cf:	cc                   	int3
4b30d0:	b8 04 00 00 00       	mov    $0x4,%eax
4b30d5:	e8 16 e4 12 00       	call   0x5e14f0
4b30da:	55                   	push   %ebp
4b30db:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
4b30df:	56                   	push   %esi
4b30e0:	8b 74 24 14          	mov    0x14(%esp),%esi
4b30e4:	3b ee                	cmp    %esi,%ebp
4b30e6:	75 06                	jne    0x4b30ee
4b30e8:	5e                   	pop    %esi
4b30e9:	8b c5                	mov    %ebp,%eax
4b30eb:	5d                   	pop    %ebp
4b30ec:	59                   	pop    %ecx
4b30ed:	c3                   	ret
4b30ee:	53                   	push   %ebx
4b30ef:	57                   	push   %edi
4b30f0:	8b 7e 04             	mov    0x4(%esi),%edi
4b30f3:	3b 7d 08             	cmp    0x8(%ebp),%edi
4b30f6:	7e 2a                	jle    0x4b3122
4b30f8:	57                   	push   %edi
4b30f9:	55                   	push   %ebp
4b30fa:	e8 e1 05 00 00       	call   0x4b36e0
4b30ff:	8b d8                	mov    %eax,%ebx
4b3101:	83 c4 08             	add    $0x8,%esp
4b3104:	85 db                	test   %ebx,%ebx
4b3106:	0f 84 89 00 00 00    	je     0x4b3195
4b310c:	8b 4d 00             	mov    0x0(%ebp),%ecx
4b310f:	85 c9                	test   %ecx,%ecx
4b3111:	74 09                	je     0x4b311c
4b3113:	51                   	push   %ecx
4b3114:	e8 17 d0 fe ff       	call   0x4a0130
4b3119:	83 c4 04             	add    $0x4,%esp
4b311c:	89 5d 00             	mov    %ebx,0x0(%ebp)
4b311f:	89 7d 08             	mov    %edi,0x8(%ebp)
4b3122:	8b 46 04             	mov    0x4(%esi),%eax
4b3125:	8b 7d 00             	mov    0x0(%ebp),%edi
4b3128:	8b 1e                	mov    (%esi),%ebx
4b312a:	c1 f8 02             	sar    $0x2,%eax
4b312d:	85 c0                	test   %eax,%eax
4b312f:	7e 2b                	jle    0x4b315c
4b3131:	8b e8                	mov    %eax,%ebp
4b3133:	8b 4b 04             	mov    0x4(%ebx),%ecx
4b3136:	4d                   	dec    %ebp
4b3137:	8b 53 08             	mov    0x8(%ebx),%edx
4b313a:	8b 73 0c             	mov    0xc(%ebx),%esi
4b313d:	8b 03                	mov    (%ebx),%eax
4b313f:	83 c3 10             	add    $0x10,%ebx
4b3142:	89 07                	mov    %eax,(%edi)
4b3144:	89 4f 04             	mov    %ecx,0x4(%edi)
4b3147:	89 57 08             	mov    %edx,0x8(%edi)
4b314a:	89 77 0c             	mov    %esi,0xc(%edi)
4b314d:	83 c7 10             	add    $0x10,%edi
4b3150:	85 ed                	test   %ebp,%ebp
4b3152:	7f df                	jg     0x4b3133
4b3154:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4b3158:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4b315c:	8b 46 04             	mov    0x4(%esi),%eax
4b315f:	83 e0 03             	and    $0x3,%eax
4b3162:	83 e8 01             	sub    $0x1,%eax
4b3165:	74 16                	je     0x4b317d
4b3167:	83 e8 01             	sub    $0x1,%eax
4b316a:	74 0b                	je     0x4b3177
4b316c:	83 e8 01             	sub    $0x1,%eax
4b316f:	75 10                	jne    0x4b3181
4b3171:	8b 43 08             	mov    0x8(%ebx),%eax
4b3174:	89 47 08             	mov    %eax,0x8(%edi)
4b3177:	8b 43 04             	mov    0x4(%ebx),%eax
4b317a:	89 47 04             	mov    %eax,0x4(%edi)
4b317d:	8b 03                	mov    (%ebx),%eax
4b317f:	89 07                	mov    %eax,(%edi)
4b3181:	8b 46 04             	mov    0x4(%esi),%eax
4b3184:	5f                   	pop    %edi
4b3185:	89 45 04             	mov    %eax,0x4(%ebp)
4b3188:	8b 46 0c             	mov    0xc(%esi),%eax
4b318b:	5b                   	pop    %ebx
4b318c:	89 45 0c             	mov    %eax,0xc(%ebp)
4b318f:	8b c5                	mov    %ebp,%eax
4b3191:	5e                   	pop    %esi
4b3192:	5d                   	pop    %ebp
4b3193:	59                   	pop    %ecx
4b3194:	c3                   	ret
4b3195:	5f                   	pop    %edi
4b3196:	5b                   	pop    %ebx
4b3197:	5e                   	pop    %esi
4b3198:	33 c0                	xor    %eax,%eax
4b319a:	5d                   	pop    %ebp
4b319b:	59                   	pop    %ecx
4b319c:	c3                   	ret
4b319d:	cc                   	int3
4b319e:	cc                   	int3
4b319f:	cc                   	int3
4b31a0:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
4b31a5:	75 03                	jne    0x4b31aa
4b31a7:	33 c0                	xor    %eax,%eax
4b31a9:	c3                   	ret
4b31aa:	56                   	push   %esi
4b31ab:	e8 60 01 00 00       	call   0x4b3310
4b31b0:	8b f0                	mov    %eax,%esi
4b31b2:	85 f6                	test   %esi,%esi
4b31b4:	74 1a                	je     0x4b31d0
4b31b6:	ff 74 24 08          	push   0x8(%esp)
4b31ba:	56                   	push   %esi
4b31bb:	e8 10 ff ff ff       	call   0x4b30d0
4b31c0:	83 c4 08             	add    $0x8,%esp
4b31c3:	85 c0                	test   %eax,%eax
4b31c5:	75 0d                	jne    0x4b31d4
4b31c7:	56                   	push   %esi
4b31c8:	e8 13 00 00 00       	call   0x4b31e0
4b31cd:	83 c4 04             	add    $0x4,%esp
4b31d0:	33 c0                	xor    %eax,%eax
4b31d2:	5e                   	pop    %esi
4b31d3:	c3                   	ret
4b31d4:	8b c6                	mov    %esi,%eax
4b31d6:	5e                   	pop    %esi
4b31d7:	c3                   	ret
4b31d8:	cc                   	int3
4b31d9:	cc                   	int3
4b31da:	cc                   	int3
4b31db:	cc                   	int3
4b31dc:	cc                   	int3
4b31dd:	cc                   	int3
4b31de:	cc                   	int3
4b31df:	cc                   	int3
4b31e0:	56                   	push   %esi
4b31e1:	8b 74 24 08          	mov    0x8(%esp),%esi
4b31e5:	85 f6                	test   %esi,%esi
4b31e7:	74 35                	je     0x4b321e
4b31e9:	8b 06                	mov    (%esi),%eax
4b31eb:	85 c0                	test   %eax,%eax
4b31ed:	74 0f                	je     0x4b31fe
4b31ef:	f6 46 10 02          	testb  $0x2,0x10(%esi)
4b31f3:	75 09                	jne    0x4b31fe
4b31f5:	50                   	push   %eax
4b31f6:	e8 35 cf fe ff       	call   0x4a0130
4b31fb:	83 c4 04             	add    $0x4,%esp
4b31fe:	8b 46 10             	mov    0x10(%esi),%eax
4b3201:	a8 01                	test   $0x1,%al