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
4b3203:	74 0b                	je     0x4b3210
4b3205:	56                   	push   %esi
4b3206:	e8 25 cf fe ff       	call   0x4a0130
4b320b:	83 c4 04             	add    $0x4,%esp
4b320e:	5e                   	pop    %esi
4b320f:	c3                   	ret
4b3210:	0d 00 80 00 00       	or     $0x8000,%eax
4b3215:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4b321b:	89 46 10             	mov    %eax,0x10(%esi)
4b321e:	5e                   	pop    %esi
4b321f:	c3                   	ret
4b3220:	8b 44 24 04          	mov    0x4(%esp),%eax
4b3224:	0f 57 c0             	xorps  %xmm0,%xmm0
4b3227:	0f 11 00             	movups %xmm0,(%eax)
4b322a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4b3231:	c3                   	ret
4b3232:	cc                   	int3
4b3233:	cc                   	int3
4b3234:	cc                   	int3
4b3235:	cc                   	int3
4b3236:	cc                   	int3
4b3237:	cc                   	int3
4b3238:	cc                   	int3
4b3239:	cc                   	int3
4b323a:	cc                   	int3
4b323b:	cc                   	int3
4b323c:	cc                   	int3
4b323d:	cc                   	int3
4b323e:	cc                   	int3
4b323f:	cc                   	int3
4b3240:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4b3244:	85 c9                	test   %ecx,%ecx
4b3246:	79 03                	jns    0x4b324b
4b3248:	33 c0                	xor    %eax,%eax
4b324a:	c3                   	ret
4b324b:	8b c1                	mov    %ecx,%eax
4b324d:	99                   	cltd
4b324e:	83 e2 1f             	and    $0x1f,%edx
4b3251:	03 d0                	add    %eax,%edx
4b3253:	8b 44 24 04          	mov    0x4(%esp),%eax
4b3257:	c1 fa 05             	sar    $0x5,%edx
4b325a:	39 50 04             	cmp    %edx,0x4(%eax)
4b325d:	7e e9                	jle    0x4b3248
4b325f:	8b 00                	mov    (%eax),%eax
4b3261:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
4b3267:	79 05                	jns    0x4b326e
4b3269:	49                   	dec    %ecx
4b326a:	83 c9 e0             	or     $0xffffffe0,%ecx
4b326d:	41                   	inc    %ecx
4b326e:	8b 04 90             	mov    (%eax,%edx,4),%eax
4b3271:	d3 e8                	shr    %cl,%eax
4b3273:	83 e0 01             	and    $0x1,%eax
4b3276:	c3                   	ret
4b3277:	cc                   	int3
4b3278:	cc                   	int3
4b3279:	cc                   	int3
4b327a:	cc                   	int3
4b327b:	cc                   	int3
4b327c:	cc                   	int3
4b327d:	cc                   	int3
4b327e:	cc                   	int3
4b327f:	cc                   	int3
4b3280:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4b3284:	85 c9                	test   %ecx,%ecx
4b3286:	79 03                	jns    0x4b328b
4b3288:	33 c0                	xor    %eax,%eax
4b328a:	c3                   	ret
4b328b:	8b c1                	mov    %ecx,%eax
4b328d:	99                   	cltd
4b328e:	83 e2 1f             	and    $0x1f,%edx
4b3291:	03 d0                	add    %eax,%edx
4b3293:	c1 fa 05             	sar    $0x5,%edx
4b3296:	56                   	push   %esi
4b3297:	81 e1 1f 00 00 80    	and    $0x8000001f,%ecx
4b329d:	79 05                	jns    0x4b32a4
4b329f:	49                   	dec    %ecx
4b32a0:	83 c9 e0             	or     $0xffffffe0,%ecx
4b32a3:	41                   	inc    %ecx
4b32a4:	8b 74 24 08          	mov    0x8(%esp),%esi
4b32a8:	3b 56 04             	cmp    0x4(%esi),%edx
4b32ab:	7c 04                	jl     0x4b32b1
4b32ad:	33 c0                	xor    %eax,%eax
4b32af:	5e                   	pop    %esi
4b32b0:	c3                   	ret
4b32b1:	85 c9                	test   %ecx,%ecx
4b32b3:	75 05                	jne    0x4b32ba
4b32b5:	89 56 04             	mov    %edx,0x4(%esi)
4b32b8:	eb 14                	jmp    0x4b32ce
4b32ba:	8d 42 01             	lea    0x1(%edx),%eax
4b32bd:	89 46 04             	mov    %eax,0x4(%esi)
4b32c0:	8b 06                	mov    (%esi),%eax
4b32c2:	8d 14 90             	lea    (%eax,%edx,4),%edx
4b32c5:	83 c8 ff             	or     $0xffffffff,%eax
4b32c8:	d3 e0                	shl    %cl,%eax
4b32ca:	f7 d0                	not    %eax
4b32cc:	21 02                	and    %eax,(%edx)
4b32ce:	8b 46 04             	mov    0x4(%esi),%eax
4b32d1:	85 c0                	test   %eax,%eax
4b32d3:	7e 1c                	jle    0x4b32f1
4b32d5:	8b 0e                	mov    (%esi),%ecx
4b32d7:	8d 50 ff             	lea    -0x1(%eax),%edx
4b32da:	8d 14 91             	lea    (%ecx,%edx,4),%edx
4b32dd:	0f 1f 00             	nopl   (%eax)
4b32e0:	8b 0a                	mov    (%edx),%ecx
4b32e2:	8d 52 fc             	lea    -0x4(%edx),%edx
4b32e5:	85 c9                	test   %ecx,%ecx
4b32e7:	75 05                	jne    0x4b32ee
4b32e9:	48                   	dec    %eax
4b32ea:	85 c0                	test   %eax,%eax
4b32ec:	7f f2                	jg     0x4b32e0
4b32ee:	89 46 04             	mov    %eax,0x4(%esi)
4b32f1:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4b32f5:	75 07                	jne    0x4b32fe
4b32f7:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
4b32fe:	b8 01 00 00 00       	mov    $0x1,%eax
4b3303:	5e                   	pop    %esi
4b3304:	c3                   	ret
4b3305:	cc                   	int3
4b3306:	cc                   	int3
4b3307:	cc                   	int3
4b3308:	cc                   	int3
4b3309:	cc                   	int3
4b330a:	cc                   	int3
4b330b:	cc                   	int3
4b330c:	cc                   	int3
4b330d:	cc                   	int3
4b330e:	cc                   	int3
4b330f:	cc                   	int3
4b3310:	68 10 01 00 00       	push   $0x110
4b3315:	68 c0 a2 6a 00       	push   $0x6aa2c0
4b331a:	6a 14                	push   $0x14
4b331c:	e8 8f ce fe ff       	call   0x4a01b0
4b3321:	83 c4 0c             	add    $0xc,%esp
4b3324:	85 c0                	test   %eax,%eax
4b3326:	75 1b                	jne    0x4b3343
4b3328:	68 11 01 00 00       	push   $0x111
4b332d:	68 c0 a2 6a 00       	push   $0x6aa2c0
4b3332:	6a 41                	push   $0x41
4b3334:	6a 71                	push   $0x71
4b3336:	6a 03                	push   $0x3
4b3338:	e8 63 e1 fe ff       	call   0x4a14a0
4b333d:	83 c4 14             	add    $0x14,%esp
4b3340:	33 c0                	xor    %eax,%eax
4b3342:	c3                   	ret
4b3343:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
4b334a:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
4b3351:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
4b3358:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
4b335f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4b3365:	c3                   	ret
4b3366:	cc                   	int3
4b3367:	cc                   	int3
4b3368:	cc                   	int3
4b3369:	cc                   	int3
4b336a:	cc                   	int3
4b336b:	cc                   	int3
4b336c:	cc                   	int3
4b336d:	cc                   	int3
4b336e:	cc                   	int3
4b336f:	cc                   	int3
4b3370:	8b 54 24 04          	mov    0x4(%esp),%edx
4b3374:	8b 42 04             	mov    0x4(%edx),%eax
4b3377:	8d 48 ff             	lea    -0x1(%eax),%ecx
4b337a:	85 c0                	test   %eax,%eax
4b337c:	75 01                	jne    0x4b337f
4b337e:	c3                   	ret
4b337f:	8b 02                	mov    (%edx),%eax
4b3381:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4b3384:	a9 00 00 ff ff       	test   $0xffff0000,%eax
4b3389:	74 2d                	je     0x4b33b8
4b338b:	a9 00 00 00 ff       	test   $0xff000000,%eax
4b3390:	74 13                	je     0x4b33a5
4b3392:	c1 e8 18             	shr    $0x18,%eax
4b3395:	c1 e1 05             	shl    $0x5,%ecx
4b3398:	0f b6 80 c0 a1 6a 00 	movzbl 0x6aa1c0(%eax),%eax