476654:	cc                   	int3
476655:	cc                   	int3
476656:	cc                   	int3
476657:	cc                   	int3
476658:	cc                   	int3
476659:	cc                   	int3
47665a:	cc                   	int3
47665b:	cc                   	int3
47665c:	cc                   	int3
47665d:	cc                   	int3
47665e:	cc                   	int3
47665f:	cc                   	int3
476660:	8b c1                	mov    %ecx,%eax
476662:	c3                   	ret
476663:	cc                   	int3
476664:	cc                   	int3
476665:	cc                   	int3
476666:	cc                   	int3
476667:	cc                   	int3
476668:	cc                   	int3
476669:	cc                   	int3
47666a:	cc                   	int3
47666b:	cc                   	int3
47666c:	cc                   	int3
47666d:	cc                   	int3
47666e:	cc                   	int3
47666f:	cc                   	int3
476670:	8d 41 04             	lea    0x4(%ecx),%eax
476673:	c3                   	ret
476674:	cc                   	int3
476675:	cc                   	int3
476676:	cc                   	int3
476677:	cc                   	int3
476678:	cc                   	int3
476679:	cc                   	int3
47667a:	cc                   	int3
47667b:	cc                   	int3
47667c:	cc                   	int3
47667d:	cc                   	int3
47667e:	cc                   	int3
47667f:	cc                   	int3
476680:	c3                   	ret
476681:	cc                   	int3
476682:	cc                   	int3
476683:	cc                   	int3
476684:	cc                   	int3
476685:	cc                   	int3
476686:	cc                   	int3
476687:	cc                   	int3
476688:	cc                   	int3
476689:	cc                   	int3
47668a:	cc                   	int3
47668b:	cc                   	int3
47668c:	cc                   	int3
47668d:	cc                   	int3
47668e:	cc                   	int3
47668f:	cc                   	int3
476690:	c2 04 00             	ret    $0x4
476693:	cc                   	int3
476694:	cc                   	int3
476695:	cc                   	int3
476696:	cc                   	int3
476697:	cc                   	int3
476698:	cc                   	int3
476699:	cc                   	int3
47669a:	cc                   	int3
47669b:	cc                   	int3
47669c:	cc                   	int3
47669d:	cc                   	int3
47669e:	cc                   	int3
47669f:	cc                   	int3
4766a0:	56                   	push   %esi
4766a1:	57                   	push   %edi
4766a2:	8b f9                	mov    %ecx,%edi
4766a4:	8b 37                	mov    (%edi),%esi
4766a6:	85 f6                	test   %esi,%esi
4766a8:	74 3e                	je     0x4766e8
4766aa:	53                   	push   %ebx
4766ab:	8b 5f 04             	mov    0x4(%edi),%ebx
4766ae:	3b f3                	cmp    %ebx,%esi
4766b0:	74 0e                	je     0x4766c0
4766b2:	8b ce                	mov    %esi,%ecx
4766b4:	e8 8c 8b f9 ff       	call   0x40f245
4766b9:	83 ee 80             	sub    $0xffffff80,%esi
4766bc:	3b f3                	cmp    %ebx,%esi
4766be:	75 f2                	jne    0x4766b2
4766c0:	8b 0f                	mov    (%edi),%ecx
4766c2:	8b 47 08             	mov    0x8(%edi),%eax
4766c5:	2b c1                	sub    %ecx,%eax
4766c7:	c1 f8 07             	sar    $0x7,%eax
4766ca:	50                   	push   %eax
4766cb:	51                   	push   %ecx
4766cc:	8b cf                	mov    %edi,%ecx
4766ce:	e8 22 70 fb ff       	call   0x42d6f5
4766d3:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
4766d9:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
4766e0:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4766e7:	5b                   	pop    %ebx
4766e8:	5f                   	pop    %edi
4766e9:	5e                   	pop    %esi
4766ea:	c3                   	ret
4766eb:	cc                   	int3
4766ec:	cc                   	int3
4766ed:	cc                   	int3
4766ee:	cc                   	int3
4766ef:	cc                   	int3
4766f0:	cc                   	int3
4766f1:	cc                   	int3
4766f2:	cc                   	int3
4766f3:	cc                   	int3
4766f4:	cc                   	int3
4766f5:	cc                   	int3
4766f6:	cc                   	int3
4766f7:	cc                   	int3
4766f8:	cc                   	int3
4766f9:	cc                   	int3
4766fa:	cc                   	int3
4766fb:	cc                   	int3
4766fc:	cc                   	int3
4766fd:	cc                   	int3
4766fe:	cc                   	int3
4766ff:	cc                   	int3
476700:	8b 01                	mov    (%ecx),%eax
476702:	c3                   	ret
476703:	cc                   	int3
476704:	cc                   	int3
476705:	cc                   	int3
476706:	cc                   	int3
476707:	cc                   	int3
476708:	cc                   	int3
476709:	cc                   	int3
47670a:	cc                   	int3
47670b:	cc                   	int3
47670c:	cc                   	int3
47670d:	cc                   	int3
47670e:	cc                   	int3
47670f:	cc                   	int3
476710:	8b 44 24 04          	mov    0x4(%esp),%eax
476714:	8b 09                	mov    (%ecx),%ecx
476716:	89 08                	mov    %ecx,(%eax)
476718:	c2 04 00             	ret    $0x4
47671b:	cc                   	int3
47671c:	cc                   	int3
47671d:	cc                   	int3
47671e:	cc                   	int3
47671f:	cc                   	int3
476720:	8b 4c 24 08          	mov    0x8(%esp),%ecx
476724:	8b 44 24 04          	mov    0x4(%esp),%eax
476728:	81 f9 ff ff ff 01    	cmp    $0x1ffffff,%ecx
47672e:	77 2e                	ja     0x47675e
476730:	c1 e1 07             	shl    $0x7,%ecx
476733:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
476739:	72 19                	jb     0x476754
47673b:	a8 1f                	test   $0x1f,%al
47673d:	75 24                	jne    0x476763
47673f:	8b 48 fc             	mov    -0x4(%eax),%ecx
476742:	3b c8                	cmp    %eax,%ecx
476744:	73 22                	jae    0x476768
476746:	2b c1                	sub    %ecx,%eax
476748:	83 f8 04             	cmp    $0x4,%eax
47674b:	72 20                	jb     0x47676d
47674d:	83 f8 23             	cmp    $0x23,%eax
476750:	77 20                	ja     0x476772
476752:	8b c1                	mov    %ecx,%eax
476754:	50                   	push   %eax
476755:	e8 35 b0 f8 ff       	call   0x40178f
47675a:	59                   	pop    %ecx
47675b:	c2 08 00             	ret    $0x8
47675e:	e8 2a 72 fc ff       	call   0x43d98d
476763:	e8 25 72 fc ff       	call   0x43d98d
476768:	e8 20 72 fc ff       	call   0x43d98d
47676d:	e8 1b 72 fc ff       	call   0x43d98d
476772:	e8 16 72 fc ff       	call   0x43d98d
476777:	cc                   	int3
476778:	cc                   	int3
476779:	cc                   	int3
47677a:	cc                   	int3
47677b:	cc                   	int3
47677c:	cc                   	int3
47677d:	cc                   	int3
47677e:	cc                   	int3
47677f:	cc                   	int3
476780:	cc                   	int3
476781:	cc                   	int3
476782:	cc                   	int3
476783:	cc                   	int3
476784:	cc                   	int3
476785:	cc                   	int3
476786:	cc                   	int3
476787:	cc                   	int3
476788:	cc                   	int3
476789:	cc                   	int3
47678a:	cc                   	int3
47678b:	cc                   	int3
47678c:	cc                   	int3
47678d:	cc                   	int3
47678e:	cc                   	int3
47678f:	cc                   	int3
476790:	8b 4c 24 08          	mov    0x8(%esp),%ecx
476794:	8b 44 24 04          	mov    0x4(%esp),%eax
476798:	81 f9 ff ff ff 01    	cmp    $0x1ffffff,%ecx
47679e:	77 2e                	ja     0x4767ce
4767a0:	c1 e1 07             	shl    $0x7,%ecx
4767a3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4767a9:	72 19                	jb     0x4767c4
4767ab:	a8 1f                	test   $0x1f,%al
4767ad:	75 24                	jne    0x4767d3
4767af:	8b 48 fc             	mov    -0x4(%eax),%ecx
4767b2:	3b c8                	cmp    %eax,%ecx
4767b4:	73 22                	jae    0x4767d8
4767b6:	2b c1                	sub    %ecx,%eax
4767b8:	83 f8 04             	cmp    $0x4,%eax
4767bb:	72 20                	jb     0x4767dd
4767bd:	83 f8 23             	cmp    $0x23,%eax
4767c0:	77 20                	ja     0x4767e2
4767c2:	8b c1                	mov    %ecx,%eax
4767c4:	50                   	push   %eax
4767c5:	e8 c5 af f8 ff       	call   0x40178f
4767ca:	59                   	pop    %ecx
4767cb:	c2 08 00             	ret    $0x8
4767ce:	e8 ba 71 fc ff       	call   0x43d98d
4767d3:	e8 b5 71 fc ff       	call   0x43d98d
4767d8:	e8 b0 71 fc ff       	call   0x43d98d
4767dd:	e8 ab 71 fc ff       	call   0x43d98d
4767e2:	e8 a6 71 fc ff       	call   0x43d98d
4767e7:	cc                   	int3
4767e8:	cc                   	int3
4767e9:	cc                   	int3
4767ea:	cc                   	int3
4767eb:	cc                   	int3
4767ec:	cc                   	int3
4767ed:	cc                   	int3
4767ee:	cc                   	int3
4767ef:	cc                   	int3
4767f0:	cc                   	int3
4767f1:	cc                   	int3
4767f2:	cc                   	int3
4767f3:	cc                   	int3
4767f4:	cc                   	int3
4767f5:	cc                   	int3
4767f6:	cc                   	int3
4767f7:	cc                   	int3
4767f8:	cc                   	int3
4767f9:	cc                   	int3
4767fa:	cc                   	int3
4767fb:	cc                   	int3
4767fc:	cc                   	int3
4767fd:	cc                   	int3
4767fe:	cc                   	int3
4767ff:	cc                   	int3
476800:	8b 44 24 04          	mov    0x4(%esp),%eax
476804:	8b 49 04             	mov    0x4(%ecx),%ecx
476807:	89 08                	mov    %ecx,(%eax)
476809:	c2 04 00             	ret    $0x4
47680c:	cc                   	int3
47680d:	cc                   	int3
47680e:	cc                   	int3
47680f:	cc                   	int3
476810:	8b 44 24 04          	mov    0x4(%esp),%eax
476814:	c3                   	ret
476815:	cc                   	int3
476816:	cc                   	int3
476817:	cc                   	int3
476818:	cc                   	int3
476819:	cc                   	int3
47681a:	cc                   	int3
47681b:	cc                   	int3
47681c:	cc                   	int3
47681d:	cc                   	int3
47681e:	cc                   	int3
47681f:	cc                   	int3
476820:	56                   	push   %esi
476821:	8b 74 24 14          	mov    0x14(%esp),%esi
476825:	85 f6                	test   %esi,%esi
476827:	75 04                	jne    0x47682d
476829:	33 c0                	xor    %eax,%eax
47682b:	5e                   	pop    %esi
47682c:	c3                   	ret
47682d:	8b 44 24 08          	mov    0x8(%esp),%eax
476831:	85 c0                	test   %eax,%eax
476833:	75 17                	jne    0x47684c
476835:	e8 35 80 fc ff       	call   0x43e86f
47683a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
476840:	e8 b3 8a fa ff       	call   0x41f2f8
476845:	b8 16 00 00 00       	mov    $0x16,%eax
47684a:	5e                   	pop    %esi
47684b:	c3                   	ret
47684c:	53                   	push   %ebx
47684d:	8b 5c 24 14          	mov    0x14(%esp),%ebx
476851:	57                   	push   %edi
476852:	8b 7c 24 14          	mov    0x14(%esp),%edi
476856:	85 db                	test   %ebx,%ebx
476858:	74 15                	je     0x47686f
47685a:	3b fe                	cmp    %esi,%edi
47685c:	72 11                	jb     0x47686f
47685e:	56                   	push   %esi
47685f:	53                   	push   %ebx
476860:	50                   	push   %eax
476861:	e8 1c de f9 ff       	call   0x414682
476866:	83 c4 0c             	add    $0xc,%esp
476869:	33 c0                	xor    %eax,%eax
47686b:	5f                   	pop    %edi
47686c:	5b                   	pop    %ebx
47686d:	5e                   	pop    %esi
47686e:	c3                   	ret
47686f:	57                   	push   %edi
476870:	6a 00                	push   $0x0
476872:	50                   	push   %eax
476873:	e8 40 df f9 ff       	call   0x4147b8
476878:	83 c4 0c             	add    $0xc,%esp
47687b:	85 db                	test   %ebx,%ebx
47687d:	75 19                	jne    0x476898
47687f:	e8 eb 7f fc ff       	call   0x43e86f
476884:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47688a:	e8 69 8a fa ff       	call   0x41f2f8
47688f:	5f                   	pop    %edi
476890:	5b                   	pop    %ebx
476891:	b8 16 00 00 00       	mov    $0x16,%eax
476896:	5e                   	pop    %esi
476897:	c3                   	ret
476898:	3b fe                	cmp    %esi,%edi
47689a:	73 f3                	jae    0x47688f
47689c:	e8 ce 7f fc ff       	call   0x43e86f
4768a1:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4768a7:	e8 4c 8a fa ff       	call   0x41f2f8
4768ac:	5f                   	pop    %edi
4768ad:	5b                   	pop    %ebx
4768ae:	b8 22 00 00 00       	mov    $0x22,%eax
4768b3:	5e                   	pop    %esi
4768b4:	c3                   	ret
4768b5:	cc                   	int3
4768b6:	cc                   	int3
4768b7:	cc                   	int3
4768b8:	cc                   	int3
4768b9:	cc                   	int3
4768ba:	cc                   	int3
4768bb:	cc                   	int3
4768bc:	cc                   	int3
4768bd:	cc                   	int3
4768be:	cc                   	int3
4768bf:	cc                   	int3
4768c0:	cc                   	int3
4768c1:	cc                   	int3
4768c2:	cc                   	int3
4768c3:	cc                   	int3
4768c4:	cc                   	int3
4768c5:	cc                   	int3
4768c6:	cc                   	int3
4768c7:	cc                   	int3
4768c8:	cc                   	int3