4a2f1d:	cc                   	int3
4a2f1e:	cc                   	int3
4a2f1f:	cc                   	int3
4a2f20:	b8 10 00 00 00       	mov    $0x10,%eax
4a2f25:	e8 c6 e5 13 00       	call   0x5e14f0
4a2f2a:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4a2f2e:	53                   	push   %ebx
4a2f2f:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4a2f33:	55                   	push   %ebp
4a2f34:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a2f38:	56                   	push   %esi
4a2f39:	8b 74 24 28          	mov    0x28(%esp),%esi
4a2f3d:	57                   	push   %edi
4a2f3e:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
4a2f42:	8b 3f                	mov    (%edi),%edi
4a2f44:	85 ff                	test   %edi,%edi
4a2f46:	74 15                	je     0x4a2f5d
4a2f48:	85 f6                	test   %esi,%esi
4a2f4a:	74 11                	je     0x4a2f5d
4a2f4c:	8a 04 0f             	mov    (%edi,%ecx,1),%al
4a2f4f:	4e                   	dec    %esi
4a2f50:	32 45 00             	xor    0x0(%ebp),%al
4a2f53:	47                   	inc    %edi
4a2f54:	88 03                	mov    %al,(%ebx)
4a2f56:	45                   	inc    %ebp
4a2f57:	43                   	inc    %ebx
4a2f58:	83 e7 0f             	and    $0xf,%edi
4a2f5b:	75 eb                	jne    0x4a2f48
4a2f5d:	8b 54 24 34          	mov    0x34(%esp),%edx
4a2f61:	83 fe 10             	cmp    $0x10,%esi
4a2f64:	0f 82 8c 00 00 00    	jb     0x4a2ff6
4a2f6a:	8b c5                	mov    %ebp,%eax
4a2f6c:	33 ff                	xor    %edi,%edi
4a2f6e:	2b c1                	sub    %ecx,%eax
4a2f70:	89 7c 24 14          	mov    %edi,0x14(%esp)
4a2f74:	89 44 24 10          	mov    %eax,0x10(%esp)
4a2f78:	8b fb                	mov    %ebx,%edi
4a2f7a:	8b c6                	mov    %esi,%eax
4a2f7c:	2b f9                	sub    %ecx,%edi
4a2f7e:	c1 e8 04             	shr    $0x4,%eax
4a2f81:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a2f85:	c1 e0 04             	shl    $0x4,%eax
4a2f88:	03 d8                	add    %eax,%ebx
4a2f8a:	03 e8                	add    %eax,%ebp
4a2f8c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4a2f90:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4a2f94:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
4a2f98:	8b 6c 24 38          	mov    0x38(%esp),%ebp
4a2f9c:	0f 1f 40 00          	nopl   0x0(%eax)
4a2fa0:	ff 74 24 30          	push   0x30(%esp)
4a2fa4:	55                   	push   %ebp
4a2fa5:	52                   	push   %edx
4a2fa6:	ff 54 24 4c          	call   *0x4c(%esp)
4a2faa:	8b 44 24 40          	mov    0x40(%esp),%eax
4a2fae:	50                   	push   %eax
4a2faf:	e8 1c 02 00 00       	call   0x4a31d0
4a2fb4:	83 c4 10             	add    $0x10,%esp
4a2fb7:	8b c5                	mov    %ebp,%eax
4a2fb9:	ba 04 00 00 00       	mov    $0x4,%edx
4a2fbe:	66 90                	xchg   %ax,%ax
4a2fc0:	8b 0c 03             	mov    (%ebx,%eax,1),%ecx
4a2fc3:	8d 40 04             	lea    0x4(%eax),%eax
4a2fc6:	33 48 fc             	xor    -0x4(%eax),%ecx
4a2fc9:	89 4c 07 fc          	mov    %ecx,-0x4(%edi,%eax,1)
4a2fcd:	83 ea 01             	sub    $0x1,%edx
4a2fd0:	75 ee                	jne    0x4a2fc0
4a2fd2:	8b 54 24 34          	mov    0x34(%esp),%edx
4a2fd6:	83 ee 10             	sub    $0x10,%esi
4a2fd9:	83 c7 10             	add    $0x10,%edi
4a2fdc:	83 c3 10             	add    $0x10,%ebx
4a2fdf:	83 6c 24 2c 01       	subl   $0x1,0x2c(%esp)
4a2fe4:	75 ba                	jne    0x4a2fa0
4a2fe6:	8b 7c 24 14          	mov    0x14(%esp),%edi
4a2fea:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a2fee:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a2ff2:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4a2ff6:	85 f6                	test   %esi,%esi
4a2ff8:	74 38                	je     0x4a3032
4a2ffa:	ff 74 24 30          	push   0x30(%esp)
4a2ffe:	51                   	push   %ecx
4a2fff:	52                   	push   %edx
4a3000:	ff 54 24 4c          	call   *0x4c(%esp)
4a3004:	8b 44 24 40          	mov    0x40(%esp),%eax
4a3008:	50                   	push   %eax
4a3009:	e8 c2 01 00 00       	call   0x4a31d0
4a300e:	8b 44 24 48          	mov    0x48(%esp),%eax
4a3012:	83 c4 10             	add    $0x10,%esp
4a3015:	2b e8                	sub    %eax,%ebp
4a3017:	2b d8                	sub    %eax,%ebx
4a3019:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4a301c:	03 fe                	add    %esi,%edi
4a301e:	66 90                	xchg   %ax,%ax
4a3020:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4a3023:	8d 49 01             	lea    0x1(%ecx),%ecx
4a3026:	32 41 ff             	xor    -0x1(%ecx),%al
4a3029:	88 44 19 ff          	mov    %al,-0x1(%ecx,%ebx,1)
4a302d:	83 ee 01             	sub    $0x1,%esi
4a3030:	75 ee                	jne    0x4a3020
4a3032:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a3036:	89 38                	mov    %edi,(%eax)
4a3038:	5f                   	pop    %edi
4a3039:	5e                   	pop    %esi
4a303a:	5d                   	pop    %ebp
4a303b:	5b                   	pop    %ebx
4a303c:	83 c4 10             	add    $0x10,%esp
4a303f:	c3                   	ret
4a3040:	b8 08 00 00 00       	mov    $0x8,%eax
4a3045:	e8 a6 e4 13 00       	call   0x5e14f0
4a304a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4a304e:	53                   	push   %ebx
4a304f:	55                   	push   %ebp
4a3050:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4a3054:	56                   	push   %esi
4a3055:	8b 74 24 20          	mov    0x20(%esp),%esi
4a3059:	57                   	push   %edi
4a305a:	8b 7c 24 34          	mov    0x34(%esp),%edi
4a305e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4a3062:	8b 3f                	mov    (%edi),%edi
4a3064:	89 7c 24 14          	mov    %edi,0x14(%esp)
4a3068:	85 ff                	test   %edi,%edi
4a306a:	74 21                	je     0x4a308d
4a306c:	8b 54 24 30          	mov    0x30(%esp),%edx
4a3070:	85 f6                	test   %esi,%esi
4a3072:	74 19                	je     0x4a308d
4a3074:	8a 04 17             	mov    (%edi,%edx,1),%al
4a3077:	4e                   	dec    %esi
4a3078:	32 01                	xor    (%ecx),%al
4a307a:	47                   	inc    %edi
4a307b:	88 45 00             	mov    %al,0x0(%ebp)
4a307e:	41                   	inc    %ecx
4a307f:	45                   	inc    %ebp
4a3080:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4a3084:	83 e7 0f             	and    $0xf,%edi
4a3087:	89 7c 24 14          	mov    %edi,0x14(%esp)
4a308b:	75 e3                	jne    0x4a3070
4a308d:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4a3091:	0f b6 53 0c          	movzbl 0xc(%ebx),%edx
4a3095:	0f b6 43 0d          	movzbl 0xd(%ebx),%eax
4a3099:	c1 e2 08             	shl    $0x8,%edx
4a309c:	0b d0                	or     %eax,%edx
4a309e:	0f b6 43 0e          	movzbl 0xe(%ebx),%eax
4a30a2:	c1 e2 08             	shl    $0x8,%edx
4a30a5:	0b d0                	or     %eax,%edx
4a30a7:	0f b6 43 0f          	movzbl 0xf(%ebx),%eax
4a30ab:	c1 e2 08             	shl    $0x8,%edx
4a30ae:	0b d0                	or     %eax,%edx
4a30b0:	89 54 24 24          	mov    %edx,0x24(%esp)
4a30b4:	83 fe 10             	cmp    $0x10,%esi
4a30b7:	0f 82 8a 00 00 00    	jb     0x4a3147
4a30bd:	8b fb                	mov    %ebx,%edi
4a30bf:	90                   	nop
4a30c0:	8b de                	mov    %esi,%ebx
4a30c2:	c1 eb 04             	shr    $0x4,%ebx
4a30c5:	03 d3                	add    %ebx,%edx
4a30c7:	89 54 24 24          	mov    %edx,0x24(%esp)
4a30cb:	3b d3                	cmp    %ebx,%edx
4a30cd:	73 08                	jae    0x4a30d7
4a30cf:	2b da                	sub    %edx,%ebx
4a30d1:	33 d2                	xor    %edx,%edx
4a30d3:	89 54 24 24          	mov    %edx,0x24(%esp)
4a30d7:	57                   	push   %edi
4a30d8:	ff 74 24 2c          	push   0x2c(%esp)
4a30dc:	53                   	push   %ebx
4a30dd:	55                   	push   %ebp
4a30de:	51                   	push   %ecx
4a30df:	ff 54 24 4c          	call   *0x4c(%esp)
4a30e3:	8b 54 24 38          	mov    0x38(%esp),%edx
4a30e7:	83 c4 14             	add    $0x14,%esp
4a30ea:	8b c2                	mov    %edx,%eax
4a30ec:	88 57 0f             	mov    %dl,0xf(%edi)
4a30ef:	c1 e8 18             	shr    $0x18,%eax
4a30f2:	88 47 0c             	mov    %al,0xc(%edi)
4a30f5:	8b c2                	mov    %edx,%eax
4a30f7:	c1 e8 10             	shr    $0x10,%eax
4a30fa:	88 47 0d             	mov    %al,0xd(%edi)
4a30fd:	8b c2                	mov    %edx,%eax
4a30ff:	c1 e8 08             	shr    $0x8,%eax
4a3102:	88 47 0e             	mov    %al,0xe(%edi)
4a3105:	85 d2                	test   %edx,%edx
4a3107:	75 20                	jne    0x4a3129
4a3109:	ba 0c 00 00 00       	mov    $0xc,%edx
4a310e:	b9 01 00 00 00       	mov    $0x1,%ecx
4a3113:	0f b6 44 3a ff       	movzbl -0x1(%edx,%edi,1),%eax
4a3118:	4a                   	dec    %edx
4a3119:	03 c8                	add    %eax,%ecx
4a311b:	88 0c 3a             	mov    %cl,(%edx,%edi,1)
4a311e:	c1 e9 08             	shr    $0x8,%ecx
4a3121:	85 d2                	test   %edx,%edx
4a3123:	75 ee                	jne    0x4a3113
4a3125:	8b 54 24 24          	mov    0x24(%esp),%edx
4a3129:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a312d:	c1 e3 04             	shl    $0x4,%ebx
4a3130:	2b f3                	sub    %ebx,%esi
4a3132:	03 cb                	add    %ebx,%ecx
4a3134:	03 eb                	add    %ebx,%ebp
4a3136:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4a313a:	83 fe 10             	cmp    $0x10,%esi
4a313d:	73 81                	jae    0x4a30c0
4a313f:	8b 7c 24 14          	mov    0x14(%esp),%edi
4a3143:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
4a3147:	85 f6                	test   %esi,%esi
4a3149:	74 6a                	je     0x4a31b5
4a314b:	8b 44 24 30          	mov    0x30(%esp),%eax
4a314f:	0f 57 c0             	xorps  %xmm0,%xmm0
4a3152:	53                   	push   %ebx
4a3153:	ff 74 24 2c          	push   0x2c(%esp)
4a3157:	6a 01                	push   $0x1
4a3159:	50                   	push   %eax
4a315a:	50                   	push   %eax
4a315b:	0f 11 00             	movups %xmm0,(%eax)
4a315e:	ff 54 24 4c          	call   *0x4c(%esp)
4a3162:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4a3166:	83 c4 14             	add    $0x14,%esp
4a3169:	41                   	inc    %ecx
4a316a:	8b c1                	mov    %ecx,%eax
4a316c:	88 4b 0f             	mov    %cl,0xf(%ebx)
4a316f:	c1 e8 18             	shr    $0x18,%eax
4a3172:	88 43 0c             	mov    %al,0xc(%ebx)
4a3175:	8b c1                	mov    %ecx,%eax
4a3177:	c1 e8 10             	shr    $0x10,%eax
4a317a:	88 43 0d             	mov    %al,0xd(%ebx)
4a317d:	8b c1                	mov    %ecx,%eax
4a317f:	c1 e8 08             	shr    $0x8,%eax
4a3182:	88 43 0e             	mov    %al,0xe(%ebx)
4a3185:	85 c9                	test   %ecx,%ecx
4a3187:	75 09                	jne    0x4a3192
4a3189:	53                   	push   %ebx
4a318a:	e8 71 00 00 00       	call   0x4a3200
4a318f:	83 c4 04             	add    $0x4,%esp
4a3192:	8b 44 24 30          	mov    0x30(%esp),%eax
4a3196:	2b e8                	sub    %eax,%ebp
4a3198:	8b 54 24 10          	mov    0x10(%esp),%edx
4a319c:	2b d0                	sub    %eax,%edx
4a319e:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4a31a1:	03 fe                	add    %esi,%edi
4a31a3:	8a 04 0a             	mov    (%edx,%ecx,1),%al
4a31a6:	8d 49 01             	lea    0x1(%ecx),%ecx
4a31a9:	32 41 ff             	xor    -0x1(%ecx),%al
4a31ac:	88 44 29 ff          	mov    %al,-0x1(%ecx,%ebp,1)
4a31b0:	83 ee 01             	sub    $0x1,%esi
4a31b3:	75 ee                	jne    0x4a31a3
4a31b5:	8b 44 24 34          	mov    0x34(%esp),%eax
4a31b9:	89 38                	mov    %edi,(%eax)
4a31bb:	5f                   	pop    %edi
4a31bc:	5e                   	pop    %esi
4a31bd:	5d                   	pop    %ebp
4a31be:	5b                   	pop    %ebx
4a31bf:	83 c4 08             	add    $0x8,%esp
4a31c2:	c3                   	ret
4a31c3:	cc                   	int3
4a31c4:	cc                   	int3
4a31c5:	cc                   	int3
4a31c6:	cc                   	int3
4a31c7:	cc                   	int3
4a31c8:	cc                   	int3
4a31c9:	cc                   	int3
4a31ca:	cc                   	int3
4a31cb:	cc                   	int3
4a31cc:	cc                   	int3
4a31cd:	cc                   	int3
4a31ce:	cc                   	int3
4a31cf:	cc                   	int3
4a31d0:	56                   	push   %esi
4a31d1:	8b 74 24 08          	mov    0x8(%esp),%esi
4a31d5:	ba 10 00 00 00       	mov    $0x10,%edx
4a31da:	b8 01 00 00 00       	mov    $0x1,%eax
4a31df:	90                   	nop
4a31e0:	0f b6 4c 32 ff       	movzbl -0x1(%edx,%esi,1),%ecx
4a31e5:	4a                   	dec    %edx
4a31e6:	03 c1                	add    %ecx,%eax
4a31e8:	88 04 32             	mov    %al,(%edx,%esi,1)
4a31eb:	c1 e8 08             	shr    $0x8,%eax
4a31ee:	85 d2                	test   %edx,%edx
4a31f0:	75 ee                	jne    0x4a31e0
4a31f2:	5e                   	pop    %esi
4a31f3:	c3                   	ret
4a31f4:	cc                   	int3
4a31f5:	cc                   	int3
4a31f6:	cc                   	int3
4a31f7:	cc                   	int3
4a31f8:	cc                   	int3
4a31f9:	cc                   	int3
4a31fa:	cc                   	int3
4a31fb:	cc                   	int3
4a31fc:	cc                   	int3
4a31fd:	cc                   	int3
4a31fe:	cc                   	int3
4a31ff:	cc                   	int3
4a3200:	56                   	push   %esi
4a3201:	8b 74 24 08          	mov    0x8(%esp),%esi
4a3205:	ba 0c 00 00 00       	mov    $0xc,%edx
4a320a:	b8 01 00 00 00       	mov    $0x1,%eax
4a320f:	90                   	nop
4a3210:	0f b6 4c 32 ff       	movzbl -0x1(%edx,%esi,1),%ecx
4a3215:	4a                   	dec    %edx
4a3216:	03 c1                	add    %ecx,%eax
4a3218:	88 04 32             	mov    %al,(%edx,%esi,1)
4a321b:	c1 e8 08             	shr    $0x8,%eax
4a321e:	85 d2                	test   %edx,%edx
4a3220:	75 ee                	jne    0x4a3210
4a3222:	5e                   	pop    %esi
4a3223:	c3                   	ret
4a3224:	cc                   	int3
4a3225:	cc                   	int3
4a3226:	cc                   	int3
4a3227:	cc                   	int3
4a3228:	cc                   	int3
4a3229:	cc                   	int3
4a322a:	cc                   	int3
4a322b:	cc                   	int3
4a322c:	cc                   	int3
4a322d:	cc                   	int3
4a322e:	cc                   	int3
4a322f:	cc                   	int3
4a3230:	b8 10 00 00 00       	mov    $0x10,%eax
4a3235:	e8 b6 e2 13 00       	call   0x5e14f0
4a323a:	53                   	push   %ebx
4a323b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4a323f:	55                   	push   %ebp
4a3240:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a3244:	56                   	push   %esi
4a3245:	8b 74 24 34          	mov    0x34(%esp),%esi
4a3249:	57                   	push   %edi
4a324a:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a324e:	8b 36                	mov    (%esi),%esi
4a3250:	85 f6                	test   %esi,%esi
4a3252:	74 19                	je     0x4a326d
4a3254:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a3258:	85 ff                	test   %edi,%edi
4a325a:	74 11                	je     0x4a326d
4a325c:	8a 04 0e             	mov    (%esi,%ecx,1),%al
4a325f:	4f                   	dec    %edi
4a3260:	32 45 00             	xor    0x0(%ebp),%al
4a3263:	46                   	inc    %esi
4a3264:	88 03                	mov    %al,(%ebx)
4a3266:	45                   	inc    %ebp
4a3267:	43                   	inc    %ebx
4a3268:	83 e6 0f             	and    $0xf,%esi
4a326b:	75 eb                	jne    0x4a3258
4a326d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
4a3271:	83 ff 10             	cmp    $0x10,%edi
4a3274:	0f 82 8b 00 00 00    	jb     0x4a3305
4a327a:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a327e:	8b c3                	mov    %ebx,%eax
4a3280:	2b c1                	sub    %ecx,%eax
4a3282:	89 44 24 10          	mov    %eax,0x10(%esp)
4a3286:	8b c5                	mov    %ebp,%eax
4a3288:	2b c1                	sub    %ecx,%eax
4a328a:	89 44 24 14          	mov    %eax,0x14(%esp)
4a328e:	8b c7                	mov    %edi,%eax