50b26f:	53                   	push   %ebx
50b270:	e8 8b b2 ff ff       	call   0x506500
50b275:	83 c4 14             	add    $0x14,%esp
50b278:	eb 32                	jmp    0x50b2ac
50b27a:	8b 55 98             	mov    -0x68(%ebp),%edx
50b27d:	8d 41 01             	lea    0x1(%ecx),%eax
50b280:	89 43 6c             	mov    %eax,0x6c(%ebx)
50b283:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50b286:	8b 43 68             	mov    0x68(%ebx),%eax
50b289:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
50b290:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
50b297:	00
50b298:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
50b29c:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50b2a3:	00
50b2a4:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50b2ab:	00
50b2ac:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
50b2b2:	8b 53 6c             	mov    0x6c(%ebx),%edx
50b2b5:	85 c9                	test   %ecx,%ecx
50b2b7:	79 03                	jns    0x50b2bc
50b2b9:	8d 4a ff             	lea    -0x1(%edx),%ecx
50b2bc:	8b 03                	mov    (%ebx),%eax
50b2be:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
50b2c2:	74 07                	je     0x50b2cb
50b2c4:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
50b2c9:	eb 09                	jmp    0x50b2d4
50b2cb:	8b 43 68             	mov    0x68(%ebx),%eax
50b2ce:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50b2d1:	8d 04 88             	lea    (%eax,%ecx,4),%eax
50b2d4:	89 50 08             	mov    %edx,0x8(%eax)
50b2d7:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
50b2da:	39 4b 70             	cmp    %ecx,0x70(%ebx)
50b2dd:	7f 16                	jg     0x50b2f5
50b2df:	8b 55 b0             	mov    -0x50(%ebp),%edx
50b2e2:	6a 00                	push   $0x0
50b2e4:	52                   	push   %edx
50b2e5:	ff 75 b8             	push   -0x48(%ebp)
50b2e8:	6a 0e                	push   $0xe
50b2ea:	53                   	push   %ebx
50b2eb:	e8 10 b2 ff ff       	call   0x506500
50b2f0:	83 c4 14             	add    $0x14,%esp
50b2f3:	eb 31                	jmp    0x50b326
50b2f5:	8b 55 b8             	mov    -0x48(%ebp),%edx
50b2f8:	8d 41 01             	lea    0x1(%ecx),%eax
50b2fb:	89 43 6c             	mov    %eax,0x6c(%ebx)
50b2fe:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50b301:	8b 43 68             	mov    0x68(%ebx),%eax
50b304:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
50b308:	8b 55 b0             	mov    -0x50(%ebp),%edx
50b30b:	c7 04 88 0e 00 00 00 	movl   $0xe,(%eax,%ecx,4)
50b312:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
50b316:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50b31d:	00
50b31e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50b325:	00
50b326:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
50b329:	39 4b 70             	cmp    %ecx,0x70(%ebx)
50b32c:	7f 11                	jg     0x50b33f
50b32e:	6a 00                	push   $0x0
50b330:	57                   	push   %edi
50b331:	56                   	push   %esi
50b332:	6a 0e                	push   $0xe
50b334:	53                   	push   %ebx
50b335:	e8 c6 b1 ff ff       	call   0x506500
50b33a:	83 c4 14             	add    $0x14,%esp
50b33d:	eb 2b                	jmp    0x50b36a
50b33f:	8d 41 01             	lea    0x1(%ecx),%eax
50b342:	89 43 6c             	mov    %eax,0x6c(%ebx)
50b345:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50b348:	8b 43 68             	mov    0x68(%ebx),%eax
50b34b:	c7 04 88 0e 00 00 00 	movl   $0xe,(%eax,%ecx,4)
50b352:	89 74 88 04          	mov    %esi,0x4(%eax,%ecx,4)
50b356:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
50b35a:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50b361:	00
50b362:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50b369:	00
50b36a:	8b 4b 0c             	mov    0xc(%ebx),%ecx
50b36d:	8b 55 98             	mov    -0x68(%ebp),%edx
50b370:	f7 d2                	not    %edx
50b372:	8b 41 3c             	mov    0x3c(%ecx),%eax
50b375:	03 41 38             	add    0x38(%ecx),%eax
50b378:	79 0d                	jns    0x50b387
50b37a:	52                   	push   %edx
50b37b:	53                   	push   %ebx
50b37c:	51                   	push   %ecx
50b37d:	e8 1e 84 00 00       	call   0x5137a0
50b382:	83 c4 0c             	add    $0xc,%esp
50b385:	eb 09                	jmp    0x50b390
50b387:	8b 49 40             	mov    0x40(%ecx),%ecx
50b38a:	8b 43 6c             	mov    0x6c(%ebx),%eax
50b38d:	89 04 91             	mov    %eax,(%ecx,%edx,4)
50b390:	8b 53 6c             	mov    0x6c(%ebx),%edx
50b393:	39 53 70             	cmp    %edx,0x70(%ebx)
50b396:	7f 15                	jg     0x50b3ad
50b398:	6a 00                	push   $0x0
50b39a:	6a 00                	push   $0x0
50b39c:	6a 00                	push   $0x0
50b39e:	6a 55                	push   $0x55
50b3a0:	53                   	push   %ebx
50b3a1:	e8 5a b1 ff ff       	call   0x506500
50b3a6:	83 c4 14             	add    $0x14,%esp
50b3a9:	8b d0                	mov    %eax,%edx
50b3ab:	eb 33                	jmp    0x50b3e0
50b3ad:	8d 42 01             	lea    0x1(%edx),%eax
50b3b0:	89 43 6c             	mov    %eax,0x6c(%ebx)
50b3b3:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
50b3b6:	8b 43 68             	mov    0x68(%ebx),%eax
50b3b9:	c7 04 88 55 00 00 00 	movl   $0x55,(%eax,%ecx,4)
50b3c0:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
50b3c7:	00
50b3c8:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
50b3cf:	00
50b3d0:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50b3d7:	00
50b3d8:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50b3df:	00
50b3e0:	8b 03                	mov    (%ebx),%eax
50b3e2:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
50b3e6:	74 10                	je     0x50b3f8
50b3e8:	ff 75 80             	push   -0x80(%ebp)
50b3eb:	6a f1                	push   $0xfffffff1
50b3ed:	50                   	push   %eax
50b3ee:	e8 bd 88 ff ff       	call   0x503cb0
50b3f3:	83 c4 0c             	add    $0xc,%esp
50b3f6:	eb 37                	jmp    0x50b42f
50b3f8:	85 d2                	test   %edx,%edx
50b3fa:	79 04                	jns    0x50b400
50b3fc:	8b 53 6c             	mov    0x6c(%ebx),%edx
50b3ff:	4a                   	dec    %edx
50b400:	8b 43 68             	mov    0x68(%ebx),%eax
50b403:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
50b406:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
50b40b:	8d 04 88             	lea    (%eax,%ecx,4),%eax
50b40e:	74 11                	je     0x50b421
50b410:	6a f1                	push   $0xfffffff1
50b412:	ff 75 80             	push   -0x80(%ebp)
50b415:	50                   	push   %eax
50b416:	53                   	push   %ebx
50b417:	e8 24 e8 04 00       	call   0x559c40
50b41c:	83 c4 10             	add    $0x10,%esp
50b41f:	eb 0e                	jmp    0x50b42f
50b421:	8b 4d 80             	mov    -0x80(%ebp),%ecx
50b424:	85 c9                	test   %ecx,%ecx
50b426:	74 07                	je     0x50b42f
50b428:	89 48 10             	mov    %ecx,0x10(%eax)
50b42b:	c6 40 01 f1          	movb   $0xf1,0x1(%eax)
50b42f:	8b 53 6c             	mov    0x6c(%ebx),%edx
50b432:	8b 75 ec             	mov    -0x14(%ebp),%esi
50b435:	8b 7d d4             	mov    -0x2c(%ebp),%edi
50b438:	39 53 70             	cmp    %edx,0x70(%ebx)
50b43b:	7f 14                	jg     0x50b451
50b43d:	ff 75 a8             	push   -0x58(%ebp)
50b440:	56                   	push   %esi
50b441:	57                   	push   %edi
50b442:	6a 56                	push   $0x56
50b444:	53                   	push   %ebx
50b445:	e8 b6 b0 ff ff       	call   0x506500
50b44a:	83 c4 14             	add    $0x14,%esp
50b44d:	8b d0                	mov    %eax,%edx
50b44f:	eb 2d                	jmp    0x50b47e
50b451:	8d 42 01             	lea    0x1(%edx),%eax
50b454:	89 43 6c             	mov    %eax,0x6c(%ebx)
50b457:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
50b45a:	8b 43 68             	mov    0x68(%ebx),%eax
50b45d:	8b 5d a0             	mov    -0x60(%ebp),%ebx
50b460:	89 74 88 08          	mov    %esi,0x8(%eax,%ecx,4)
50b464:	8b 75 a8             	mov    -0x58(%ebp),%esi
50b467:	c7 04 88 56 00 00 00 	movl   $0x56,(%eax,%ecx,4)
50b46e:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
50b472:	89 74 88 0c          	mov    %esi,0xc(%eax,%ecx,4)
50b476:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50b47d:	00
50b47e:	8b 03                	mov    (%ebx),%eax
50b480:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
50b484:	74 11                	je     0x50b497
50b486:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
50b489:	51                   	push   %ecx
50b48a:	6a f7                	push   $0xfffffff7
50b48c:	50                   	push   %eax
50b48d:	e8 1e 88 ff ff       	call   0x503cb0
50b492:	83 c4 0c             	add    $0xc,%esp
50b495:	eb 35                	jmp    0x50b4cc
50b497:	85 d2                	test   %edx,%edx
50b499:	79 04                	jns    0x50b49f
50b49b:	8b 53 6c             	mov    0x6c(%ebx),%edx
50b49e:	4a                   	dec    %edx
50b49f:	8b 43 68             	mov    0x68(%ebx),%eax
50b4a2:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
50b4a5:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
50b4aa:	8d 04 88             	lea    (%eax,%ecx,4),%eax
50b4ad:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
50b4b0:	74 0f                	je     0x50b4c1
50b4b2:	6a f7                	push   $0xfffffff7
50b4b4:	51                   	push   %ecx
50b4b5:	50                   	push   %eax
50b4b6:	53                   	push   %ebx
50b4b7:	e8 84 e7 04 00       	call   0x559c40
50b4bc:	83 c4 10             	add    $0x10,%esp
50b4bf:	eb 0b                	jmp    0x50b4cc
50b4c1:	85 c9                	test   %ecx,%ecx
50b4c3:	74 07                	je     0x50b4cc
50b4c5:	89 48 10             	mov    %ecx,0x10(%eax)
50b4c8:	c6 40 01 f7          	movb   $0xf7,0x1(%eax)
50b4cc:	8b 43 6c             	mov    0x6c(%ebx),%eax
50b4cf:	85 c0                	test   %eax,%eax
50b4d1:	7e 10                	jle    0x50b4e3
50b4d3:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
50b4d6:	ba 01 00 00 00       	mov    $0x1,%edx
50b4db:	8b 43 68             	mov    0x68(%ebx),%eax
50b4de:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
50b4e3:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
50b4e6:	39 4b 70             	cmp    %ecx,0x70(%ebx)
50b4e9:	7f 18                	jg     0x50b503
50b4eb:	8b 55 84             	mov    -0x7c(%ebp),%edx
50b4ee:	52                   	push   %edx
50b4ef:	8b 55 bc             	mov    -0x44(%ebp),%edx
50b4f2:	52                   	push   %edx
50b4f3:	ff 75 b4             	push   -0x4c(%ebp)
50b4f6:	6a 10                	push   $0x10
50b4f8:	53                   	push   %ebx
50b4f9:	e8 02 b0 ff ff       	call   0x506500
50b4fe:	83 c4 14             	add    $0x14,%esp
50b501:	eb 30                	jmp    0x50b533
50b503:	8b 55 b4             	mov    -0x4c(%ebp),%edx
50b506:	8d 41 01             	lea    0x1(%ecx),%eax
50b509:	89 43 6c             	mov    %eax,0x6c(%ebx)
50b50c:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50b50f:	8b 43 68             	mov    0x68(%ebx),%eax
50b512:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
50b516:	8b 55 bc             	mov    -0x44(%ebp),%edx
50b519:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
50b51d:	8b 55 84             	mov    -0x7c(%ebp),%edx
50b520:	c7 04 88 10 00 00 00 	movl   $0x10,(%eax,%ecx,4)
50b527:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
50b52b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50b532:	00
50b533:	8b 4b 0c             	mov    0xc(%ebx),%ecx
50b536:	8b 55 a4             	mov    -0x5c(%ebp),%edx
50b539:	f7 d2                	not    %edx
50b53b:	8b 41 3c             	mov    0x3c(%ecx),%eax
50b53e:	03 41 38             	add    0x38(%ecx),%eax
50b541:	79 0d                	jns    0x50b550
50b543:	52                   	push   %edx
50b544:	53                   	push   %ebx
50b545:	51                   	push   %ecx
50b546:	e8 55 82 00 00       	call   0x5137a0
50b54b:	83 c4 0c             	add    $0xc,%esp
50b54e:	eb 09                	jmp    0x50b559
50b550:	8b 49 40             	mov    0x40(%ecx),%ecx
50b553:	8b 43 6c             	mov    0x6c(%ebx),%eax
50b556:	89 04 91             	mov    %eax,(%ecx,%edx,4)
50b559:	8b 5d c8             	mov    -0x38(%ebp),%ebx
50b55c:	8b 43 34             	mov    0x34(%ebx),%eax
50b55f:	85 c0                	test   %eax,%eax
50b561:	74 0e                	je     0x50b571
50b563:	6a 01                	push   $0x1
50b565:	50                   	push   %eax
50b566:	ff 75 88             	push   -0x78(%ebp)
50b569:	e8 82 d8 fe ff       	call   0x4f8df0
50b56e:	83 c4 0c             	add    $0xc,%esp
50b571:	8b 45 9c             	mov    -0x64(%ebp),%eax
50b574:	89 43 34             	mov    %eax,0x34(%ebx)
50b577:	89 58 38             	mov    %ebx,0x38(%eax)
50b57a:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
50b57d:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
50b583:	85 c9                	test   %ecx,%ecx
50b585:	75 04                	jne    0x50b58b
50b587:	33 c0                	xor    %eax,%eax
50b589:	eb 26                	jmp    0x50b5b1
50b58b:	8b 53 08             	mov    0x8(%ebx),%edx
50b58e:	85 c9                	test   %ecx,%ecx
50b590:	79 04                	jns    0x50b596
50b592:	8b 4a 6c             	mov    0x6c(%edx),%ecx
50b595:	49                   	dec    %ecx
50b596:	8b 02                	mov    (%edx),%eax
50b598:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
50b59c:	74 07                	je     0x50b5a5
50b59e:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
50b5a3:	eb 09                	jmp    0x50b5ae
50b5a5:	8b 42 68             	mov    0x68(%edx),%eax
50b5a8:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50b5ab:	8d 04 88             	lea    (%eax,%ecx,4),%eax
50b5ae:	8b 40 08             	mov    0x8(%eax),%eax
50b5b1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50b5b4:	89 83 d4 00 00 00    	mov    %eax,0xd4(%ebx)
50b5ba:	33 c0                	xor    %eax,%eax
50b5bc:	39 43 24             	cmp    %eax,0x24(%ebx)
50b5bf:	5f                   	pop    %edi
50b5c0:	0f 95 c0             	setne  %al
50b5c3:	33 cd                	xor    %ebp,%ecx
50b5c5:	5e                   	pop    %esi
50b5c6:	5b                   	pop    %ebx
50b5c7:	e8 0e 5f 0d 00       	call   0x5e14da
50b5cc:	8b e5                	mov    %ebp,%esp
50b5ce:	5d                   	pop    %ebp
50b5cf:	c3                   	ret
50b5d0:	55                   	push   %ebp
50b5d1:	8b ec                	mov    %esp,%ebp
50b5d3:	83 ec 1c             	sub    $0x1c,%esp
50b5d6:	8b 45 08             	mov    0x8(%ebp),%eax
50b5d9:	53                   	push   %ebx
50b5da:	56                   	push   %esi
50b5db:	8b 75 0c             	mov    0xc(%ebp),%esi
50b5de:	8b 08                	mov    (%eax),%ecx
50b5e0:	8b 45 10             	mov    0x10(%ebp),%eax
50b5e3:	6a 01                	push   $0x1
50b5e5:	8b 76 30             	mov    0x30(%esi),%esi
50b5e8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
50b5eb:	8b 1e                	mov    (%esi),%ebx
50b5ed:	03 c3                	add    %ebx,%eax
50b5ef:	50                   	push   %eax
50b5f0:	51                   	push   %ecx
50b5f1:	89 5d ec             	mov    %ebx,-0x14(%ebp)
50b5f4:	e8 b7 45 02 00       	call   0x52fbb0
50b5f9:	83 c4 0c             	add    $0xc,%esp
50b5fc:	89 45 f0             	mov    %eax,-0x10(%ebp)
50b5ff:	85 c0                	test   %eax,%eax
50b601:	0f 84 06 01 00 00    	je     0x50b70d
50b607:	57                   	push   %edi
50b608:	33 ff                	xor    %edi,%edi
50b60a:	89 7d f8             	mov    %edi,-0x8(%ebp)
50b60d:	85 db                	test   %ebx,%ebx
50b60f:	0f 8e f7 00 00 00    	jle    0x50b70c
50b615:	83 c0 14             	add    $0x14,%eax
50b618:	8d 56 04             	lea    0x4(%esi),%edx
50b61b:	89 45 10             	mov    %eax,0x10(%ebp)
50b61e:	89 55 fc             	mov    %edx,-0x4(%ebp)
50b621:	8b 1a                	mov    (%edx),%ebx
50b623:	f7 43 04 00 01 00 00 	testl  $0x100,0x4(%ebx)
50b62a:	74 16                	je     0x50b642
50b62c:	53                   	push   %ebx
50b62d:	ff 75 08             	push   0x8(%ebp)
50b630:	e8 ab ac 01 00       	call   0x5262e0
50b635:	8b 55 fc             	mov    -0x4(%ebp),%edx
50b638:	83 c4 08             	add    $0x8,%esp
50b63b:	8b f0                	mov    %eax,%esi
50b63d:	e9 a0 00 00 00       	jmp    0x50b6e2
50b642:	8b 45 0c             	mov    0xc(%ebp),%eax
50b645:	0f b7 7a 10          	movzwl 0x10(%edx),%edi
50b649:	4f                   	dec    %edi
50b64a:	8b 40 34             	mov    0x34(%eax),%eax
50b64d:	85 c0                	test   %eax,%eax
50b64f:	74 2e                	je     0x50b67f
50b651:	57                   	push   %edi
50b652:	50                   	push   %eax
50b653:	ff 75 08             	push   0x8(%ebp)
50b656:	e8 d5 ee ff ff       	call   0x50a530
50b65b:	8b f0                	mov    %eax,%esi