4c3140:	8b 45 0c             	mov    0xc(%ebp),%eax
4c3143:	8b 55 08             	mov    0x8(%ebp),%edx
4c3146:	53                   	push   %ebx
4c3147:	56                   	push   %esi
4c3148:	8b 75 14             	mov    0x14(%ebp),%esi
4c314b:	8b d9                	mov    %ecx,%ebx
4c314d:	8b 4d 10             	mov    0x10(%ebp),%ecx
4c3150:	57                   	push   %edi
4c3151:	8b 7d 20             	mov    0x20(%ebp),%edi
4c3154:	89 06                	mov    %eax,(%esi)
4c3156:	8b 45 18             	mov    0x18(%ebp),%eax
4c3159:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4c315c:	89 07                	mov    %eax,(%edi)
4c315e:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c3161:	39 0e                	cmp    %ecx,(%esi)
4c3163:	0f 84 b8 00 00 00    	je     0x4c3221
4c3169:	8b 45 1c             	mov    0x1c(%ebp),%eax
4c316c:	8b 0f                	mov    (%edi),%ecx
4c316e:	3b c8                	cmp    %eax,%ecx
4c3170:	0f 84 a8 00 00 00    	je     0x4c321e
4c3176:	2b c1                	sub    %ecx,%eax
4c3178:	83 f8 05             	cmp    $0x5,%eax
4c317b:	7c 1f                	jl     0x4c319c
4c317d:	8d 43 08             	lea    0x8(%ebx),%eax
4c3180:	50                   	push   %eax
4c3181:	8b 06                	mov    (%esi),%eax
4c3183:	52                   	push   %edx
4c3184:	0f b7 00             	movzwl (%eax),%eax
4c3187:	50                   	push   %eax
4c3188:	51                   	push   %ecx
4c3189:	e8 08 ba 10 00       	call   0x5ceb96
4c318e:	83 c4 10             	add    $0x10,%esp
4c3191:	85 c0                	test   %eax,%eax
4c3193:	78 5f                	js     0x4c31f4
4c3195:	83 06 02             	addl   $0x2,(%esi)
4c3198:	01 07                	add    %eax,(%edi)
4c319a:	eb 49                	jmp    0x4c31e5
4c319c:	8b 02                	mov    (%edx),%eax
4c319e:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c31a1:	8b 42 04             	mov    0x4(%edx),%eax
4c31a4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4c31a7:	8d 43 08             	lea    0x8(%ebx),%eax
4c31aa:	50                   	push   %eax
4c31ab:	8b 06                	mov    (%esi),%eax
4c31ad:	52                   	push   %edx
4c31ae:	0f b7 00             	movzwl (%eax),%eax
4c31b1:	50                   	push   %eax
4c31b2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4c31b5:	50                   	push   %eax
4c31b6:	e8 db b9 10 00       	call   0x5ceb96
4c31bb:	8b d8                	mov    %eax,%ebx
4c31bd:	83 c4 10             	add    $0x10,%esp
4c31c0:	85 db                	test   %ebx,%ebx
4c31c2:	78 30                	js     0x4c31f4
4c31c4:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4c31c7:	8b 07                	mov    (%edi),%eax
4c31c9:	2b c8                	sub    %eax,%ecx
4c31cb:	3b cb                	cmp    %ebx,%ecx
4c31cd:	7c 41                	jl     0x4c3210
4c31cf:	53                   	push   %ebx
4c31d0:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4c31d3:	51                   	push   %ecx
4c31d4:	50                   	push   %eax
4c31d5:	e8 26 fd 11 00       	call   0x5e2f00
4c31da:	83 06 02             	addl   $0x2,(%esi)
4c31dd:	83 c4 0c             	add    $0xc,%esp
4c31e0:	01 1f                	add    %ebx,(%edi)
4c31e2:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4c31e5:	8b 45 10             	mov    0x10(%ebp),%eax
4c31e8:	39 06                	cmp    %eax,(%esi)
4c31ea:	74 20                	je     0x4c320c
4c31ec:	8b 55 f0             	mov    -0x10(%ebp),%edx
4c31ef:	e9 75 ff ff ff       	jmp    0x4c3169
4c31f4:	5f                   	pop    %edi
4c31f5:	5e                   	pop    %esi
4c31f6:	b8 02 00 00 00       	mov    $0x2,%eax
4c31fb:	5b                   	pop    %ebx
4c31fc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c31ff:	33 cd                	xor    %ebp,%ecx
4c3201:	e8 d4 e2 11 00       	call   0x5e14da
4c3206:	8b e5                	mov    %ebp,%esp
4c3208:	5d                   	pop    %ebp
4c3209:	c2 1c 00             	ret    $0x1c
4c320c:	8b c8                	mov    %eax,%ecx
4c320e:	eb 11                	jmp    0x4c3221
4c3210:	8b 45 f0             	mov    -0x10(%ebp),%eax
4c3213:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4c3216:	89 08                	mov    %ecx,(%eax)
4c3218:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4c321b:	89 48 04             	mov    %ecx,0x4(%eax)
4c321e:	8b 4d 10             	mov    0x10(%ebp),%ecx
4c3221:	33 c0                	xor    %eax,%eax
4c3223:	39 0e                	cmp    %ecx,(%esi)
4c3225:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c3228:	5f                   	pop    %edi
4c3229:	0f 95 c0             	setne  %al
4c322c:	33 cd                	xor    %ebp,%ecx
4c322e:	5e                   	pop    %esi
4c322f:	5b                   	pop    %ebx
4c3230:	e8 a5 e2 11 00       	call   0x5e14da
4c3235:	8b e5                	mov    %ebp,%esp
4c3237:	5d                   	pop    %ebp
4c3238:	c2 1c 00             	ret    $0x1c
4c323b:	cc                   	int3
4c323c:	cc                   	int3
4c323d:	cc                   	int3
4c323e:	cc                   	int3
4c323f:	cc                   	int3
4c3240:	55                   	push   %ebp
4c3241:	8b ec                	mov    %esp,%ebp
4c3243:	8b 55 14             	mov    0x14(%ebp),%edx
4c3246:	8b 45 0c             	mov    0xc(%ebp),%eax
4c3249:	53                   	push   %ebx
4c324a:	56                   	push   %esi
4c324b:	57                   	push   %edi
4c324c:	8b 7d 20             	mov    0x20(%ebp),%edi
4c324f:	89 02                	mov    %eax,(%edx)
4c3251:	8b 45 18             	mov    0x18(%ebp),%eax
4c3254:	89 07                	mov    %eax,(%edi)
4c3256:	8b 45 10             	mov    0x10(%ebp),%eax
4c3259:	39 02                	cmp    %eax,(%edx)
4c325b:	0f 84 d8 00 00 00    	je     0x4c3339
4c3261:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4c3264:	39 0f                	cmp    %ecx,(%edi)
4c3266:	0f 84 cd 00 00 00    	je     0x4c3339
4c326c:	8b 02                	mov    (%edx),%eax
4c326e:	0f b7 00             	movzwl (%eax),%eax
4c3271:	3d ff ff 10 00       	cmp    $0x10ffff,%eax
4c3276:	0f 87 ce 00 00 00    	ja     0x4c334a
4c327c:	3d 80 00 00 00       	cmp    $0x80,%eax
4c3281:	73 06                	jae    0x4c3289
4c3283:	8a d8                	mov    %al,%bl
4c3285:	33 f6                	xor    %esi,%esi
4c3287:	eb 5d                	jmp    0x4c32e6
4c3289:	8b d8                	mov    %eax,%ebx
4c328b:	3d 00 08 00 00       	cmp    $0x800,%eax
4c3290:	73 0d                	jae    0x4c329f
4c3292:	c1 eb 06             	shr    $0x6,%ebx
4c3295:	be 01 00 00 00       	mov    $0x1,%esi
4c329a:	80 cb c0             	or     $0xc0,%bl
4c329d:	eb 47                	jmp    0x4c32e6
4c329f:	3d 00 00 01 00       	cmp    $0x10000,%eax
4c32a4:	73 0d                	jae    0x4c32b3
4c32a6:	c1 eb 0c             	shr    $0xc,%ebx
4c32a9:	be 02 00 00 00       	mov    $0x2,%esi
4c32ae:	80 cb e0             	or     $0xe0,%bl
4c32b1:	eb 33                	jmp    0x4c32e6
4c32b3:	3d 00 00 20 00       	cmp    $0x200000,%eax
4c32b8:	73 0d                	jae    0x4c32c7
4c32ba:	c1 eb 12             	shr    $0x12,%ebx
4c32bd:	be 03 00 00 00       	mov    $0x3,%esi
4c32c2:	80 cb f0             	or     $0xf0,%bl
4c32c5:	eb 1f                	jmp    0x4c32e6
4c32c7:	3d 00 00 00 04       	cmp    $0x4000000,%eax
4c32cc:	73 0d                	jae    0x4c32db
4c32ce:	c1 eb 18             	shr    $0x18,%ebx
4c32d1:	be 04 00 00 00       	mov    $0x4,%esi
4c32d6:	80 cb f8             	or     $0xf8,%bl
4c32d9:	eb 0b                	jmp    0x4c32e6
4c32db:	c1 eb 1e             	shr    $0x1e,%ebx
4c32de:	be 05 00 00 00       	mov    $0x5,%esi
4c32e3:	80 cb fc             	or     $0xfc,%bl
4c32e6:	8b 55 08             	mov    0x8(%ebp),%edx
4c32e9:	80 3a 00             	cmpb   $0x0,(%edx)
4c32ec:	75 03                	jne    0x4c32f1
4c32ee:	c6 02 01             	movb   $0x1,(%edx)
4c32f1:	8b d1                	mov    %ecx,%edx
4c32f3:	8d 4e 01             	lea    0x1(%esi),%ecx
4c32f6:	2b 17                	sub    (%edi),%edx
4c32f8:	3b d1                	cmp    %ecx,%edx
4c32fa:	8b 55 14             	mov    0x14(%ebp),%edx
4c32fd:	7c 3a                	jl     0x4c3339
4c32ff:	83 02 02             	addl   $0x2,(%edx)
4c3302:	8b 0f                	mov    (%edi),%ecx
4c3304:	88 19                	mov    %bl,(%ecx)
4c3306:	ff 07                	incl   (%edi)
4c3308:	8b 1f                	mov    (%edi),%ebx
4c330a:	85 f6                	test   %esi,%esi
4c330c:	7e 20                	jle    0x4c332e
4c330e:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
4c3311:	03 c9                	add    %ecx,%ecx
4c3313:	83 e9 06             	sub    $0x6,%ecx
4c3316:	8b d0                	mov    %eax,%edx
4c3318:	d3 ea                	shr    %cl,%edx
4c331a:	4e                   	dec    %esi
4c331b:	80 e2 3f             	and    $0x3f,%dl
4c331e:	80 ca 80             	or     $0x80,%dl
4c3321:	88 13                	mov    %dl,(%ebx)
4c3323:	ff 07                	incl   (%edi)
4c3325:	8b 1f                	mov    (%edi),%ebx
4c3327:	85 f6                	test   %esi,%esi
4c3329:	7f e8                	jg     0x4c3313
4c332b:	8b 55 14             	mov    0x14(%ebp),%edx
4c332e:	8b 45 10             	mov    0x10(%ebp),%eax
4c3331:	39 02                	cmp    %eax,(%edx)
4c3333:	0f 85 28 ff ff ff    	jne    0x4c3261
4c3339:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4c333c:	33 c0                	xor    %eax,%eax
4c333e:	3b 0a                	cmp    (%edx),%ecx
4c3340:	5f                   	pop    %edi
4c3341:	5e                   	pop    %esi
4c3342:	0f 94 c0             	sete   %al
4c3345:	5b                   	pop    %ebx
4c3346:	5d                   	pop    %ebp
4c3347:	c2 1c 00             	ret    $0x1c
4c334a:	5f                   	pop    %edi
4c334b:	5e                   	pop    %esi
4c334c:	b8 02 00 00 00       	mov    $0x2,%eax
4c3351:	5b                   	pop    %ebx
4c3352:	5d                   	pop    %ebp
4c3353:	c2 1c 00             	ret    $0x1c
4c3356:	cc                   	int3
4c3357:	cc                   	int3
4c3358:	cc                   	int3
4c3359:	cc                   	int3
4c335a:	cc                   	int3
4c335b:	cc                   	int3
4c335c:	cc                   	int3
4c335d:	cc                   	int3
4c335e:	cc                   	int3
4c335f:	cc                   	int3
4c3360:	55                   	push   %ebp
4c3361:	8b ec                	mov    %esp,%ebp
4c3363:	83 ec 14             	sub    $0x14,%esp
4c3366:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4c336b:	33 c5                	xor    %ebp,%eax
4c336d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c3370:	8b 45 0c             	mov    0xc(%ebp),%eax
4c3373:	53                   	push   %ebx
4c3374:	8b 5d 08             	mov    0x8(%ebp),%ebx
4c3377:	56                   	push   %esi
4c3378:	57                   	push   %edi
4c3379:	8b 7d 14             	mov    0x14(%ebp),%edi
4c337c:	89 07                	mov    %eax,(%edi)
4c337e:	8b 03                	mov    (%ebx),%eax
4c3380:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c3383:	8b 43 04             	mov    0x4(%ebx),%eax
4c3386:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c3389:	8d 41 08             	lea    0x8(%ecx),%eax
4c338c:	50                   	push   %eax
4c338d:	53                   	push   %ebx
4c338e:	8d 45 f4             	lea    -0xc(%ebp),%eax
4c3391:	6a 00                	push   $0x0
4c3393:	50                   	push   %eax
4c3394:	e8 fd b7 10 00       	call   0x5ceb96
4c3399:	8b f0                	mov    %eax,%esi
4c339b:	83 c4 10             	add    $0x10,%esp
4c339e:	85 f6                	test   %esi,%esi
4c33a0:	7f 18                	jg     0x4c33ba
4c33a2:	5f                   	pop    %edi
4c33a3:	5e                   	pop    %esi
4c33a4:	b8 02 00 00 00       	mov    $0x2,%eax
4c33a9:	5b                   	pop    %ebx
4c33aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c33ad:	33 cd                	xor    %ebp,%ecx
4c33af:	e8 26 e1 11 00       	call   0x5e14da
4c33b4:	8b e5                	mov    %ebp,%esp
4c33b6:	5d                   	pop    %ebp
4c33b7:	c2 10 00             	ret    $0x10
4c33ba:	8b 45 10             	mov    0x10(%ebp),%eax
4c33bd:	4e                   	dec    %esi
4c33be:	8b 0f                	mov    (%edi),%ecx
4c33c0:	2b c1                	sub    %ecx,%eax
4c33c2:	3b c6                	cmp    %esi,%eax
4c33c4:	7d 23                	jge    0x4c33e9
4c33c6:	8b 45 f0             	mov    -0x10(%ebp),%eax
4c33c9:	89 03                	mov    %eax,(%ebx)
4c33cb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c33ce:	5f                   	pop    %edi
4c33cf:	89 43 04             	mov    %eax,0x4(%ebx)
4c33d2:	b8 01 00 00 00       	mov    $0x1,%eax
4c33d7:	5e                   	pop    %esi
4c33d8:	5b                   	pop    %ebx
4c33d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c33dc:	33 cd                	xor    %ebp,%ecx
4c33de:	e8 f7 e0 11 00       	call   0x5e14da
4c33e3:	8b e5                	mov    %ebp,%esp
4c33e5:	5d                   	pop    %ebp
4c33e6:	c2 10 00             	ret    $0x10
4c33e9:	85 f6                	test   %esi,%esi
4c33eb:	7e 10                	jle    0x4c33fd
4c33ed:	56                   	push   %esi
4c33ee:	8d 55 f4             	lea    -0xc(%ebp),%edx
4c33f1:	52                   	push   %edx
4c33f2:	51                   	push   %ecx
4c33f3:	e8 08 fb 11 00       	call   0x5e2f00
4c33f8:	83 c4 0c             	add    $0xc,%esp
4c33fb:	01 37                	add    %esi,(%edi)
4c33fd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4c3400:	33 c0                	xor    %eax,%eax
4c3402:	5f                   	pop    %edi
4c3403:	5e                   	pop    %esi
4c3404:	33 cd                	xor    %ebp,%ecx
4c3406:	5b                   	pop    %ebx
4c3407:	e8 ce e0 11 00       	call   0x5e14da
4c340c:	8b e5                	mov    %ebp,%esp
4c340e:	5d                   	pop    %ebp
4c340f:	c2 10 00             	ret    $0x10
4c3412:	cc                   	int3
4c3413:	cc                   	int3
4c3414:	cc                   	int3
4c3415:	cc                   	int3
4c3416:	cc                   	int3
4c3417:	cc                   	int3
4c3418:	cc                   	int3
4c3419:	cc                   	int3
4c341a:	cc                   	int3
4c341b:	cc                   	int3
4c341c:	cc                   	int3
4c341d:	cc                   	int3
4c341e:	cc                   	int3
4c341f:	cc                   	int3
4c3420:	55                   	push   %ebp
4c3421:	8b ec                	mov    %esp,%ebp
4c3423:	8b 4d 14             	mov    0x14(%ebp),%ecx
4c3426:	8b 45 0c             	mov    0xc(%ebp),%eax
4c3429:	89 01                	mov    %eax,(%ecx)
4c342b:	33 c0                	xor    %eax,%eax
4c342d:	5d                   	pop    %ebp
4c342e:	c2 10 00             	ret    $0x10
4c3431:	cc                   	int3
4c3432:	cc                   	int3
4c3433:	cc                   	int3
4c3434:	cc                   	int3
4c3435:	cc                   	int3
4c3436:	cc                   	int3
4c3437:	cc                   	int3
4c3438:	cc                   	int3
4c3439:	cc                   	int3
4c343a:	cc                   	int3
4c343b:	cc                   	int3
4c343c:	cc                   	int3
4c343d:	cc                   	int3
4c343e:	cc                   	int3
4c343f:	cc                   	int3
4c3440:	55                   	push   %ebp
4c3441:	8b ec                	mov    %esp,%ebp
4c3443:	51                   	push   %ecx
4c3444:	8b 55 0c             	mov    0xc(%ebp),%edx
4c3447:	53                   	push   %ebx
4c3448:	8b 5d 10             	mov    0x10(%ebp),%ebx
4c344b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c344e:	85 db                	test   %ebx,%ebx
4c3450:	75 0e                	jne    0x4c3460
4c3452:	3b 51 10             	cmp    0x10(%ecx),%edx
4c3455:	77 09                	ja     0x4c3460
4c3457:	8b c2                	mov    %edx,%eax
4c3459:	5b                   	pop    %ebx
4c345a:	8b e5                	mov    %ebp,%esp
4c345c:	5d                   	pop    %ebp