50b2cf:	c3                   	ret
50b2d0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
50b2d4:	56                   	push   %esi
50b2d5:	83 ce ff             	or     $0xffffffff,%esi
50b2d8:	8a 01                	mov    (%ecx),%al
50b2da:	3c 01                	cmp    $0x1,%al
50b2dc:	74 08                	je     0x50b2e6
50b2de:	3c 06                	cmp    $0x6,%al
50b2e0:	0f 85 8d 00 00 00    	jne    0x50b373
50b2e6:	8b 49 10             	mov    0x10(%ecx),%ecx
50b2e9:	85 c9                	test   %ecx,%ecx
50b2eb:	0f 84 82 00 00 00    	je     0x50b373
50b2f1:	f6 41 04 01          	testb  $0x1,0x4(%ecx)
50b2f5:	74 7c                	je     0x50b373
50b2f7:	8b 44 24 08          	mov    0x8(%esp),%eax
50b2fb:	8b 51 08             	mov    0x8(%ecx),%edx
50b2fe:	57                   	push   %edi
50b2ff:	8b 79 0c             	mov    0xc(%ecx),%edi
50b302:	8b 00                	mov    (%eax),%eax
50b304:	03 d0                	add    %eax,%edx
50b306:	03 f8                	add    %eax,%edi
50b308:	8b 44 24 10          	mov    0x10(%esp),%eax
50b30c:	83 f8 ff             	cmp    $0xffffffff,%eax
50b30f:	74 45                	je     0x50b356
50b311:	85 c0                	test   %eax,%eax
50b313:	74 11                	je     0x50b326
50b315:	83 f8 01             	cmp    $0x1,%eax
50b318:	75 54                	jne    0x50b36e
50b31a:	8b f0                	mov    %eax,%esi
50b31c:	f0 0f c1 32          	lock xadd %esi,(%edx)
50b320:	46                   	inc    %esi
50b321:	5f                   	pop    %edi
50b322:	8b c6                	mov    %esi,%eax
50b324:	5e                   	pop    %esi
50b325:	c3                   	ret
50b326:	be 01 00 00 00       	mov    $0x1,%esi
50b32b:	89 32                	mov    %esi,(%edx)
50b32d:	e8 4e 6c fd ff       	call   0x4e1f80
50b332:	89 07                	mov    %eax,(%edi)
50b334:	85 c0                	test   %eax,%eax
50b336:	75 36                	jne    0x50b36e
50b338:	6a 4f                	push   $0x4f
50b33a:	68 80 ae 62 00       	push   $0x62ae80
50b33f:	6a 41                	push   $0x41
50b341:	68 e9 00 00 00       	push   $0xe9
50b346:	6a 0d                	push   $0xd
50b348:	e8 33 dc fc ff       	call   0x4d8f80
50b34d:	83 c4 14             	add    $0x14,%esp
50b350:	83 c8 ff             	or     $0xffffffff,%eax
50b353:	5f                   	pop    %edi
50b354:	5e                   	pop    %esi
50b355:	c3                   	ret
50b356:	83 ce ff             	or     $0xffffffff,%esi
50b359:	f0 0f c1 32          	lock xadd %esi,(%edx)
50b35d:	83 ee 01             	sub    $0x1,%esi
50b360:	75 0c                	jne    0x50b36e
50b362:	ff 37                	push   (%edi)
50b364:	e8 e7 6b fd ff       	call   0x4e1f50
50b369:	83 c4 04             	add    $0x4,%esp
50b36c:	89 37                	mov    %esi,(%edi)
50b36e:	5f                   	pop    %edi
50b36f:	8b c6                	mov    %esi,%eax
50b371:	5e                   	pop    %esi
50b372:	c3                   	ret
50b373:	33 c0                	xor    %eax,%eax
50b375:	5e                   	pop    %esi
50b376:	c3                   	ret
50b377:	cc                   	int3
50b378:	cc                   	int3
50b379:	cc                   	int3
50b37a:	cc                   	int3
50b37b:	cc                   	int3
50b37c:	cc                   	int3
50b37d:	cc                   	int3
50b37e:	cc                   	int3
50b37f:	cc                   	int3
50b380:	8b 44 24 04          	mov    0x4(%esp),%eax
50b384:	85 c0                	test   %eax,%eax
50b386:	74 48                	je     0x50b3d0
50b388:	8b 08                	mov    (%eax),%ecx
50b38a:	85 c9                	test   %ecx,%ecx
50b38c:	74 42                	je     0x50b3d0
50b38e:	8b 44 24 08          	mov    0x8(%esp),%eax
50b392:	56                   	push   %esi
50b393:	8b 70 10             	mov    0x10(%eax),%esi
50b396:	85 f6                	test   %esi,%esi
50b398:	74 35                	je     0x50b3cf
50b39a:	f6 46 04 02          	testb  $0x2,0x4(%esi)
50b39e:	74 2f                	je     0x50b3cf
50b3a0:	8b 76 14             	mov    0x14(%esi),%esi
50b3a3:	03 f1                	add    %ecx,%esi
50b3a5:	74 28                	je     0x50b3cf
50b3a7:	68 83 00 00 00       	push   $0x83
50b3ac:	68 80 ae 62 00       	push   $0x62ae80
50b3b1:	ff 36                	push   (%esi)
50b3b3:	e8 c8 53 fd ff       	call   0x4e0780
50b3b8:	83 c4 0c             	add    $0xc,%esp
50b3bb:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
50b3c1:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
50b3c8:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
50b3cf:	5e                   	pop    %esi
50b3d0:	c3                   	ret
50b3d1:	cc                   	int3
50b3d2:	cc                   	int3
50b3d3:	cc                   	int3
50b3d4:	cc                   	int3
50b3d5:	cc                   	int3
50b3d6:	cc                   	int3
50b3d7:	cc                   	int3
50b3d8:	cc                   	int3
50b3d9:	cc                   	int3
50b3da:	cc                   	int3
50b3db:	cc                   	int3
50b3dc:	cc                   	int3
50b3dd:	cc                   	int3
50b3de:	cc                   	int3
50b3df:	cc                   	int3
50b3e0:	8b 44 24 04          	mov    0x4(%esp),%eax
50b3e4:	85 c0                	test   %eax,%eax
50b3e6:	74 32                	je     0x50b41a
50b3e8:	8b 08                	mov    (%eax),%ecx
50b3ea:	85 c9                	test   %ecx,%ecx
50b3ec:	74 2c                	je     0x50b41a
50b3ee:	8b 44 24 08          	mov    0x8(%esp),%eax
50b3f2:	8b 40 10             	mov    0x10(%eax),%eax
50b3f5:	85 c0                	test   %eax,%eax
50b3f7:	74 21                	je     0x50b41a
50b3f9:	f6 40 04 02          	testb  $0x2,0x4(%eax)
50b3fd:	74 1b                	je     0x50b41a
50b3ff:	8b 40 14             	mov    0x14(%eax),%eax
50b402:	03 c1                	add    %ecx,%eax
50b404:	74 14                	je     0x50b41a
50b406:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
50b40c:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
50b413:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
50b41a:	c3                   	ret
50b41b:	cc                   	int3
50b41c:	cc                   	int3
50b41d:	cc                   	int3
50b41e:	cc                   	int3
50b41f:	cc                   	int3
50b420:	8b 44 24 0c          	mov    0xc(%esp),%eax
50b424:	56                   	push   %esi
50b425:	85 c0                	test   %eax,%eax
50b427:	74 56                	je     0x50b47f
50b429:	8b 08                	mov    (%eax),%ecx
50b42b:	85 c9                	test   %ecx,%ecx
50b42d:	74 50                	je     0x50b47f
50b42f:	8b 44 24 14          	mov    0x14(%esp),%eax
50b433:	8b 70 10             	mov    0x10(%eax),%esi
50b436:	85 f6                	test   %esi,%esi
50b438:	74 45                	je     0x50b47f
50b43a:	f6 46 04 02          	testb  $0x2,0x4(%esi)
50b43e:	74 3f                	je     0x50b47f
50b440:	8b 76 14             	mov    0x14(%esi),%esi
50b443:	03 f1                	add    %ecx,%esi
50b445:	74 38                	je     0x50b47f
50b447:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
50b44b:	75 32                	jne    0x50b47f
50b44d:	57                   	push   %edi
50b44e:	8b 7c 24 10          	mov    0x10(%esp),%edi
50b452:	85 ff                	test   %edi,%edi
50b454:	74 14                	je     0x50b46a
50b456:	ff 76 04             	push   0x4(%esi)
50b459:	ff 36                	push   (%esi)
50b45b:	ff 37                	push   (%edi)
50b45d:	e8 6e 79 0c 00       	call   0x5d2dd0
50b462:	8b 46 04             	mov    0x4(%esi),%eax
50b465:	83 c4 0c             	add    $0xc,%esp
50b468:	01 07                	add    %eax,(%edi)
50b46a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
50b46e:	5f                   	pop    %edi
50b46f:	85 c9                	test   %ecx,%ecx
50b471:	74 05                	je     0x50b478
50b473:	8b 46 04             	mov    0x4(%esi),%eax
50b476:	89 01                	mov    %eax,(%ecx)
50b478:	b8 01 00 00 00       	mov    $0x1,%eax
50b47d:	5e                   	pop    %esi
50b47e:	c3                   	ret
50b47f:	33 c0                	xor    %eax,%eax
50b481:	5e                   	pop    %esi
50b482:	c3                   	ret
50b483:	cc                   	int3
50b484:	cc                   	int3
50b485:	cc                   	int3
50b486:	cc                   	int3
50b487:	cc                   	int3
50b488:	cc                   	int3
50b489:	cc                   	int3
50b48a:	cc                   	int3
50b48b:	cc                   	int3
50b48c:	cc                   	int3
50b48d:	cc                   	int3
50b48e:	cc                   	int3
50b48f:	cc                   	int3
50b490:	8b 44 24 04          	mov    0x4(%esp),%eax
50b494:	56                   	push   %esi
50b495:	85 c0                	test   %eax,%eax
50b497:	0f 84 8e 00 00 00    	je     0x50b52b
50b49d:	8b 08                	mov    (%eax),%ecx
50b49f:	85 c9                	test   %ecx,%ecx
50b4a1:	0f 84 84 00 00 00    	je     0x50b52b
50b4a7:	8b 44 24 14          	mov    0x14(%esp),%eax
50b4ab:	8b 70 10             	mov    0x10(%eax),%esi
50b4ae:	85 f6                	test   %esi,%esi
50b4b0:	74 79                	je     0x50b52b
50b4b2:	f6 46 04 02          	testb  $0x2,0x4(%esi)
50b4b6:	74 73                	je     0x50b52b
50b4b8:	8b 76 14             	mov    0x14(%esi),%esi
50b4bb:	03 f1                	add    %ecx,%esi
50b4bd:	74 6c                	je     0x50b52b
50b4bf:	57                   	push   %edi
50b4c0:	68 92 00 00 00       	push   $0x92
50b4c5:	68 80 ae 62 00       	push   $0x62ae80
50b4ca:	ff 36                	push   (%esi)
50b4cc:	e8 af 52 fd ff       	call   0x4e0780
50b4d1:	8b 7c 24 20          	mov    0x20(%esp),%edi
50b4d5:	68 93 00 00 00       	push   $0x93
50b4da:	68 80 ae 62 00       	push   $0x62ae80
50b4df:	57                   	push   %edi
50b4e0:	e8 6b 52 fd ff       	call   0x4e0750
50b4e5:	83 c4 18             	add    $0x18,%esp
50b4e8:	89 06                	mov    %eax,(%esi)
50b4ea:	85 c0                	test   %eax,%eax
50b4ec:	75 1d                	jne    0x50b50b
50b4ee:	68 94 00 00 00       	push   $0x94
50b4f3:	68 80 ae 62 00       	push   $0x62ae80
50b4f8:	6a 41                	push   $0x41
50b4fa:	6a 73                	push   $0x73
50b4fc:	6a 0d                	push   $0xd
50b4fe:	e8 7d da fc ff       	call   0x4d8f80
50b503:	83 c4 14             	add    $0x14,%esp
50b506:	33 c0                	xor    %eax,%eax
50b508:	5f                   	pop    %edi
50b509:	5e                   	pop    %esi
50b50a:	c3                   	ret
50b50b:	57                   	push   %edi
50b50c:	ff 74 24 14          	push   0x14(%esp)
50b510:	50                   	push   %eax
50b511:	e8 ba 78 0c 00       	call   0x5d2dd0
50b516:	83 c4 0c             	add    $0xc,%esp
50b519:	89 7e 04             	mov    %edi,0x4(%esi)
50b51c:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
50b523:	b8 01 00 00 00       	mov    $0x1,%eax
50b528:	5f                   	pop    %edi
50b529:	5e                   	pop    %esi
50b52a:	c3                   	ret
50b52b:	b8 01 00 00 00       	mov    $0x1,%eax
50b530:	5e                   	pop    %esi
50b531:	c3                   	ret
50b532:	cc                   	int3
50b533:	cc                   	int3
50b534:	cc                   	int3
50b535:	cc                   	int3
50b536:	cc                   	int3
50b537:	cc                   	int3
50b538:	cc                   	int3
50b539:	cc                   	int3
50b53a:	cc                   	int3
50b53b:	cc                   	int3
50b53c:	cc                   	int3
50b53d:	cc                   	int3
50b53e:	cc                   	int3
50b53f:	cc                   	int3
50b540:	8b 44 24 08          	mov    0x8(%esp),%eax
50b544:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50b548:	8b 50 04             	mov    0x4(%eax),%edx
50b54b:	8b 01                	mov    (%ecx),%eax
50b54d:	8b 04 02             	mov    (%edx,%eax,1),%eax
50b550:	c3                   	ret
50b551:	cc                   	int3
50b552:	cc                   	int3
50b553:	cc                   	int3
50b554:	cc                   	int3
50b555:	cc                   	int3
50b556:	cc                   	int3
50b557:	cc                   	int3
50b558:	cc                   	int3
50b559:	cc                   	int3
50b55a:	cc                   	int3
50b55b:	cc                   	int3
50b55c:	cc                   	int3
50b55d:	cc                   	int3
50b55e:	cc                   	int3
50b55f:	cc                   	int3
50b560:	8b 44 24 08          	mov    0x8(%esp),%eax
50b564:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50b568:	8b 40 08             	mov    0x8(%eax),%eax
50b56b:	03 01                	add    (%ecx),%eax
50b56d:	c3                   	ret
50b56e:	cc                   	int3
50b56f:	cc                   	int3
50b570:	8b 44 24 0c          	mov    0xc(%esp),%eax
50b574:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50b578:	8b 50 04             	mov    0x4(%eax),%edx
50b57b:	8b 44 24 04          	mov    0x4(%esp),%eax
50b57f:	03 10                	add    (%eax),%edx
50b581:	8b 02                	mov    (%edx),%eax
50b583:	89 0a                	mov    %ecx,(%edx)
50b585:	c3                   	ret
50b586:	cc                   	int3
50b587:	cc                   	int3
50b588:	cc                   	int3
50b589:	cc                   	int3
50b58a:	cc                   	int3
50b58b:	cc                   	int3
50b58c:	cc                   	int3
50b58d:	cc                   	int3
50b58e:	cc                   	int3
50b58f:	cc                   	int3
50b590:	56                   	push   %esi
50b591:	8b 74 24 08          	mov    0x8(%esp),%esi
50b595:	85 f6                	test   %esi,%esi
50b597:	74 41                	je     0x50b5da
50b599:	8b 46 04             	mov    0x4(%esi),%eax
50b59c:	85 c0                	test   %eax,%eax
50b59e:	74 2a                	je     0x50b5ca
50b5a0:	f6 46 0c 01          	testb  $0x1,0xc(%esi)
50b5a4:	8b 4e 08             	mov    0x8(%esi),%ecx
50b5a7:	74 10                	je     0x50b5b9
50b5a9:	6a 31                	push   $0x31
50b5ab:	68 98 ae 62 00       	push   $0x62ae98
50b5b0:	51                   	push   %ecx
50b5b1:	50                   	push   %eax
50b5b2:	e8 39 8b fd ff       	call   0x4e40f0
50b5b7:	eb 0e                	jmp    0x50b5c7
50b5b9:	6a 33                	push   $0x33
50b5bb:	68 98 ae 62 00       	push   $0x62ae98
50b5c0:	51                   	push   %ecx
50b5c1:	50                   	push   %eax
50b5c2:	e8 79 52 fd ff       	call   0x4e0840
50b5c7:	83 c4 10             	add    $0x10,%esp
50b5ca:	6a 35                	push   $0x35
50b5cc:	68 98 ae 62 00       	push   $0x62ae98
50b5d1:	56                   	push   %esi
50b5d2:	e8 a9 51 fd ff       	call   0x4e0780
50b5d7:	83 c4 0c             	add    $0xc,%esp
50b5da:	5e                   	pop    %esi
50b5db:	c3                   	ret
50b5dc:	cc                   	int3
50b5dd:	cc                   	int3
50b5de:	cc                   	int3
50b5df:	cc                   	int3
50b5e0:	56                   	push   %esi
50b5e1:	8b 74 24 0c          	mov    0xc(%esp),%esi
50b5e5:	57                   	push   %edi
50b5e6:	8b 7c 24 0c          	mov    0xc(%esp),%edi
50b5ea:	8b 0f                	mov    (%edi),%ecx
50b5ec:	3b ce                	cmp    %esi,%ecx
50b5ee:	73 1f                	jae    0x50b60f