50f2dd:	cc                   	int3
50f2de:	cc                   	int3
50f2df:	cc                   	int3
50f2e0:	8b 44 24 04          	mov    0x4(%esp),%eax
50f2e4:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50f2e8:	89 08                	mov    %ecx,(%eax)
50f2ea:	c2 08 00             	ret    $0x8
50f2ed:	cc                   	int3
50f2ee:	cc                   	int3
50f2ef:	cc                   	int3
50f2f0:	8b 44 24 04          	mov    0x4(%esp),%eax
50f2f4:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50f2f8:	89 08                	mov    %ecx,(%eax)
50f2fa:	c2 08 00             	ret    $0x8
50f2fd:	cc                   	int3
50f2fe:	cc                   	int3
50f2ff:	cc                   	int3
50f300:	8b c1                	mov    %ecx,%eax
50f302:	c3                   	ret
50f303:	cc                   	int3
50f304:	cc                   	int3
50f305:	cc                   	int3
50f306:	cc                   	int3
50f307:	cc                   	int3
50f308:	cc                   	int3
50f309:	cc                   	int3
50f30a:	cc                   	int3
50f30b:	cc                   	int3
50f30c:	cc                   	int3
50f30d:	cc                   	int3
50f30e:	cc                   	int3
50f30f:	cc                   	int3
50f310:	8b 01                	mov    (%ecx),%eax
50f312:	c3                   	ret
50f313:	cc                   	int3
50f314:	cc                   	int3
50f315:	cc                   	int3
50f316:	cc                   	int3
50f317:	cc                   	int3
50f318:	cc                   	int3
50f319:	cc                   	int3
50f31a:	cc                   	int3
50f31b:	cc                   	int3
50f31c:	cc                   	int3
50f31d:	cc                   	int3
50f31e:	cc                   	int3
50f31f:	cc                   	int3
50f320:	8d 41 04             	lea    0x4(%ecx),%eax
50f323:	c3                   	ret
50f324:	cc                   	int3
50f325:	cc                   	int3
50f326:	cc                   	int3
50f327:	cc                   	int3
50f328:	cc                   	int3
50f329:	cc                   	int3
50f32a:	cc                   	int3
50f32b:	cc                   	int3
50f32c:	cc                   	int3
50f32d:	cc                   	int3
50f32e:	cc                   	int3
50f32f:	cc                   	int3
50f330:	83 ec 08             	sub    $0x8,%esp
50f333:	53                   	push   %ebx
50f334:	8b d9                	mov    %ecx,%ebx
50f336:	8b 43 04             	mov    0x4(%ebx),%eax
50f339:	39 00                	cmp    %eax,(%eax)
50f33b:	74 21                	je     0x50f35e
50f33d:	56                   	push   %esi
50f33e:	57                   	push   %edi
50f33f:	8b 78 04             	mov    0x4(%eax),%edi
50f342:	8b 73 04             	mov    0x4(%ebx),%esi
50f345:	8b cb                	mov    %ebx,%ecx
50f347:	8b 36                	mov    (%esi),%esi
50f349:	56                   	push   %esi
50f34a:	8d 46 08             	lea    0x8(%esi),%eax
50f34d:	50                   	push   %eax
50f34e:	8d 44 24 14          	lea    0x14(%esp),%eax
50f352:	50                   	push   %eax
50f353:	e8 d4 36 ef ff       	call   0x402a2c
50f358:	3b f7                	cmp    %edi,%esi
50f35a:	75 e6                	jne    0x50f342
50f35c:	5f                   	pop    %edi
50f35d:	5e                   	pop    %esi
50f35e:	5b                   	pop    %ebx
50f35f:	83 c4 08             	add    $0x8,%esp
50f362:	c3                   	ret
50f363:	cc                   	int3
50f364:	cc                   	int3
50f365:	cc                   	int3
50f366:	cc                   	int3
50f367:	cc                   	int3
50f368:	cc                   	int3
50f369:	cc                   	int3
50f36a:	cc                   	int3
50f36b:	cc                   	int3
50f36c:	cc                   	int3
50f36d:	cc                   	int3
50f36e:	cc                   	int3
50f36f:	cc                   	int3
50f370:	8b 44 24 04          	mov    0x4(%esp),%eax
50f374:	8b 09                	mov    (%ecx),%ecx
50f376:	89 08                	mov    %ecx,(%eax)
50f378:	c2 04 00             	ret    $0x4
50f37b:	cc                   	int3
50f37c:	cc                   	int3
50f37d:	cc                   	int3
50f37e:	cc                   	int3
50f37f:	cc                   	int3
50f380:	8b 01                	mov    (%ecx),%eax
50f382:	c3                   	ret
50f383:	cc                   	int3
50f384:	cc                   	int3
50f385:	cc                   	int3
50f386:	cc                   	int3
50f387:	cc                   	int3
50f388:	cc                   	int3
50f389:	cc                   	int3
50f38a:	cc                   	int3
50f38b:	cc                   	int3
50f38c:	cc                   	int3
50f38d:	cc                   	int3
50f38e:	cc                   	int3
50f38f:	cc                   	int3
50f390:	8b 41 04             	mov    0x4(%ecx),%eax
50f393:	8b 08                	mov    (%eax),%ecx
50f395:	8b 44 24 04          	mov    0x4(%esp),%eax
50f399:	89 08                	mov    %ecx,(%eax)
50f39b:	c2 04 00             	ret    $0x4
50f39e:	cc                   	int3
50f39f:	cc                   	int3
50f3a0:	cc                   	int3
50f3a1:	cc                   	int3
50f3a2:	cc                   	int3
50f3a3:	cc                   	int3
50f3a4:	cc                   	int3
50f3a5:	cc                   	int3
50f3a6:	cc                   	int3
50f3a7:	cc                   	int3
50f3a8:	cc                   	int3
50f3a9:	cc                   	int3
50f3aa:	cc                   	int3
50f3ab:	cc                   	int3
50f3ac:	cc                   	int3
50f3ad:	cc                   	int3
50f3ae:	cc                   	int3
50f3af:	cc                   	int3
50f3b0:	8b 01                	mov    (%ecx),%eax
50f3b2:	8b 08                	mov    (%eax),%ecx
50f3b4:	8b 44 24 04          	mov    0x4(%esp),%eax
50f3b8:	89 08                	mov    %ecx,(%eax)
50f3ba:	c2 04 00             	ret    $0x4
50f3bd:	cc                   	int3
50f3be:	cc                   	int3
50f3bf:	cc                   	int3
50f3c0:	8b 44 24 08          	mov    0x8(%esp),%eax
50f3c4:	8b 48 04             	mov    0x4(%eax),%ecx
50f3c7:	8b 44 24 0c          	mov    0xc(%esp),%eax
50f3cb:	89 01                	mov    %eax,(%ecx)
50f3cd:	8b 44 24 0c          	mov    0xc(%esp),%eax
50f3d1:	8b 48 04             	mov    0x4(%eax),%ecx
50f3d4:	8b 44 24 04          	mov    0x4(%esp),%eax
50f3d8:	89 01                	mov    %eax,(%ecx)
50f3da:	8b 44 24 04          	mov    0x4(%esp),%eax
50f3de:	8b 48 04             	mov    0x4(%eax),%ecx
50f3e1:	8b 44 24 08          	mov    0x8(%esp),%eax
50f3e5:	89 01                	mov    %eax,(%ecx)
50f3e7:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50f3eb:	8b 44 24 0c          	mov    0xc(%esp),%eax
50f3ef:	8b 51 04             	mov    0x4(%ecx),%edx
50f3f2:	8b 40 04             	mov    0x4(%eax),%eax
50f3f5:	89 41 04             	mov    %eax,0x4(%ecx)
50f3f8:	8b 44 24 08          	mov    0x8(%esp),%eax
50f3fc:	8b 48 04             	mov    0x4(%eax),%ecx
50f3ff:	8b 44 24 0c          	mov    0xc(%esp),%eax
50f403:	89 48 04             	mov    %ecx,0x4(%eax)
50f406:	8b 44 24 08          	mov    0x8(%esp),%eax
50f40a:	89 50 04             	mov    %edx,0x4(%eax)
50f40d:	c2 0c 00             	ret    $0xc
50f410:	cc                   	int3
50f411:	cc                   	int3
50f412:	cc                   	int3
50f413:	cc                   	int3
50f414:	cc                   	int3
50f415:	cc                   	int3
50f416:	cc                   	int3
50f417:	cc                   	int3
50f418:	cc                   	int3
50f419:	cc                   	int3
50f41a:	cc                   	int3
50f41b:	cc                   	int3
50f41c:	cc                   	int3
50f41d:	cc                   	int3
50f41e:	cc                   	int3
50f41f:	cc                   	int3
50f420:	cc                   	int3
50f421:	cc                   	int3
50f422:	cc                   	int3
50f423:	cc                   	int3
50f424:	cc                   	int3
50f425:	cc                   	int3
50f426:	cc                   	int3
50f427:	cc                   	int3
50f428:	cc                   	int3
50f429:	cc                   	int3
50f42a:	cc                   	int3
50f42b:	cc                   	int3
50f42c:	cc                   	int3
50f42d:	cc                   	int3
50f42e:	cc                   	int3
50f42f:	cc                   	int3
50f430:	8b 44 24 04          	mov    0x4(%esp),%eax
50f434:	56                   	push   %esi
50f435:	8b 70 04             	mov    0x4(%eax),%esi
50f438:	8b 10                	mov    (%eax),%edx
50f43a:	89 16                	mov    %edx,(%esi)
50f43c:	8b 30                	mov    (%eax),%esi
50f43e:	8b 50 04             	mov    0x4(%eax),%edx
50f441:	89 56 04             	mov    %edx,0x4(%esi)
50f444:	ff 49 04             	decl   0x4(%ecx)
50f447:	5e                   	pop    %esi
50f448:	c2 04 00             	ret    $0x4
50f44b:	cc                   	int3
50f44c:	cc                   	int3
50f44d:	cc                   	int3
50f44e:	cc                   	int3
50f44f:	cc                   	int3
50f450:	cc                   	int3
50f451:	cc                   	int3
50f452:	cc                   	int3
50f453:	cc                   	int3
50f454:	cc                   	int3
50f455:	cc                   	int3
50f456:	cc                   	int3
50f457:	cc                   	int3
50f458:	cc                   	int3
50f459:	cc                   	int3
50f45a:	cc                   	int3
50f45b:	cc                   	int3
50f45c:	cc                   	int3
50f45d:	cc                   	int3
50f45e:	cc                   	int3
50f45f:	cc                   	int3
50f460:	8b 44 24 04          	mov    0x4(%esp),%eax
50f464:	8b 49 0c             	mov    0xc(%ecx),%ecx
50f467:	8d 04 c5 04 00 00 00 	lea    0x4(,%eax,8),%eax
50f46e:	03 c1                	add    %ecx,%eax
50f470:	c2 04 00             	ret    $0x4
50f473:	cc                   	int3
50f474:	cc                   	int3
50f475:	cc                   	int3
50f476:	cc                   	int3
50f477:	cc                   	int3
50f478:	cc                   	int3
50f479:	cc                   	int3
50f47a:	cc                   	int3
50f47b:	cc                   	int3
50f47c:	cc                   	int3
50f47d:	cc                   	int3
50f47e:	cc                   	int3
50f47f:	cc                   	int3
50f480:	8b 49 0c             	mov    0xc(%ecx),%ecx
50f483:	8b 44 24 04          	mov    0x4(%esp),%eax
50f487:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
50f48a:	c2 04 00             	ret    $0x4
50f48d:	cc                   	int3
50f48e:	cc                   	int3
50f48f:	cc                   	int3
50f490:	8b 01                	mov    (%ecx),%eax
50f492:	8b 08                	mov    (%eax),%ecx
50f494:	8b 44 24 04          	mov    0x4(%esp),%eax
50f498:	89 08                	mov    %ecx,(%eax)
50f49a:	c2 04 00             	ret    $0x4
50f49d:	cc                   	int3
50f49e:	cc                   	int3
50f49f:	cc                   	int3
50f4a0:	8b 44 24 04          	mov    0x4(%esp),%eax
50f4a4:	8b 09                	mov    (%ecx),%ecx
50f4a6:	89 08                	mov    %ecx,(%eax)
50f4a8:	c2 04 00             	ret    $0x4
50f4ab:	cc                   	int3
50f4ac:	cc                   	int3
50f4ad:	cc                   	int3
50f4ae:	cc                   	int3
50f4af:	cc                   	int3
50f4b0:	8b 41 1c             	mov    0x1c(%ecx),%eax
50f4b3:	c3                   	ret
50f4b4:	cc                   	int3
50f4b5:	cc                   	int3
50f4b6:	cc                   	int3
50f4b7:	cc                   	int3
50f4b8:	cc                   	int3
50f4b9:	cc                   	int3
50f4ba:	cc                   	int3
50f4bb:	cc                   	int3
50f4bc:	cc                   	int3
50f4bd:	cc                   	int3
50f4be:	cc                   	int3
50f4bf:	cc                   	int3
50f4c0:	8b 44 24 04          	mov    0x4(%esp),%eax
50f4c4:	8b 49 04             	mov    0x4(%ecx),%ecx
50f4c7:	89 08                	mov    %ecx,(%eax)
50f4c9:	c2 04 00             	ret    $0x4
50f4cc:	cc                   	int3
50f4cd:	cc                   	int3
50f4ce:	cc                   	int3
50f4cf:	cc                   	int3
50f4d0:	8b 44 24 04          	mov    0x4(%esp),%eax
50f4d4:	8b 09                	mov    (%ecx),%ecx
50f4d6:	89 08                	mov    %ecx,(%eax)
50f4d8:	c2 04 00             	ret    $0x4
50f4db:	cc                   	int3
50f4dc:	cc                   	int3
50f4dd:	cc                   	int3
50f4de:	cc                   	int3
50f4df:	cc                   	int3
50f4e0:	8b 44 24 04          	mov    0x4(%esp),%eax
50f4e4:	8b 49 04             	mov    0x4(%ecx),%ecx
50f4e7:	89 08                	mov    %ecx,(%eax)
50f4e9:	c2 04 00             	ret    $0x4
50f4ec:	cc                   	int3
50f4ed:	cc                   	int3
50f4ee:	cc                   	int3
50f4ef:	cc                   	int3
50f4f0:	8b 44 24 08          	mov    0x8(%esp),%eax
50f4f4:	83 78 1c 10          	cmpl   $0x10,0x1c(%eax)
50f4f8:	53                   	push   %ebx
50f4f9:	8b 58 18             	mov    0x18(%eax),%ebx
50f4fc:	55                   	push   %ebp
50f4fd:	56                   	push   %esi
50f4fe:	8d 70 08             	lea    0x8(%eax),%esi
50f501:	8b e9                	mov    %ecx,%ebp
50f503:	57                   	push   %edi
50f504:	72 02                	jb     0x50f508
50f506:	8b 36                	mov    (%esi),%esi
50f508:	33 d2                	xor    %edx,%edx
50f50a:	bf c5 9d 1c 81       	mov    $0x811c9dc5,%edi
50f50f:	85 db                	test   %ebx,%ebx
50f511:	74 11                	je     0x50f524
50f513:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
50f517:	42                   	inc    %edx
50f518:	33 cf                	xor    %edi,%ecx
50f51a:	69 f9 93 01 00 01    	imul   $0x1000193,%ecx,%edi
50f520:	3b d3                	cmp    %ebx,%edx
50f522:	72 ef                	jb     0x50f513
50f524:	8b 4d 18             	mov    0x18(%ebp),%ecx
50f527:	23 cf                	and    %edi,%ecx
50f529:	8d 14 cd 00 00 00 00 	lea    0x0(,%ecx,8),%edx
50f530:	8b 4d 0c             	mov    0xc(%ebp),%ecx
50f533:	03 ca                	add    %edx,%ecx
50f535:	39 41 04             	cmp    %eax,0x4(%ecx)