41746a:	59                   	pop    %ecx
41746b:	85 c0                	test   %eax,%eax
41746d:	0f 84 69 03 00 00    	je     0x4177dc
417473:	5d                   	pop    %ebp
417474:	c3                   	ret
417475:	8b ff                	mov    %edi,%edi
417477:	55                   	push   %ebp
417478:	8b ec                	mov    %esp,%ebp
41747a:	56                   	push   %esi
41747b:	ff 75 08             	push   0x8(%ebp)
41747e:	8b f1                	mov    %ecx,%esi
417480:	83 66 10 00          	andl   $0x0,0x10(%esi)
417484:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
41748b:	c6 06 00             	movb   $0x0,(%esi)
41748e:	e8 35 06 00 00       	call   0x417ac8
417493:	59                   	pop    %ecx
417494:	50                   	push   %eax
417495:	ff 75 08             	push   0x8(%ebp)
417498:	8b ce                	mov    %esi,%ecx
41749a:	e8 4c 04 00 00       	call   0x4178eb
41749f:	8b c6                	mov    %esi,%eax
4174a1:	5e                   	pop    %esi
4174a2:	5d                   	pop    %ebp
4174a3:	c2 04 00             	ret    $0x4
4174a6:	cc                   	int3
4174a7:	cc                   	int3
4174a8:	cc                   	int3
4174a9:	cc                   	int3
4174aa:	cc                   	int3
4174ab:	cc                   	int3
4174ac:	cc                   	int3
4174ad:	cc                   	int3
4174ae:	cc                   	int3
4174af:	cc                   	int3
4174b0:	8b ff                	mov    %edi,%edi
4174b2:	55                   	push   %ebp
4174b3:	8b ec                	mov    %esp,%ebp
4174b5:	51                   	push   %ecx
4174b6:	56                   	push   %esi
4174b7:	ff 75 08             	push   0x8(%ebp)
4174ba:	8b f1                	mov    %ecx,%esi
4174bc:	89 75 fc             	mov    %esi,-0x4(%ebp)
4174bf:	e8 5c 07 00 00       	call   0x417c20
4174c4:	c7 06 58 10 40 00    	movl   $0x401058,(%esi)
4174ca:	8b c6                	mov    %esi,%eax
4174cc:	5e                   	pop    %esi
4174cd:	c9                   	leave
4174ce:	c2 04 00             	ret    $0x4
4174d1:	8b ff                	mov    %edi,%edi
4174d3:	55                   	push   %ebp
4174d4:	8b ec                	mov    %esp,%ebp
4174d6:	51                   	push   %ecx
4174d7:	56                   	push   %esi
4174d8:	6a 01                	push   $0x1
4174da:	8d 45 fc             	lea    -0x4(%ebp),%eax
4174dd:	c7 45 fc 38 27 40 00 	movl   $0x402738,-0x4(%ebp)
4174e4:	50                   	push   %eax
4174e5:	8b f1                	mov    %ecx,%esi
4174e7:	e8 24 07 00 00       	call   0x417c10
4174ec:	c7 06 58 10 40 00    	movl   $0x401058,(%esi)
4174f2:	8b c6                	mov    %esi,%eax
4174f4:	5e                   	pop    %esi
4174f5:	c9                   	leave
4174f6:	c3                   	ret
4174f7:	cc                   	int3
4174f8:	cc                   	int3
4174f9:	cc                   	int3
4174fa:	cc                   	int3
4174fb:	cc                   	int3
4174fc:	cc                   	int3
4174fd:	cc                   	int3
4174fe:	cc                   	int3
4174ff:	cc                   	int3
417500:	8b ff                	mov    %edi,%edi
417502:	55                   	push   %ebp
417503:	8b ec                	mov    %esp,%ebp
417505:	51                   	push   %ecx
417506:	56                   	push   %esi
417507:	ff 75 08             	push   0x8(%ebp)
41750a:	8b f1                	mov    %ecx,%esi
41750c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41750f:	e8 0c 07 00 00       	call   0x417c20
417514:	c7 06 60 10 40 00    	movl   $0x401060,(%esi)
41751a:	8b c6                	mov    %esi,%eax
41751c:	5e                   	pop    %esi
41751d:	c9                   	leave
41751e:	c2 04 00             	ret    $0x4
417521:	8b ff                	mov    %edi,%edi
417523:	55                   	push   %ebp
417524:	8b ec                	mov    %esp,%ebp
417526:	51                   	push   %ecx
417527:	8b 45 08             	mov    0x8(%ebp),%eax
41752a:	56                   	push   %esi
41752b:	8b f1                	mov    %ecx,%esi
41752d:	89 75 fc             	mov    %esi,-0x4(%ebp)
417530:	89 45 fc             	mov    %eax,-0x4(%ebp)
417533:	8d 45 fc             	lea    -0x4(%ebp),%eax
417536:	50                   	push   %eax
417537:	e8 ce 06 00 00       	call   0x417c0a
41753c:	c7 06 60 10 40 00    	movl   $0x401060,(%esi)
417542:	8b c6                	mov    %esi,%eax
417544:	5e                   	pop    %esi
417545:	c9                   	leave
417546:	c2 04 00             	ret    $0x4
417549:	cc                   	int3
41754a:	cc                   	int3
41754b:	cc                   	int3
41754c:	cc                   	int3
41754d:	cc                   	int3
41754e:	cc                   	int3
41754f:	cc                   	int3
417550:	c7 01 58 10 40 00    	movl   $0x401058,(%ecx)
417556:	e9 cb 06 00 00       	jmp    0x417c26
41755b:	cc                   	int3
41755c:	cc                   	int3
41755d:	cc                   	int3
41755e:	cc                   	int3
41755f:	cc                   	int3
417560:	e9 c1 06 00 00       	jmp    0x417c26
417565:	8b ff                	mov    %edi,%edi
417567:	55                   	push   %ebp
417568:	8b ec                	mov    %esp,%ebp
41756a:	8b 55 08             	mov    0x8(%ebp),%edx
41756d:	8b 41 04             	mov    0x4(%ecx),%eax
417570:	3b 42 04             	cmp    0x4(%edx),%eax
417573:	75 0a                	jne    0x41757f
417575:	8b 01                	mov    (%ecx),%eax
417577:	3b 02                	cmp    (%edx),%eax
417579:	75 04                	jne    0x41757f
41757b:	b0 01                	mov    $0x1,%al
41757d:	eb 02                	jmp    0x417581
41757f:	32 c0                	xor    %al,%al
417581:	5d                   	pop    %ebp
417582:	c2 04 00             	ret    $0x4
417585:	cc                   	int3
417586:	cc                   	int3
417587:	cc                   	int3
417588:	cc                   	int3
417589:	cc                   	int3
41758a:	cc                   	int3
41758b:	cc                   	int3
41758c:	cc                   	int3
41758d:	cc                   	int3
41758e:	cc                   	int3
41758f:	cc                   	int3
417590:	8b ff                	mov    %edi,%edi
417592:	55                   	push   %ebp
417593:	8b ec                	mov    %esp,%ebp
417595:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
417599:	56                   	push   %esi
41759a:	8b f1                	mov    %ecx,%esi
41759c:	c7 06 68 10 40 00    	movl   $0x401068,(%esi)
4175a2:	74 07                	je     0x4175ab
4175a4:	56                   	push   %esi
4175a5:	e8 42 f8 ff ff       	call   0x416dec
4175aa:	59                   	pop    %ecx
4175ab:	8b c6                	mov    %esi,%eax
4175ad:	5e                   	pop    %esi
4175ae:	5d                   	pop    %ebp
4175af:	c2 04 00             	ret    $0x4
4175b2:	cc                   	int3
4175b3:	cc                   	int3
4175b4:	cc                   	int3
4175b5:	cc                   	int3
4175b6:	cc                   	int3
4175b7:	cc                   	int3
4175b8:	cc                   	int3
4175b9:	cc                   	int3
4175ba:	cc                   	int3
4175bb:	cc                   	int3
4175bc:	cc                   	int3
4175bd:	cc                   	int3
4175be:	cc                   	int3
4175bf:	cc                   	int3
4175c0:	8b ff                	mov    %edi,%edi
4175c2:	55                   	push   %ebp
4175c3:	8b ec                	mov    %esp,%ebp
4175c5:	56                   	push   %esi
4175c6:	8b f1                	mov    %ecx,%esi
4175c8:	c7 06 58 10 40 00    	movl   $0x401058,(%esi)
4175ce:	e8 53 06 00 00       	call   0x417c26
4175d3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4175d7:	74 07                	je     0x4175e0
4175d9:	56                   	push   %esi
4175da:	e8 0d f8 ff ff       	call   0x416dec
4175df:	59                   	pop    %ecx
4175e0:	8b c6                	mov    %esi,%eax
4175e2:	5e                   	pop    %esi
4175e3:	5d                   	pop    %ebp
4175e4:	c2 04 00             	ret    $0x4
4175e7:	cc                   	int3
4175e8:	cc                   	int3
4175e9:	cc                   	int3
4175ea:	cc                   	int3
4175eb:	cc                   	int3
4175ec:	cc                   	int3
4175ed:	cc                   	int3
4175ee:	cc                   	int3
4175ef:	cc                   	int3
4175f0:	8b ff                	mov    %edi,%edi
4175f2:	55                   	push   %ebp
4175f3:	8b ec                	mov    %esp,%ebp
4175f5:	56                   	push   %esi
4175f6:	8b f1                	mov    %ecx,%esi
4175f8:	e8 29 06 00 00       	call   0x417c26
4175fd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
417601:	74 07                	je     0x41760a
417603:	56                   	push   %esi
417604:	e8 e3 f7 ff ff       	call   0x416dec
417609:	59                   	pop    %ecx
41760a:	8b c6                	mov    %esi,%eax
41760c:	5e                   	pop    %esi
41760d:	5d                   	pop    %ebp
41760e:	c2 04 00             	ret    $0x4
417611:	6a 10                	push   $0x10
417613:	b8 45 80 41 00       	mov    $0x418045,%eax
417618:	e8 22 fc ff ff       	call   0x41723f
41761d:	8b f9                	mov    %ecx,%edi
41761f:	89 7d e8             	mov    %edi,-0x18(%ebp)
417622:	8b 75 08             	mov    0x8(%ebp),%esi
417625:	83 ce 0f             	or     $0xf,%esi
417628:	83 fe fe             	cmp    $0xfffffffe,%esi
41762b:	76 05                	jbe    0x417632
41762d:	8b 75 08             	mov    0x8(%ebp),%esi
417630:	eb 2a                	jmp    0x41765c
417632:	33 d2                	xor    %edx,%edx
417634:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
41763b:	8b c6                	mov    %esi,%eax
41763d:	8b 5f 14             	mov    0x14(%edi),%ebx
417640:	f7 75 ec             	divl   -0x14(%ebp)
417643:	8b cb                	mov    %ebx,%ecx
417645:	d1 e9                	shr    $1,%ecx
417647:	3b c8                	cmp    %eax,%ecx
417649:	76 11                	jbe    0x41765c
41764b:	6a fe                	push   $0xfffffffe
41764d:	58                   	pop    %eax
41764e:	2b c1                	sub    %ecx,%eax
417650:	3b d8                	cmp    %eax,%ebx
417652:	77 05                	ja     0x417659
417654:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
417657:	eb 03                	jmp    0x41765c
417659:	6a fe                	push   $0xfffffffe
41765b:	5e                   	pop    %esi
41765c:	33 db                	xor    %ebx,%ebx
41765e:	8d 46 01             	lea    0x1(%esi),%eax
417661:	53                   	push   %ebx
417662:	50                   	push   %eax
417663:	89 5d fc             	mov    %ebx,-0x4(%ebp)
417666:	e8 eb fd ff ff       	call   0x417456
41766b:	59                   	pop    %ecx
41766c:	59                   	pop    %ecx
41766d:	eb 2c                	jmp    0x41769b
41766f:	8b 45 08             	mov    0x8(%ebp),%eax
417672:	89 65 f0             	mov    %esp,-0x10(%ebp)
417675:	89 45 ec             	mov    %eax,-0x14(%ebp)
417678:	40                   	inc    %eax
417679:	6a 00                	push   $0x0
41767b:	50                   	push   %eax
41767c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
417680:	e8 d1 fd ff ff       	call   0x417456
417685:	59                   	pop    %ecx
417686:	89 45 e4             	mov    %eax,-0x1c(%ebp)
417689:	b8 90 76 41 00       	mov    $0x417690,%eax
41768e:	59                   	pop    %ecx
41768f:	c3                   	ret
417690:	8b 7d e8             	mov    -0x18(%ebp),%edi
417693:	33 db                	xor    %ebx,%ebx
417695:	8b 75 ec             	mov    -0x14(%ebp),%esi
417698:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41769b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41769e:	89 45 ec             	mov    %eax,-0x14(%ebp)
4176a1:	85 c9                	test   %ecx,%ecx
4176a3:	74 17                	je     0x4176bc
4176a5:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
4176a9:	72 04                	jb     0x4176af
4176ab:	8b 17                	mov    (%edi),%edx
4176ad:	eb 02                	jmp    0x4176b1
4176af:	8b d7                	mov    %edi,%edx
4176b1:	51                   	push   %ecx
4176b2:	52                   	push   %edx
4176b3:	50                   	push   %eax
4176b4:	e8 83 05 00 00       	call   0x417c3c
4176b9:	83 c4 0c             	add    $0xc,%esp
4176bc:	53                   	push   %ebx
4176bd:	6a 01                	push   $0x1
4176bf:	8b cf                	mov    %edi,%ecx
4176c1:	e8 d0 00 00 00       	call   0x417796
4176c6:	8b 45 ec             	mov    -0x14(%ebp),%eax
4176c9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4176cc:	89 07                	mov    %eax,(%edi)
4176ce:	89 77 14             	mov    %esi,0x14(%edi)
4176d1:	89 4f 10             	mov    %ecx,0x10(%edi)
4176d4:	83 fe 10             	cmp    $0x10,%esi
4176d7:	73 02                	jae    0x4176db
4176d9:	8b c7                	mov    %edi,%eax
4176db:	88 1c 08             	mov    %bl,(%eax,%ecx,1)
4176de:	e8 48 fb ff ff       	call   0x41722b
4176e3:	c2 08 00             	ret    $0x8
4176e6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4176e9:	33 db                	xor    %ebx,%ebx
4176eb:	53                   	push   %ebx
4176ec:	6a 01                	push   $0x1
4176ee:	e8 a3 00 00 00       	call   0x417796
4176f3:	53                   	push   %ebx
4176f4:	53                   	push   %ebx
4176f5:	e8 3c 05 00 00       	call   0x417c36
4176fa:	cc                   	int3
4176fb:	8b ff                	mov    %edi,%edi
4176fd:	55                   	push   %ebp
4176fe:	8b ec                	mov    %esp,%ebp
417700:	56                   	push   %esi
417701:	8b 75 08             	mov    0x8(%ebp),%esi
417704:	83 fe fe             	cmp    $0xfffffffe,%esi
417707:	77 4a                	ja     0x417753
417709:	39 71 14             	cmp    %esi,0x14(%ecx)
41770c:	73 0b                	jae    0x417719
41770e:	ff 71 10             	push   0x10(%ecx)
417711:	56                   	push   %esi
417712:	e8 fa fe ff ff       	call   0x417611
417717:	eb 30                	jmp    0x417749
417719:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41771d:	74 18                	je     0x417737
41771f:	83 fe 10             	cmp    $0x10,%esi
417722:	73 13                	jae    0x417737
417724:	8b 41 10             	mov    0x10(%ecx),%eax
417727:	3b f0                	cmp    %eax,%esi
417729:	73 02                	jae    0x41772d
41772b:	8b c6                	mov    %esi,%eax
41772d:	50                   	push   %eax
41772e:	6a 01                	push   $0x1
417730:	e8 61 00 00 00       	call   0x417796
417735:	eb 12                	jmp    0x417749
417737:	85 f6                	test   %esi,%esi
417739:	75 10                	jne    0x41774b
41773b:	21 71 10             	and    %esi,0x10(%ecx)
41773e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
417742:	72 02                	jb     0x417746
417744:	8b 09                	mov    (%ecx),%ecx
417746:	c6 01 00             	movb   $0x0,(%ecx)
417749:	85 f6                	test   %esi,%esi
41774b:	0f 95 c0             	setne  %al
41774e:	5e                   	pop    %esi
41774f:	5d                   	pop    %ebp
417750:	c2 08 00             	ret    $0x8
417753:	e8 a3 00 00 00       	call   0x4177fb
417758:	cc                   	int3
417759:	8b ff                	mov    %edi,%edi
41775b:	55                   	push   %ebp
41775c:	8b ec                	mov    %esp,%ebp
41775e:	8b 55 08             	mov    0x8(%ebp),%edx