4773f7:	8b 55 08             	mov    0x8(%ebp),%edx
4773fa:	52                   	push   %edx
4773fb:	e8 c0 f7 ff ff       	call   0x476bc0
477400:	83 c4 08             	add    $0x8,%esp
477403:	89 45 fc             	mov    %eax,-0x4(%ebp)
477406:	8b 45 fc             	mov    -0x4(%ebp),%eax
477409:	8b e5                	mov    %ebp,%esp
47740b:	5d                   	pop    %ebp
47740c:	c3                   	ret
47740d:	cc                   	int3
47740e:	cc                   	int3
47740f:	cc                   	int3
477410:	cc                   	int3
477411:	cc                   	int3
477412:	cc                   	int3
477413:	cc                   	int3
477414:	cc                   	int3
477415:	cc                   	int3
477416:	cc                   	int3
477417:	cc                   	int3
477418:	cc                   	int3
477419:	cc                   	int3
47741a:	cc                   	int3
47741b:	cc                   	int3
47741c:	cc                   	int3
47741d:	cc                   	int3
47741e:	cc                   	int3
47741f:	cc                   	int3
477420:	8b ff                	mov    %edi,%edi
477422:	55                   	push   %ebp
477423:	8b ec                	mov    %esp,%ebp
477425:	51                   	push   %ecx
477426:	e8 72 c2 f8 ff       	call   0x40369d
47742b:	0f b6 c0             	movzbl %al,%eax
47742e:	85 c0                	test   %eax,%eax
477430:	74 13                	je     0x477445
477432:	6a 00                	push   $0x0
477434:	8b 4d 08             	mov    0x8(%ebp),%ecx
477437:	51                   	push   %ecx
477438:	e8 f3 b6 f8 ff       	call   0x402b30
47743d:	83 c4 08             	add    $0x8,%esp
477440:	89 45 fc             	mov    %eax,-0x4(%ebp)
477443:	eb 11                	jmp    0x477456
477445:	6a 08                	push   $0x8
477447:	8b 55 08             	mov    0x8(%ebp),%edx
47744a:	52                   	push   %edx
47744b:	e8 70 f7 ff ff       	call   0x476bc0
477450:	83 c4 08             	add    $0x8,%esp
477453:	89 45 fc             	mov    %eax,-0x4(%ebp)
477456:	8b 45 fc             	mov    -0x4(%ebp),%eax
477459:	8b e5                	mov    %ebp,%esp
47745b:	5d                   	pop    %ebp
47745c:	c3                   	ret
47745d:	cc                   	int3
47745e:	cc                   	int3
47745f:	cc                   	int3
477460:	cc                   	int3
477461:	cc                   	int3
477462:	cc                   	int3
477463:	cc                   	int3
477464:	cc                   	int3
477465:	cc                   	int3
477466:	cc                   	int3
477467:	cc                   	int3
477468:	cc                   	int3
477469:	cc                   	int3
47746a:	cc                   	int3
47746b:	cc                   	int3
47746c:	cc                   	int3
47746d:	cc                   	int3
47746e:	cc                   	int3
47746f:	cc                   	int3
477470:	8b ff                	mov    %edi,%edi
477472:	55                   	push   %ebp
477473:	8b ec                	mov    %esp,%ebp
477475:	51                   	push   %ecx
477476:	e8 22 c2 f8 ff       	call   0x40369d
47747b:	0f b6 c0             	movzbl %al,%eax
47747e:	85 c0                	test   %eax,%eax
477480:	74 13                	je     0x477495
477482:	6a 00                	push   $0x0
477484:	8b 4d 08             	mov    0x8(%ebp),%ecx
477487:	51                   	push   %ecx
477488:	e8 40 a6 f8 ff       	call   0x401acd
47748d:	83 c4 08             	add    $0x8,%esp
477490:	89 45 fc             	mov    %eax,-0x4(%ebp)
477493:	eb 11                	jmp    0x4774a6
477495:	6a 01                	push   $0x1
477497:	8b 55 08             	mov    0x8(%ebp),%edx
47749a:	52                   	push   %edx
47749b:	e8 20 f7 ff ff       	call   0x476bc0
4774a0:	83 c4 08             	add    $0x8,%esp
4774a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4774a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4774a9:	8b e5                	mov    %ebp,%esp
4774ab:	5d                   	pop    %ebp
4774ac:	c3                   	ret
4774ad:	cc                   	int3
4774ae:	cc                   	int3
4774af:	cc                   	int3
4774b0:	cc                   	int3
4774b1:	cc                   	int3
4774b2:	cc                   	int3
4774b3:	cc                   	int3
4774b4:	cc                   	int3
4774b5:	cc                   	int3
4774b6:	cc                   	int3
4774b7:	cc                   	int3
4774b8:	cc                   	int3
4774b9:	cc                   	int3
4774ba:	cc                   	int3
4774bb:	cc                   	int3
4774bc:	cc                   	int3
4774bd:	cc                   	int3
4774be:	cc                   	int3
4774bf:	cc                   	int3
4774c0:	8b ff                	mov    %edi,%edi
4774c2:	55                   	push   %ebp
4774c3:	8b ec                	mov    %esp,%ebp
4774c5:	51                   	push   %ecx
4774c6:	e8 d2 c1 f8 ff       	call   0x40369d
4774cb:	0f b6 c0             	movzbl %al,%eax
4774ce:	85 c0                	test   %eax,%eax
4774d0:	74 13                	je     0x4774e5
4774d2:	6a 00                	push   $0x0
4774d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4774d7:	51                   	push   %ecx
4774d8:	e8 57 c1 f8 ff       	call   0x403634
4774dd:	83 c4 08             	add    $0x8,%esp
4774e0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4774e3:	eb 14                	jmp    0x4774f9
4774e5:	68 80 00 00 00       	push   $0x80
4774ea:	8b 55 08             	mov    0x8(%ebp),%edx
4774ed:	52                   	push   %edx
4774ee:	e8 cd f6 ff ff       	call   0x476bc0
4774f3:	83 c4 08             	add    $0x8,%esp
4774f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4774f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4774fc:	8b e5                	mov    %ebp,%esp
4774fe:	5d                   	pop    %ebp
4774ff:	c3                   	ret
477500:	cc                   	int3
477501:	cc                   	int3
477502:	cc                   	int3
477503:	cc                   	int3
477504:	cc                   	int3
477505:	cc                   	int3
477506:	cc                   	int3
477507:	cc                   	int3
477508:	cc                   	int3
477509:	cc                   	int3
47750a:	cc                   	int3
47750b:	cc                   	int3
47750c:	cc                   	int3
47750d:	cc                   	int3
47750e:	cc                   	int3
47750f:	cc                   	int3
477510:	8b ff                	mov    %edi,%edi
477512:	55                   	push   %ebp
477513:	8b ec                	mov    %esp,%ebp
477515:	83 ec 3c             	sub    $0x3c,%esp
477518:	8b 45 10             	mov    0x10(%ebp),%eax
47751b:	50                   	push   %eax
47751c:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
47751f:	e8 02 a7 f8 ff       	call   0x401c26
477524:	81 7d 08 00 01 00 00 	cmpl   $0x100,0x8(%ebp)
47752b:	73 5a                	jae    0x477587
47752d:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
477530:	e8 ad a4 f8 ff       	call   0x4019e2
477535:	50                   	push   %eax
477536:	8b 4d 08             	mov    0x8(%ebp),%ecx
477539:	51                   	push   %ecx
47753a:	e8 f1 04 00 00       	call   0x477a30
47753f:	83 c4 08             	add    $0x8,%esp
477542:	0f b6 d0             	movzbl %al,%edx
477545:	85 d2                	test   %edx,%edx
477547:	74 28                	je     0x477571
477549:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
47754c:	e8 91 a4 f8 ff       	call   0x4019e2
477551:	50                   	push   %eax
477552:	8b 45 08             	mov    0x8(%ebp),%eax
477555:	50                   	push   %eax
477556:	e8 75 05 00 00       	call   0x477ad0
47755b:	83 c4 08             	add    $0x8,%esp
47755e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
477561:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
477564:	e8 fc c1 f8 ff       	call   0x403765
477569:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47756c:	e9 a5 01 00 00       	jmp    0x477716
477571:	8b 4d 08             	mov    0x8(%ebp),%ecx
477574:	89 4d e0             	mov    %ecx,-0x20(%ebp)
477577:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
47757a:	e8 e6 c1 f8 ff       	call   0x403765
47757f:	8b 45 e0             	mov    -0x20(%ebp),%eax
477582:	e9 8f 01 00 00       	jmp    0x477716
477587:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
47758e:	33 d2                	xor    %edx,%edx
477590:	66 89 55 fc          	mov    %dx,-0x4(%ebp)
477594:	88 55 fe             	mov    %dl,-0x2(%ebp)
477597:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
47759a:	e8 43 a4 f8 ff       	call   0x4019e2
47759f:	8b 00                	mov    (%eax),%eax
4775a1:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
4775a5:	7e 71                	jle    0x477618
4775a7:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4775aa:	e8 33 a4 f8 ff       	call   0x4019e2
4775af:	50                   	push   %eax
4775b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4775b3:	c1 f9 08             	sar    $0x8,%ecx
4775b6:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4775bc:	51                   	push   %ecx
4775bd:	e8 d3 b9 f8 ff       	call   0x402f95
4775c2:	83 c4 08             	add    $0x8,%esp
4775c5:	85 c0                	test   %eax,%eax
4775c7:	74 4f                	je     0x477618
4775c9:	8b 55 08             	mov    0x8(%ebp),%edx
4775cc:	c1 fa 08             	sar    $0x8,%edx
4775cf:	81 e2 ff 00 00 00    	and    $0xff,%edx
4775d5:	b8 01 00 00 00       	mov    $0x1,%eax
4775da:	6b c8 00             	imul   $0x0,%eax,%ecx
4775dd:	88 54 0d fc          	mov    %dl,-0x4(%ebp,%ecx,1)
4775e1:	ba 01 00 00 00       	mov    $0x1,%edx
4775e6:	c1 e2 00             	shl    $0x0,%edx
4775e9:	8a 45 08             	mov    0x8(%ebp),%al
4775ec:	88 44 15 fc          	mov    %al,-0x4(%ebp,%edx,1)
4775f0:	b9 01 00 00 00       	mov    $0x1,%ecx
4775f5:	d1 e1                	shl    $1,%ecx
4775f7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4775fa:	83 7d f0 03          	cmpl   $0x3,-0x10(%ebp)
4775fe:	73 02                	jae    0x477602
477600:	eb 05                	jmp    0x477607
477602:	e8 09 ad f8 ff       	call   0x402310
477607:	8b 55 f0             	mov    -0x10(%ebp),%edx
47760a:	c6 44 15 fc 00       	movb   $0x0,-0x4(%ebp,%edx,1)
47760f:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
477616:	eb 3d                	jmp    0x477655
477618:	e8 68 ab f8 ff       	call   0x402185
47761d:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
477623:	b8 01 00 00 00       	mov    $0x1,%eax
477628:	6b c8 00             	imul   $0x0,%eax,%ecx
47762b:	8a 55 08             	mov    0x8(%ebp),%dl
47762e:	88 54 0d fc          	mov    %dl,-0x4(%ebp,%ecx,1)
477632:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
477639:	83 7d ec 03          	cmpl   $0x3,-0x14(%ebp)
47763d:	73 02                	jae    0x477641
47763f:	eb 05                	jmp    0x477646
477641:	e8 ca ac f8 ff       	call   0x402310
477646:	8b 45 ec             	mov    -0x14(%ebp),%eax
477649:	c6 44 05 fc 00       	movb   $0x0,-0x4(%ebp,%eax,1)
47764e:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
477655:	33 c9                	xor    %ecx,%ecx
477657:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
47765b:	88 4d fa             	mov    %cl,-0x6(%ebp)
47765e:	6a 01                	push   $0x1
477660:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
477663:	e8 7a a3 f8 ff       	call   0x4019e2
477668:	8b 10                	mov    (%eax),%edx
47766a:	8b 42 08             	mov    0x8(%edx),%eax
47766d:	50                   	push   %eax
47766e:	6a 03                	push   $0x3
477670:	8d 4d f8             	lea    -0x8(%ebp),%ecx
477673:	51                   	push   %ecx
477674:	8b 55 f4             	mov    -0xc(%ebp),%edx
477677:	52                   	push   %edx
477678:	8d 45 fc             	lea    -0x4(%ebp),%eax
47767b:	50                   	push   %eax
47767c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47767f:	51                   	push   %ecx
477680:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
477683:	e8 5a a3 f8 ff       	call   0x4019e2
477688:	8b 10                	mov    (%eax),%edx
47768a:	b8 04 00 00 00       	mov    $0x4,%eax
47768f:	d1 e0                	shl    $1,%eax
477691:	8b 8c 02 a0 00 00 00 	mov    0xa0(%edx,%eax,1),%ecx
477698:	51                   	push   %ecx
477699:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
47769c:	e8 41 a3 f8 ff       	call   0x4019e2
4776a1:	50                   	push   %eax
4776a2:	e8 fa c5 f8 ff       	call   0x403ca1
4776a7:	83 c4 24             	add    $0x24,%esp
4776aa:	89 45 e8             	mov    %eax,-0x18(%ebp)
4776ad:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4776b1:	75 13                	jne    0x4776c6
4776b3:	8b 55 08             	mov    0x8(%ebp),%edx
4776b6:	89 55 dc             	mov    %edx,-0x24(%ebp)
4776b9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4776bc:	e8 a4 c0 f8 ff       	call   0x403765
4776c1:	8b 45 dc             	mov    -0x24(%ebp),%eax
4776c4:	eb 50                	jmp    0x477716
4776c6:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
4776ca:	75 1d                	jne    0x4776e9
4776cc:	b8 01 00 00 00       	mov    $0x1,%eax
4776d1:	6b c8 00             	imul   $0x0,%eax,%ecx
4776d4:	0f b6 54 0d f8       	movzbl -0x8(%ebp,%ecx,1),%edx
4776d9:	89 55 d8             	mov    %edx,-0x28(%ebp)
4776dc:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4776df:	e8 81 c0 f8 ff       	call   0x403765
4776e4:	8b 45 d8             	mov    -0x28(%ebp),%eax
4776e7:	eb 2d                	jmp    0x477716
4776e9:	b8 01 00 00 00       	mov    $0x1,%eax
4776ee:	c1 e0 00             	shl    $0x0,%eax
4776f1:	0f b6 4c 05 f8       	movzbl -0x8(%ebp,%eax,1),%ecx
4776f6:	ba 01 00 00 00       	mov    $0x1,%edx
4776fb:	6b c2 00             	imul   $0x0,%edx,%eax
4776fe:	0f b6 54 05 f8       	movzbl -0x8(%ebp,%eax,1),%edx
477703:	c1 e2 08             	shl    $0x8,%edx
477706:	0b ca                	or     %edx,%ecx
477708:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
47770b:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
47770e:	e8 52 c0 f8 ff       	call   0x403765
477713:	8b 45 d4             	mov    -0x2c(%ebp),%eax
477716:	8b e5                	mov    %ebp,%esp
477718:	5d                   	pop    %ebp
477719:	c3                   	ret
47771a:	cc                   	int3
47771b:	cc                   	int3
47771c:	cc                   	int3
47771d:	cc                   	int3
47771e:	cc                   	int3
47771f:	cc                   	int3
477720:	cc                   	int3
477721:	cc                   	int3
477722:	cc                   	int3
477723:	cc                   	int3
477724:	cc                   	int3
477725:	cc                   	int3
477726:	cc                   	int3
477727:	cc                   	int3
477728:	cc                   	int3
477729:	cc                   	int3
47772a:	cc                   	int3
47772b:	cc                   	int3
47772c:	cc                   	int3
47772d:	cc                   	int3
47772e:	cc                   	int3
47772f:	cc                   	int3
477730:	cc                   	int3
477731:	cc                   	int3
477732:	cc                   	int3
477733:	cc                   	int3
477734:	cc                   	int3
477735:	cc                   	int3
477736:	cc                   	int3
477737:	cc                   	int3
477738:	cc                   	int3
477739:	cc                   	int3
47773a:	cc                   	int3
47773b:	cc                   	int3
47773c:	cc                   	int3
47773d:	cc                   	int3