46342c:	ff 31                	push   (%ecx)
46342e:	ff 74 24 24          	push   0x24(%esp)
463432:	ff 15 28 d0 48 00    	call   *0x48d028
463438:	85 c0                	test   %eax,%eax
46343a:	0f 85 83 01 00 00    	jne    0x4635c3
463440:	8b 44 24 0c          	mov    0xc(%esp),%eax
463444:	d1 e8                	shr    $1,%eax
463446:	33 c9                	xor    %ecx,%ecx
463448:	89 44 24 0c          	mov    %eax,0xc(%esp)
46344c:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
463450:	8b 44 24 0c          	mov    0xc(%esp),%eax
463454:	83 f8 01             	cmp    $0x1,%eax
463457:	0f 86 5c 01 00 00    	jbe    0x4635b9
46345d:	33 d2                	xor    %edx,%edx
46345f:	66 39 54 46 fe       	cmp    %dx,-0x2(%esi,%eax,2)
463464:	75 05                	jne    0x46346b
463466:	48                   	dec    %eax
463467:	89 44 24 0c          	mov    %eax,0xc(%esp)
46346b:	6a 0a                	push   $0xa
46346d:	5b                   	pop    %ebx
46346e:	85 c0                	test   %eax,%eax
463470:	74 13                	je     0x463485
463472:	66 39 14 4e          	cmp    %dx,(%esi,%ecx,2)
463476:	75 08                	jne    0x463480
463478:	66 89 1c 4e          	mov    %bx,(%esi,%ecx,2)
46347c:	8b 44 24 0c          	mov    0xc(%esp),%eax
463480:	41                   	inc    %ecx
463481:	3b c8                	cmp    %eax,%ecx
463483:	72 ed                	jb     0x463472
463485:	66 39 5c 4e fe       	cmp    %bx,-0x2(%esi,%ecx,2)
46348a:	0f 85 29 01 00 00    	jne    0x4635b9
463490:	33 c0                	xor    %eax,%eax
463492:	66 89 44 4e fe       	mov    %ax,-0x2(%esi,%ecx,2)
463497:	e9 1d 01 00 00       	jmp    0x4635b9
46349c:	8b 45 08             	mov    0x8(%ebp),%eax
46349f:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4634a3:	8b 40 04             	mov    0x4(%eax),%eax
4634a6:	8b 70 04             	mov    0x4(%eax),%esi
4634a9:	8b ce                	mov    %esi,%ecx
4634ab:	e8 bc 5e fa ff       	call   0x40936c
4634b0:	8d 44 24 0c          	lea    0xc(%esp),%eax
4634b4:	50                   	push   %eax
4634b5:	8d 44 24 24          	lea    0x24(%esp),%eax
4634b9:	50                   	push   %eax
4634ba:	8b 46 08             	mov    0x8(%esi),%eax
4634bd:	33 db                	xor    %ebx,%ebx
4634bf:	53                   	push   %ebx
4634c0:	53                   	push   %ebx
4634c1:	ff 30                	push   (%eax)
4634c3:	ff 74 24 24          	push   0x24(%esp)
4634c7:	ff 15 28 d0 48 00    	call   *0x48d028
4634cd:	8b 74 24 20          	mov    0x20(%esp),%esi
4634d1:	8b cf                	mov    %edi,%ecx
4634d3:	e8 48 f7 fa ff       	call   0x412c20
4634d8:	6a 02                	push   $0x2
4634da:	58                   	pop    %eax
4634db:	89 47 0c             	mov    %eax,0xc(%edi)
4634de:	89 37                	mov    %esi,(%edi)
4634e0:	89 5f 04             	mov    %ebx,0x4(%edi)
4634e3:	e9 12 01 00 00       	jmp    0x4635fa
4634e8:	ff 74 24 0c          	push   0xc(%esp)
4634ec:	8b cf                	mov    %edi,%ecx
4634ee:	e8 f0 6e fe ff       	call   0x44a3e3
4634f3:	8b f8                	mov    %eax,%edi
4634f5:	8b 45 08             	mov    0x8(%ebp),%eax
4634f8:	8b 48 04             	mov    0x4(%eax),%ecx
4634fb:	8b 71 04             	mov    0x4(%ecx),%esi
4634fe:	8b ce                	mov    %esi,%ecx
463500:	e8 67 5e fa ff       	call   0x40936c
463505:	8b 4e 08             	mov    0x8(%esi),%ecx
463508:	8d 44 24 0c          	lea    0xc(%esp),%eax
46350c:	50                   	push   %eax
46350d:	57                   	push   %edi
46350e:	33 f6                	xor    %esi,%esi
463510:	56                   	push   %esi
463511:	56                   	push   %esi
463512:	ff 31                	push   (%ecx)
463514:	ff 74 24 24          	push   0x24(%esp)
463518:	ff 15 28 d0 48 00    	call   *0x48d028
46351e:	85 c0                	test   %eax,%eax
463520:	0f 84 d4 00 00 00    	je     0x4635fa
463526:	56                   	push   %esi
463527:	50                   	push   %eax
463528:	8b 03                	mov    (%ebx),%eax
46352a:	8b 48 04             	mov    0x4(%eax),%ecx
46352d:	03 cb                	add    %ebx,%ecx
46352f:	e8 ed fd f9 ff       	call   0x403321
463534:	8b 03                	mov    (%ebx),%eax
463536:	56                   	push   %esi
463537:	8b 48 04             	mov    0x4(%eax),%ecx
46353a:	6a fe                	push   $0xfffffffe
46353c:	03 cb                	add    %ebx,%ecx
46353e:	e8 09 9a fe ff       	call   0x44cf4c
463543:	8b 5d 0c             	mov    0xc(%ebp),%ebx
463546:	8b cb                	mov    %ebx,%ecx
463548:	e8 d3 f6 fa ff       	call   0x412c20
46354d:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
463554:	89 33                	mov    %esi,(%ebx)
463556:	e9 9f 00 00 00       	jmp    0x4635fa
46355b:	8b 44 24 0c          	mov    0xc(%esp),%eax
46355f:	d1 e8                	shr    $1,%eax
463561:	33 c9                	xor    %ecx,%ecx
463563:	40                   	inc    %eax
463564:	f7 e2                	mul    %edx
463566:	0f 90 c1             	seto   %cl
463569:	f7 d9                	neg    %ecx
46356b:	0b c8                	or     %eax,%ecx
46356d:	51                   	push   %ecx
46356e:	e8 77 bf fb ff       	call   0x41f4ea
463573:	89 44 24 24          	mov    %eax,0x24(%esp)
463577:	8b 45 08             	mov    0x8(%ebp),%eax
46357a:	59                   	pop    %ecx
46357b:	8b 48 04             	mov    0x4(%eax),%ecx
46357e:	8b 71 04             	mov    0x4(%ecx),%esi
463581:	8b ce                	mov    %esi,%ecx
463583:	e8 e4 5d fa ff       	call   0x40936c
463588:	8b 4e 08             	mov    0x8(%esi),%ecx
46358b:	8b 74 24 20          	mov    0x20(%esp),%esi
46358f:	8d 44 24 0c          	lea    0xc(%esp),%eax
463593:	50                   	push   %eax
463594:	56                   	push   %esi
463595:	33 c0                	xor    %eax,%eax
463597:	50                   	push   %eax
463598:	50                   	push   %eax
463599:	ff 31                	push   (%ecx)
46359b:	ff 74 24 24          	push   0x24(%esp)
46359f:	ff 15 28 d0 48 00    	call   *0x48d028
4635a5:	85 c0                	test   %eax,%eax
4635a7:	75 1a                	jne    0x4635c3
4635a9:	8b 44 24 0c          	mov    0xc(%esp),%eax
4635ad:	d1 e8                	shr    $1,%eax
4635af:	33 c9                	xor    %ecx,%ecx
4635b1:	89 44 24 0c          	mov    %eax,0xc(%esp)
4635b5:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
4635b9:	56                   	push   %esi
4635ba:	8b cf                	mov    %edi,%ecx
4635bc:	e8 f8 97 fa ff       	call   0x40cdb9
4635c1:	eb 1f                	jmp    0x4635e2
4635c3:	33 ff                	xor    %edi,%edi
4635c5:	57                   	push   %edi
4635c6:	50                   	push   %eax
4635c7:	8b 03                	mov    (%ebx),%eax
4635c9:	8b 48 04             	mov    0x4(%eax),%ecx
4635cc:	03 cb                	add    %ebx,%ecx
4635ce:	e8 4e fd f9 ff       	call   0x403321
4635d3:	8b 03                	mov    (%ebx),%eax
4635d5:	57                   	push   %edi
4635d6:	8b 48 04             	mov    0x4(%eax),%ecx
4635d9:	6a fe                	push   $0xfffffffe
4635db:	03 cb                	add    %ebx,%ecx
4635dd:	e8 6a 99 fe ff       	call   0x44cf4c
4635e2:	56                   	push   %esi
4635e3:	e8 76 bf fb ff       	call   0x41f55e
4635e8:	59                   	pop    %ecx
4635e9:	eb 0f                	jmp    0x4635fa
4635eb:	56                   	push   %esi
4635ec:	6a fe                	push   $0xfffffffe
4635ee:	8b 03                	mov    (%ebx),%eax
4635f0:	8b 48 04             	mov    0x4(%eax),%ecx
4635f3:	03 cb                	add    %ebx,%ecx
4635f5:	e8 52 99 fe ff       	call   0x44cf4c
4635fa:	ff 74 24 10          	push   0x10(%esp)
4635fe:	8b 35 24 d0 48 00    	mov    0x48d024,%esi
463604:	ff d6                	call   *%esi
463606:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
46360b:	74 06                	je     0x463613
46360d:	ff 74 24 14          	push   0x14(%esp)
463611:	ff d6                	call   *%esi
463613:	8d 4c 24 48          	lea    0x48(%esp),%ecx
463617:	e8 1b 95 fa ff       	call   0x40cb37
46361c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
463620:	e8 12 95 fa ff       	call   0x40cb37
463625:	8d 4c 24 38          	lea    0x38(%esp),%ecx
463629:	e8 09 95 fa ff       	call   0x40cb37
46362e:	5f                   	pop    %edi
46362f:	5e                   	pop    %esi
463630:	33 c0                	xor    %eax,%eax
463632:	5b                   	pop    %ebx
463633:	8b e5                	mov    %ebp,%esp
463635:	5d                   	pop    %ebp
463636:	c2 08 00             	ret    $0x8
463639:	55                   	push   %ebp
46363a:	8b ec                	mov    %esp,%ebp
46363c:	83 e4 f8             	and    $0xfffffff8,%esp
46363f:	83 ec 54             	sub    $0x54,%esp
463642:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
463647:	53                   	push   %ebx
463648:	56                   	push   %esi
463649:	8b d9                	mov    %ecx,%ebx
46364b:	57                   	push   %edi
46364c:	8d 4c 24 40          	lea    0x40(%esp),%ecx
463650:	89 5c 24 14          	mov    %ebx,0x14(%esp)
463654:	e8 9e a1 fa ff       	call   0x40d7f7
463659:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46365d:	e8 95 a1 fa ff       	call   0x40d7f7
463662:	8d 4c 24 50          	lea    0x50(%esp),%ecx
463666:	e8 8c a1 fa ff       	call   0x40d7f7
46366b:	8b 7d 08             	mov    0x8(%ebp),%edi
46366e:	8b 47 08             	mov    0x8(%edi),%eax
463671:	89 44 24 20          	mov    %eax,0x20(%esp)
463675:	83 f8 01             	cmp    $0x1,%eax
463678:	74 09                	je     0x463683
46367a:	83 f8 04             	cmp    $0x4,%eax
46367d:	0f 85 85 00 00 00    	jne    0x463708
463683:	8b 47 04             	mov    0x4(%edi),%eax
463686:	8b 30                	mov    (%eax),%esi
463688:	8b ce                	mov    %esi,%ecx
46368a:	e8 dd 5c fa ff       	call   0x40936c
46368f:	8b 56 08             	mov    0x8(%esi),%edx
463692:	83 ec 10             	sub    $0x10,%esp
463695:	8b 02                	mov    (%edx),%eax
463697:	8b cc                	mov    %esp,%ecx
463699:	89 01                	mov    %eax,(%ecx)
46369b:	8b 42 04             	mov    0x4(%edx),%eax
46369e:	89 41 04             	mov    %eax,0x4(%ecx)
4636a1:	8b 42 08             	mov    0x8(%edx),%eax
4636a4:	89 41 08             	mov    %eax,0x8(%ecx)
4636a7:	8b 42 0c             	mov    0xc(%edx),%eax
4636aa:	89 41 0c             	mov    %eax,0xc(%ecx)
4636ad:	ff 00                	incl   (%eax)
4636af:	8d 44 24 60          	lea    0x60(%esp),%eax
4636b3:	50                   	push   %eax
4636b4:	8d 44 24 44          	lea    0x44(%esp),%eax
4636b8:	50                   	push   %eax
4636b9:	8d 44 24 58          	lea    0x58(%esp),%eax
4636bd:	50                   	push   %eax
4636be:	e8 c7 07 00 00       	call   0x463e8a
4636c3:	8b 44 24 30          	mov    0x30(%esp),%eax
4636c7:	83 ec 10             	sub    $0x10,%esp
4636ca:	8b cc                	mov    %esp,%ecx
4636cc:	89 01                	mov    %eax,(%ecx)
4636ce:	8b 44 24 44          	mov    0x44(%esp),%eax
4636d2:	89 41 04             	mov    %eax,0x4(%ecx)
4636d5:	8b 44 24 48          	mov    0x48(%esp),%eax
4636d9:	89 41 08             	mov    %eax,0x8(%ecx)
4636dc:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4636e0:	89 41 0c             	mov    %eax,0xc(%ecx)
4636e3:	ff 00                	incl   (%eax)
4636e5:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4636e9:	50                   	push   %eax
4636ea:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4636ee:	50                   	push   %eax
4636ef:	e8 12 05 00 00       	call   0x463c06
4636f4:	84 c0                	test   %al,%al
4636f6:	75 29                	jne    0x463721
4636f8:	8b 03                	mov    (%ebx),%eax
4636fa:	6a 00                	push   $0x0
4636fc:	8b 48 04             	mov    0x4(%eax),%ecx
4636ff:	6a 02                	push   $0x2
463701:	03 cb                	add    %ebx,%ecx
463703:	e8 44 98 fe ff       	call   0x44cf4c
463708:	8b 75 0c             	mov    0xc(%ebp),%esi
46370b:	8b ce                	mov    %esi,%ecx
46370d:	e8 0e f5 fa ff       	call   0x412c20
463712:	83 26 00             	andl   $0x0,(%esi)
463715:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46371c:	e9 82 04 00 00       	jmp    0x463ba3
463721:	83 7c 24 44 00       	cmpl   $0x0,0x44(%esp)
463726:	74 54                	je     0x46377c
463728:	8d 44 24 10          	lea    0x10(%esp),%eax
46372c:	50                   	push   %eax
46372d:	ff 74 24 1c          	push   0x1c(%esp)
463731:	ff 74 24 48          	push   0x48(%esp)
463735:	ff 15 2c d0 48 00    	call   *0x48d02c
46373b:	85 c0                	test   %eax,%eax
46373d:	74 37                	je     0x463776
46373f:	33 ff                	xor    %edi,%edi
463741:	57                   	push   %edi
463742:	50                   	push   %eax
463743:	8b 03                	mov    (%ebx),%eax
463745:	8b 48 04             	mov    0x4(%eax),%ecx
463748:	03 cb                	add    %ebx,%ecx
46374a:	e8 d2 fb f9 ff       	call   0x403321
46374f:	8b 03                	mov    (%ebx),%eax
463751:	57                   	push   %edi
463752:	8b 48 04             	mov    0x4(%eax),%ecx
463755:	6a 03                	push   $0x3
463757:	03 cb                	add    %ebx,%ecx
463759:	e8 ee 97 fe ff       	call   0x44cf4c
46375e:	8b 75 0c             	mov    0xc(%ebp),%esi
463761:	8b ce                	mov    %esi,%ecx
463763:	e8 b8 f4 fa ff       	call   0x412c20
463768:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46376f:	89 3e                	mov    %edi,(%esi)
463771:	e9 2d 04 00 00       	jmp    0x463ba3
463776:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46377a:	eb 04                	jmp    0x463780
46377c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
463780:	8d 44 24 2c          	lea    0x2c(%esp),%eax
463784:	50                   	push   %eax
463785:	8d 44 24 10          	lea    0x10(%esp),%eax
463789:	50                   	push   %eax
46378a:	8b 44 24 24          	mov    0x24(%esp),%eax
46378e:	33 f6                	xor    %esi,%esi
463790:	56                   	push   %esi
463791:	0d 06 00 02 00       	or     $0x20006,%eax
463796:	50                   	push   %eax
463797:	56                   	push   %esi
463798:	68 00 dc 49 00       	push   $0x49dc00
46379d:	56                   	push   %esi
46379e:	ff 74 24 6c          	push   0x6c(%esp)
4637a2:	51                   	push   %ecx
4637a3:	ff 15 18 d0 48 00    	call   *0x48d018
4637a9:	85 c0                	test   %eax,%eax
4637ab:	74 49                	je     0x4637f6
4637ad:	56                   	push   %esi
4637ae:	50                   	push   %eax
4637af:	8b 03                	mov    (%ebx),%eax
4637b1:	8b 48 04             	mov    0x4(%eax),%ecx
4637b4:	03 cb                	add    %ebx,%ecx
4637b6:	e8 66 fb f9 ff       	call   0x403321
4637bb:	8b 03                	mov    (%ebx),%eax
4637bd:	33 ff                	xor    %edi,%edi
4637bf:	8b 48 04             	mov    0x4(%eax),%ecx
4637c2:	56                   	push   %esi
4637c3:	47                   	inc    %edi
4637c4:	57                   	push   %edi
4637c5:	03 cb                	add    %ebx,%ecx
4637c7:	e8 80 97 fe ff       	call   0x44cf4c
4637cc:	8b 75 0c             	mov    0xc(%ebp),%esi
4637cf:	8b ce                	mov    %esi,%ecx
4637d1:	e8 4a f4 fa ff       	call   0x412c20
4637d6:	83 26 00             	andl   $0x0,(%esi)
4637d9:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
4637de:	89 7e 0c             	mov    %edi,0xc(%esi)
4637e1:	0f 84 bc 03 00 00    	je     0x463ba3
4637e7:	ff 74 24 10          	push   0x10(%esp)
4637eb:	ff 15 24 d0 48 00    	call   *0x48d024
4637f1:	e9 ad 03 00 00       	jmp    0x463ba3
4637f6:	83 7c 24 20 01       	cmpl   $0x1,0x20(%esp)
4637fb:	0f 86 89 03 00 00    	jbe    0x463b8a
463801:	8b 47 04             	mov    0x4(%edi),%eax
463804:	8b 70 08             	mov    0x8(%eax),%esi
463807:	8b ce                	mov    %esi,%ecx
463809:	e8 5e 5b fa ff       	call   0x40936c
46380e:	8b 46 08             	mov    0x8(%esi),%eax
463811:	68 14 46 4b 00       	push   $0x4b4614
463816:	ff 30                	push   (%eax)
463818:	e8 8a d7 fb ff       	call   0x420fa7
46381d:	59                   	pop    %ecx
46381e:	85 c0                	test   %eax,%eax
463820:	8b 47 04             	mov    0x4(%edi),%eax
463823:	59                   	pop    %ecx
463824:	75 7f                	jne    0x4638a5
463826:	8b 70 0c             	mov    0xc(%eax),%esi
463829:	8b ce                	mov    %esi,%ecx
46382b:	e8 3c 5b fa ff       	call   0x40936c
463830:	8b 46 08             	mov    0x8(%esi),%eax
463833:	ff 30                	push   (%eax)
463835:	e8 a1 d4 fb ff       	call   0x420cdb