50829c:	33 c9                	xor    %ecx,%ecx
50829e:	83 c0 54             	add    $0x54,%eax
5082a1:	33 d2                	xor    %edx,%edx
5082a3:	c7 00 4d 00 00 00    	movl   $0x4d,(%eax)
5082a9:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
5082b0:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
5082b7:	89 48 10             	mov    %ecx,0x10(%eax)
5082ba:	33 c9                	xor    %ecx,%ecx
5082bc:	89 50 14             	mov    %edx,0x14(%eax)
5082bf:	89 48 18             	mov    %ecx,0x18(%eax)
5082c2:	8b 43 3c             	mov    0x3c(%ebx),%eax
5082c5:	33 d2                	xor    %edx,%edx
5082c7:	05 a8 00 00 00       	add    $0xa8,%eax
5082cc:	33 c9                	xor    %ecx,%ecx
5082ce:	c7 00 59 00 00 00    	movl   $0x59,(%eax)
5082d4:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
5082db:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
5082e2:	89 50 10             	mov    %edx,0x10(%eax)
5082e5:	33 d2                	xor    %edx,%edx
5082e7:	89 48 14             	mov    %ecx,0x14(%eax)
5082ea:	89 50 18             	mov    %edx,0x18(%eax)
5082ed:	8b 43 3c             	mov    0x3c(%ebx),%eax
5082f0:	33 c9                	xor    %ecx,%ecx
5082f2:	05 fc 00 00 00       	add    $0xfc,%eax
5082f7:	33 d2                	xor    %edx,%edx
5082f9:	c7 00 4b 00 00 00    	movl   $0x4b,(%eax)
5082ff:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
508306:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
50830d:	89 48 10             	mov    %ecx,0x10(%eax)
508310:	33 c9                	xor    %ecx,%ecx
508312:	89 50 14             	mov    %edx,0x14(%eax)
508315:	89 48 18             	mov    %ecx,0x18(%eax)
508318:	5e                   	pop    %esi
508319:	5b                   	pop    %ebx
50831a:	c3                   	ret
50831b:	c7 83 d4 00 00 00 01 	movl   $0x1,0xd4(%ebx)
508322:	00 00 00
508325:	c7 43 34 04 00 00 00 	movl   $0x4,0x34(%ebx)
50832c:	8b 43 3c             	mov    0x3c(%ebx),%eax
50832f:	33 d2                	xor    %edx,%edx
508331:	33 c9                	xor    %ecx,%ecx
508333:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
508339:	c7 40 08 02 00 00 00 	movl   $0x2,0x8(%eax)
508340:	c7 40 0c 02 00 00 00 	movl   $0x2,0xc(%eax)
508347:	89 50 10             	mov    %edx,0x10(%eax)
50834a:	33 d2                	xor    %edx,%edx
50834c:	89 48 14             	mov    %ecx,0x14(%eax)
50834f:	89 50 18             	mov    %edx,0x18(%eax)
508352:	8b 43 3c             	mov    0x3c(%ebx),%eax
508355:	33 d2                	xor    %edx,%edx
508357:	83 c0 54             	add    $0x54,%eax
50835a:	33 c9                	xor    %ecx,%ecx
50835c:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
508362:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
508369:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
508370:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
508377:	c7 40 14 01 00 00 00 	movl   $0x1,0x14(%eax)
50837e:	c7 40 18 01 00 00 00 	movl   $0x1,0x18(%eax)
508385:	8b 43 3c             	mov    0x3c(%ebx),%eax
508388:	05 a8 00 00 00       	add    $0xa8,%eax
50838d:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
508393:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
50839a:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
5083a1:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
5083a8:	c7 40 14 01 00 00 00 	movl   $0x1,0x14(%eax)
5083af:	c7 40 18 01 00 00 00 	movl   $0x1,0x18(%eax)
5083b6:	8b 43 3c             	mov    0x3c(%ebx),%eax
5083b9:	05 fc 00 00 00       	add    $0xfc,%eax
5083be:	c7 00 04 00 00 00    	movl   $0x4,(%eax)
5083c4:	c7 40 08 02 00 00 00 	movl   $0x2,0x8(%eax)
5083cb:	c7 40 0c 02 00 00 00 	movl   $0x2,0xc(%eax)
5083d2:	89 50 10             	mov    %edx,0x10(%eax)
5083d5:	33 d2                	xor    %edx,%edx
5083d7:	89 48 14             	mov    %ecx,0x14(%eax)
5083da:	89 50 18             	mov    %edx,0x18(%eax)
5083dd:	5e                   	pop    %esi
5083de:	5b                   	pop    %ebx
5083df:	c3                   	ret
5083e0:	8b 43 20             	mov    0x20(%ebx),%eax
5083e3:	89 43 34             	mov    %eax,0x34(%ebx)
5083e6:	8b 43 34             	mov    0x34(%ebx),%eax
5083e9:	83 f8 01             	cmp    $0x1,%eax
5083ec:	7c 05                	jl     0x5083f3
5083ee:	83 f8 0a             	cmp    $0xa,%eax
5083f1:	7e 1c                	jle    0x50840f
5083f3:	8b 03                	mov    (%ebx),%eax
5083f5:	c7 40 14 18 00 00 00 	movl   $0x18,0x14(%eax)
5083fc:	8b 53 34             	mov    0x34(%ebx),%edx
5083ff:	89 50 18             	mov    %edx,0x18(%eax)
508402:	c7 40 1c 0a 00 00 00 	movl   $0xa,0x1c(%eax)
508409:	8b c3                	mov    %ebx,%eax
50840b:	8b 10                	mov    (%eax),%edx
50840d:	ff 12                	call   *(%edx)
50840f:	33 d2                	xor    %edx,%edx
508411:	eb 2c                	jmp    0x50843f
508413:	8d 04 92             	lea    (%edx,%edx,4),%eax
508416:	33 c9                	xor    %ecx,%ecx
508418:	8d 04 82             	lea    (%edx,%eax,4),%eax
50841b:	c1 e0 02             	shl    $0x2,%eax
50841e:	03 43 3c             	add    0x3c(%ebx),%eax
508421:	89 10                	mov    %edx,(%eax)
508423:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
50842a:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
508431:	89 48 10             	mov    %ecx,0x10(%eax)
508434:	33 c9                	xor    %ecx,%ecx
508436:	89 48 14             	mov    %ecx,0x14(%eax)
508439:	33 c9                	xor    %ecx,%ecx
50843b:	89 48 18             	mov    %ecx,0x18(%eax)
50843e:	42                   	inc    %edx
50843f:	3b 53 34             	cmp    0x34(%ebx),%edx
508442:	7c cf                	jl     0x508413
508444:	5e                   	pop    %esi
508445:	5b                   	pop    %ebx
508446:	c3                   	ret
508447:	8b 03                	mov    (%ebx),%eax
508449:	c7 40 14 08 00 00 00 	movl   $0x8,0x14(%eax)
508450:	8b c3                	mov    %ebx,%eax
508452:	8b 10                	mov    (%eax),%edx
508454:	ff 12                	call   *(%edx)
508456:	5e                   	pop    %esi
508457:	5b                   	pop    %ebx
508458:	c3                   	ret
508459:	90                   	nop
50845a:	90                   	nop
50845b:	90                   	nop
50845c:	55                   	push   %ebp
50845d:	8b ec                	mov    %esp,%ebp
50845f:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
508465:	89 50 04             	mov    %edx,0x4(%eax)
508468:	89 48 14             	mov    %ecx,0x14(%eax)
50846b:	8b 55 10             	mov    0x10(%ebp),%edx
50846e:	89 50 18             	mov    %edx,0x18(%eax)
508471:	8b 4d 0c             	mov    0xc(%ebp),%ecx
508474:	89 48 1c             	mov    %ecx,0x1c(%eax)
508477:	8b 55 08             	mov    0x8(%ebp),%edx
50847a:	89 50 20             	mov    %edx,0x20(%eax)
50847d:	83 c0 24             	add    $0x24,%eax
508480:	5d                   	pop    %ebp
508481:	c2 0c 00             	ret    $0xc
508484:	55                   	push   %ebp
508485:	8b ec                	mov    %esp,%ebp
508487:	53                   	push   %ebx
508488:	56                   	push   %esi
508489:	57                   	push   %edi
50848a:	8b 75 10             	mov    0x10(%ebp),%esi
50848d:	33 db                	xor    %ebx,%ebx
50848f:	3b d3                	cmp    %ebx,%edx
508491:	7e 23                	jle    0x5084b6
508493:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
508499:	89 58 04             	mov    %ebx,0x4(%eax)
50849c:	89 48 14             	mov    %ecx,0x14(%eax)
50849f:	89 70 18             	mov    %esi,0x18(%eax)
5084a2:	8b 7d 0c             	mov    0xc(%ebp),%edi
5084a5:	43                   	inc    %ebx
5084a6:	89 78 1c             	mov    %edi,0x1c(%eax)
5084a9:	8b 7d 08             	mov    0x8(%ebp),%edi
5084ac:	89 78 20             	mov    %edi,0x20(%eax)
5084af:	83 c0 24             	add    $0x24,%eax
5084b2:	3b d3                	cmp    %ebx,%edx
5084b4:	7f dd                	jg     0x508493
5084b6:	5f                   	pop    %edi
5084b7:	5e                   	pop    %esi
5084b8:	5b                   	pop    %ebx
5084b9:	5d                   	pop    %ebp
5084ba:	c2 0c 00             	ret    $0xc
5084bd:	90                   	nop
5084be:	90                   	nop
5084bf:	90                   	nop
5084c0:	55                   	push   %ebp
5084c1:	8b ec                	mov    %esp,%ebp
5084c3:	53                   	push   %ebx
5084c4:	56                   	push   %esi
5084c5:	83 fa 04             	cmp    $0x4,%edx
5084c8:	7f 2b                	jg     0x5084f5
5084ca:	89 10                	mov    %edx,(%eax)
5084cc:	33 db                	xor    %ebx,%ebx
5084ce:	8d 70 04             	lea    0x4(%eax),%esi
5084d1:	3b d3                	cmp    %ebx,%edx
5084d3:	7e 0a                	jle    0x5084df
5084d5:	89 1e                	mov    %ebx,(%esi)
5084d7:	43                   	inc    %ebx
5084d8:	83 c6 04             	add    $0x4,%esi
5084db:	3b d3                	cmp    %ebx,%edx
5084dd:	7f f6                	jg     0x5084d5
5084df:	33 d2                	xor    %edx,%edx
5084e1:	89 50 18             	mov    %edx,0x18(%eax)
5084e4:	89 50 14             	mov    %edx,0x14(%eax)
5084e7:	89 48 1c             	mov    %ecx,0x1c(%eax)
5084ea:	8b 4d 08             	mov    0x8(%ebp),%ecx
5084ed:	89 48 20             	mov    %ecx,0x20(%eax)
5084f0:	83 c0 24             	add    $0x24,%eax
5084f3:	eb 0e                	jmp    0x508503
5084f5:	6a 00                	push   $0x0
5084f7:	51                   	push   %ecx
5084f8:	8b 4d 08             	mov    0x8(%ebp),%ecx
5084fb:	51                   	push   %ecx
5084fc:	33 c9                	xor    %ecx,%ecx
5084fe:	e8 81 ff ff ff       	call   0x508484
508503:	5e                   	pop    %esi
508504:	5b                   	pop    %ebx
508505:	5d                   	pop    %ebp
508506:	c2 04 00             	ret    $0x4
508509:	90                   	nop
50850a:	90                   	nop
50850b:	90                   	nop
50850c:	53                   	push   %ebx
50850d:	56                   	push   %esi
50850e:	57                   	push   %edi
50850f:	8b f8                	mov    %eax,%edi
508511:	51                   	push   %ecx
508512:	83 7f 10 64          	cmpl   $0x64,0x10(%edi)
508516:	8b 77 34             	mov    0x34(%edi),%esi
508519:	74 15                	je     0x508530
50851b:	8b 07                	mov    (%edi),%eax
50851d:	c7 40 14 12 00 00 00 	movl   $0x12,0x14(%eax)
508524:	8b 57 10             	mov    0x10(%edi),%edx
508527:	89 50 18             	mov    %edx,0x18(%eax)
50852a:	8b c7                	mov    %edi,%eax
50852c:	8b 10                	mov    (%eax),%edx
50852e:	ff 12                	call   *(%edx)
508530:	83 fe 03             	cmp    $0x3,%esi
508533:	75 0f                	jne    0x508544
508535:	83 7f 38 03          	cmpl   $0x3,0x38(%edi)
508539:	75 09                	jne    0x508544
50853b:	c7 04 24 0a 00 00 00 	movl   $0xa,(%esp)
508542:	eb 1c                	jmp    0x508560
508544:	83 fe 04             	cmp    $0x4,%esi
508547:	7e 0c                	jle    0x508555
508549:	8b ce                	mov    %esi,%ecx
50854b:	03 c9                	add    %ecx,%ecx
50854d:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
508550:	89 0c 24             	mov    %ecx,(%esp)
508553:	eb 0b                	jmp    0x508560
508555:	8b c6                	mov    %esi,%eax
508557:	c1 e0 02             	shl    $0x2,%eax
50855a:	83 c0 02             	add    $0x2,%eax
50855d:	89 04 24             	mov    %eax,(%esp)
508560:	8b 0c 24             	mov    (%esp),%ecx
508563:	8b c7                	mov    %edi,%eax
508565:	c1 e1 02             	shl    $0x2,%ecx
508568:	33 d2                	xor    %edx,%edx
50856a:	8b 58 04             	mov    0x4(%eax),%ebx
50856d:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
508570:	ff 13                	call   *(%ebx)
508572:	8b d8                	mov    %eax,%ebx
508574:	83 fe 03             	cmp    $0x3,%esi
508577:	89 9f a4 00 00 00    	mov    %ebx,0xa4(%edi)
50857d:	8b 04 24             	mov    (%esp),%eax
508580:	89 87 a0 00 00 00    	mov    %eax,0xa0(%edi)
508586:	0f 85 e7 00 00 00    	jne    0x508673
50858c:	83 7f 38 03          	cmpl   $0x3,0x38(%edi)
508590:	0f 85 dd 00 00 00    	jne    0x508673
508596:	6a 01                	push   $0x1
508598:	33 c9                	xor    %ecx,%ecx
50859a:	8b d6                	mov    %esi,%edx
50859c:	8b c3                	mov    %ebx,%eax
50859e:	e8 1d ff ff ff       	call   0x5084c0
5085a3:	8b d8                	mov    %eax,%ebx
5085a5:	6a 05                	push   $0x5
5085a7:	6a 00                	push   $0x0
5085a9:	6a 02                	push   $0x2
5085ab:	b9 01 00 00 00       	mov    $0x1,%ecx
5085b0:	33 d2                	xor    %edx,%edx
5085b2:	8b c3                	mov    %ebx,%eax
5085b4:	e8 a3 fe ff ff       	call   0x50845c
5085b9:	8b d8                	mov    %eax,%ebx
5085bb:	6a 3f                	push   $0x3f
5085bd:	6a 00                	push   $0x0
5085bf:	6a 01                	push   $0x1
5085c1:	b9 01 00 00 00       	mov    $0x1,%ecx
5085c6:	ba 02 00 00 00       	mov    $0x2,%edx
5085cb:	8b c3                	mov    %ebx,%eax
5085cd:	e8 8a fe ff ff       	call   0x50845c
5085d2:	8b d8                	mov    %eax,%ebx
5085d4:	6a 3f                	push   $0x3f
5085d6:	6a 00                	push   $0x0
5085d8:	6a 01                	push   $0x1
5085da:	b9 01 00 00 00       	mov    $0x1,%ecx
5085df:	ba 01 00 00 00       	mov    $0x1,%edx
5085e4:	8b c3                	mov    %ebx,%eax
5085e6:	e8 71 fe ff ff       	call   0x50845c
5085eb:	8b d8                	mov    %eax,%ebx
5085ed:	6a 3f                	push   $0x3f
5085ef:	6a 00                	push   $0x0
5085f1:	6a 02                	push   $0x2
5085f3:	b9 06 00 00 00       	mov    $0x6,%ecx
5085f8:	33 d2                	xor    %edx,%edx
5085fa:	8b c3                	mov    %ebx,%eax
5085fc:	e8 5b fe ff ff       	call   0x50845c
508601:	8b d8                	mov    %eax,%ebx
508603:	6a 3f                	push   $0x3f
508605:	6a 02                	push   $0x2
508607:	6a 01                	push   $0x1
508609:	b9 01 00 00 00       	mov    $0x1,%ecx
50860e:	33 d2                	xor    %edx,%edx
508610:	8b c3                	mov    %ebx,%eax
508612:	e8 45 fe ff ff       	call   0x50845c
508617:	8b d8                	mov    %eax,%ebx
508619:	6a 00                	push   $0x0
50861b:	b9 01 00 00 00       	mov    $0x1,%ecx
508620:	8b d6                	mov    %esi,%edx
508622:	8b c3                	mov    %ebx,%eax
508624:	e8 97 fe ff ff       	call   0x5084c0
508629:	8b d8                	mov    %eax,%ebx
50862b:	6a 3f                	push   $0x3f
50862d:	6a 01                	push   $0x1
50862f:	6a 00                	push   $0x0
508631:	b9 01 00 00 00       	mov    $0x1,%ecx
508636:	ba 02 00 00 00       	mov    $0x2,%edx
50863b:	8b c3                	mov    %ebx,%eax
50863d:	e8 1a fe ff ff       	call   0x50845c
508642:	8b d8                	mov    %eax,%ebx
508644:	6a 3f                	push   $0x3f
508646:	6a 01                	push   $0x1
508648:	6a 00                	push   $0x0
50864a:	b9 01 00 00 00       	mov    $0x1,%ecx
50864f:	ba 01 00 00 00       	mov    $0x1,%edx
508654:	8b c3                	mov    %ebx,%eax
508656:	e8 01 fe ff ff       	call   0x50845c
50865b:	8b d8                	mov    %eax,%ebx
50865d:	6a 3f                	push   $0x3f
50865f:	6a 01                	push   $0x1
508661:	6a 00                	push   $0x0
508663:	b9 01 00 00 00       	mov    $0x1,%ecx
508668:	33 d2                	xor    %edx,%edx
50866a:	8b c3                	mov    %ebx,%eax
50866c:	e8 eb fd ff ff       	call   0x50845c
508671:	eb 77                	jmp    0x5086ea
508673:	6a 01                	push   $0x1
508675:	33 c9                	xor    %ecx,%ecx
508677:	8b d6                	mov    %esi,%edx
508679:	8b c3                	mov    %ebx,%eax
50867b:	e8 40 fe ff ff       	call   0x5084c0
508680:	8b d8                	mov    %eax,%ebx
508682:	6a 05                	push   $0x5
508684:	6a 00                	push   $0x0
508686:	6a 02                	push   $0x2
508688:	b9 01 00 00 00       	mov    $0x1,%ecx
50868d:	8b d6                	mov    %esi,%edx
50868f:	8b c3                	mov    %ebx,%eax
508691:	e8 ee fd ff ff       	call   0x508484
508696:	8b d8                	mov    %eax,%ebx
508698:	6a 3f                	push   $0x3f
50869a:	6a 00                	push   $0x0
50869c:	6a 02                	push   $0x2
50869e:	b9 06 00 00 00       	mov    $0x6,%ecx
5086a3:	8b d6                	mov    %esi,%edx
5086a5:	8b c3                	mov    %ebx,%eax
5086a7:	e8 d8 fd ff ff       	call   0x508484
5086ac:	8b d8                	mov    %eax,%ebx