4614eb:	8b 00                	mov    (%eax),%eax
4614ed:	83 78 0c 0c          	cmpl   $0xc,0xc(%eax)
4614f1:	75 04                	jne    0x4614f7
4614f3:	8b 08                	mov    (%eax),%ecx
4614f5:	eb 02                	jmp    0x4614f9
4614f7:	8b cf                	mov    %edi,%ecx
4614f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4614fc:	50                   	push   %eax
4614fd:	8d 45 f4             	lea    -0xc(%ebp),%eax
461500:	50                   	push   %eax
461501:	8d 45 e4             	lea    -0x1c(%ebp),%eax
461504:	50                   	push   %eax
461505:	e8 21 74 fe ff       	call   0x44892b
46150a:	8b 75 0c             	mov    0xc(%ebp),%esi
46150d:	89 45 08             	mov    %eax,0x8(%ebp)
461510:	8b ce                	mov    %esi,%ecx
461512:	85 c0                	test   %eax,%eax
461514:	75 1f                	jne    0x461535
461516:	e8 05 17 fb ff       	call   0x412c20
46151b:	8b 55 f8             	mov    -0x8(%ebp),%edx
46151e:	89 5e 0c             	mov    %ebx,0xc(%esi)
461521:	89 3e                	mov    %edi,(%esi)
461523:	8b 02                	mov    (%edx),%eax
461525:	57                   	push   %edi
461526:	8b 48 04             	mov    0x4(%eax),%ecx
461529:	ff 75 fc             	push   -0x4(%ebp)
46152c:	03 ca                	add    %edx,%ecx
46152e:	e8 19 ba fe ff       	call   0x44cf4c
461533:	eb 11                	jmp    0x461546
461535:	e8 e6 16 fb ff       	call   0x412c20
46153a:	8b 45 08             	mov    0x8(%ebp),%eax
46153d:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
461544:	89 06                	mov    %eax,(%esi)
461546:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
461549:	e8 d2 16 fb ff       	call   0x412c20
46154e:	eb 22                	jmp    0x461572
461550:	83 7f 0c 0c          	cmpl   $0xc,0xc(%edi)
461554:	75 04                	jne    0x46155a
461556:	8b 3f                	mov    (%edi),%edi
461558:	eb 02                	jmp    0x46155c
46155a:	33 ff                	xor    %edi,%edi
46155c:	8b 75 0c             	mov    0xc(%ebp),%esi
46155f:	8b 7f 08             	mov    0x8(%edi),%edi
461562:	8b ce                	mov    %esi,%ecx
461564:	e8 b7 16 fb ff       	call   0x412c20
461569:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
461570:	89 3e                	mov    %edi,(%esi)
461572:	5f                   	pop    %edi
461573:	5e                   	pop    %esi
461574:	33 c0                	xor    %eax,%eax
461576:	5b                   	pop    %ebx
461577:	c9                   	leave
461578:	c2 08 00             	ret    $0x8
46157b:	55                   	push   %ebp
46157c:	8b ec                	mov    %esp,%ebp
46157e:	8b 45 08             	mov    0x8(%ebp),%eax
461581:	56                   	push   %esi
461582:	8b 40 04             	mov    0x4(%eax),%eax
461585:	57                   	push   %edi
461586:	8b 30                	mov    (%eax),%esi
461588:	8b f9                	mov    %ecx,%edi
46158a:	6a 0c                	push   $0xc
46158c:	8b ce                	mov    %esi,%ecx
46158e:	e8 51 c0 fa ff       	call   0x40d5e4
461593:	84 c0                	test   %al,%al
461595:	75 24                	jne    0x4615bb
461597:	8b 75 0c             	mov    0xc(%ebp),%esi
46159a:	8b ce                	mov    %esi,%ecx
46159c:	e8 7f 16 fb ff       	call   0x412c20
4615a1:	83 26 00             	andl   $0x0,(%esi)
4615a4:	33 c0                	xor    %eax,%eax
4615a6:	40                   	inc    %eax
4615a7:	6a 00                	push   $0x0
4615a9:	89 46 0c             	mov    %eax,0xc(%esi)
4615ac:	50                   	push   %eax
4615ad:	8b 07                	mov    (%edi),%eax
4615af:	8b 48 04             	mov    0x4(%eax),%ecx
4615b2:	03 cf                	add    %edi,%ecx
4615b4:	e8 93 b9 fe ff       	call   0x44cf4c
4615b9:	eb 22                	jmp    0x4615dd
4615bb:	83 7e 0c 0c          	cmpl   $0xc,0xc(%esi)
4615bf:	75 04                	jne    0x4615c5
4615c1:	8b 3e                	mov    (%esi),%edi
4615c3:	eb 02                	jmp    0x4615c7
4615c5:	33 ff                	xor    %edi,%edi
4615c7:	8b 75 0c             	mov    0xc(%ebp),%esi
4615ca:	8b 7f 0c             	mov    0xc(%edi),%edi
4615cd:	8b ce                	mov    %esi,%ecx
4615cf:	e8 4c 16 fb ff       	call   0x412c20
4615d4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4615db:	89 3e                	mov    %edi,(%esi)
4615dd:	5f                   	pop    %edi
4615de:	33 c0                	xor    %eax,%eax
4615e0:	5e                   	pop    %esi
4615e1:	5d                   	pop    %ebp
4615e2:	c2 08 00             	ret    $0x8
4615e5:	55                   	push   %ebp
4615e6:	8b ec                	mov    %esp,%ebp
4615e8:	83 e4 f8             	and    $0xfffffff8,%esp
4615eb:	83 ec 14             	sub    $0x14,%esp
4615ee:	53                   	push   %ebx
4615ef:	8b 5d 08             	mov    0x8(%ebp),%ebx
4615f2:	56                   	push   %esi
4615f3:	8b 73 04             	mov    0x4(%ebx),%esi
4615f6:	57                   	push   %edi
4615f7:	8b f9                	mov    %ecx,%edi
4615f9:	8b 0e                	mov    (%esi),%ecx
4615fb:	6a 0c                	push   $0xc
4615fd:	e8 e2 bf fa ff       	call   0x40d5e4
461602:	84 c0                	test   %al,%al
461604:	75 27                	jne    0x46162d
461606:	8b 75 0c             	mov    0xc(%ebp),%esi
461609:	8b ce                	mov    %esi,%ecx
46160b:	e8 10 16 fb ff       	call   0x412c20
461610:	33 c0                	xor    %eax,%eax
461612:	40                   	inc    %eax
461613:	6a 00                	push   $0x0
461615:	89 46 0c             	mov    %eax,0xc(%esi)
461618:	50                   	push   %eax
461619:	83 26 00             	andl   $0x0,(%esi)
46161c:	8b 07                	mov    (%edi),%eax
46161e:	8b 48 04             	mov    0x4(%eax),%ecx
461621:	03 cf                	add    %edi,%ecx
461623:	e8 24 b9 fe ff       	call   0x44cf4c
461628:	e9 c5 00 00 00       	jmp    0x4616f2
46162d:	83 4c 24 0c ff       	orl    $0xffffffff,0xc(%esp)
461632:	83 7b 08 04          	cmpl   $0x4,0x8(%ebx)
461636:	72 36                	jb     0x46166e
461638:	8b 4e 0c             	mov    0xc(%esi),%ecx
46163b:	6a 29                	push   $0x29
46163d:	e8 aa 05 fa ff       	call   0x401bec
461642:	84 c0                	test   %al,%al
461644:	75 28                	jne    0x46166e
461646:	8b 4e 0c             	mov    0xc(%esi),%ecx
461649:	e8 38 bc fa ff       	call   0x40d286
46164e:	8b f0                	mov    %eax,%esi
461650:	4e                   	dec    %esi
461651:	89 74 24 0c          	mov    %esi,0xc(%esp)
461655:	79 17                	jns    0x46166e
461657:	8b 75 0c             	mov    0xc(%ebp),%esi
46165a:	8b ce                	mov    %esi,%ecx
46165c:	e8 bf 15 fb ff       	call   0x412c20
461661:	6a 00                	push   $0x0
461663:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46166a:	6a 05                	push   $0x5
46166c:	eb ab                	jmp    0x461619
46166e:	8b 43 04             	mov    0x4(%ebx),%eax
461671:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
461676:	ff 70 04             	push   0x4(%eax)
461679:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46167d:	e8 9e 00 fb ff       	call   0x411720
461682:	6a 04                	push   $0x4
461684:	8d 4c 24 14          	lea    0x14(%esp),%ecx
461688:	e8 57 bf fa ff       	call   0x40d5e4
46168d:	84 c0                	test   %al,%al
46168f:	75 21                	jne    0x4616b2
461691:	8d 4c 24 10          	lea    0x10(%esp),%ecx
461695:	e8 ec bb fa ff       	call   0x40d286
46169a:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46169e:	8d 70 ff             	lea    -0x1(%eax),%esi
4616a1:	e8 7a 15 fb ff       	call   0x412c20
4616a6:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
4616ad:	00
4616ae:	89 74 24 10          	mov    %esi,0x10(%esp)
4616b2:	8b 43 04             	mov    0x4(%ebx),%eax
4616b5:	8b 50 08             	mov    0x8(%eax),%edx
4616b8:	8b 00                	mov    (%eax),%eax
4616ba:	83 78 0c 0c          	cmpl   $0xc,0xc(%eax)
4616be:	75 04                	jne    0x4616c4
4616c0:	8b 08                	mov    (%eax),%ecx
4616c2:	eb 02                	jmp    0x4616c6
4616c4:	33 c9                	xor    %ecx,%ecx
4616c6:	ff 74 24 0c          	push   0xc(%esp)
4616ca:	8d 44 24 14          	lea    0x14(%esp),%eax
4616ce:	6a 01                	push   $0x1
4616d0:	ff 75 0c             	push   0xc(%ebp)
4616d3:	52                   	push   %edx
4616d4:	50                   	push   %eax
4616d5:	e8 39 73 fe ff       	call   0x448a13
4616da:	6a 00                	push   $0x0
4616dc:	50                   	push   %eax
4616dd:	8b 07                	mov    (%edi),%eax
4616df:	8b 48 04             	mov    0x4(%eax),%ecx
4616e2:	03 cf                	add    %edi,%ecx
4616e4:	e8 63 b8 fe ff       	call   0x44cf4c
4616e9:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4616ed:	e8 2e 15 fb ff       	call   0x412c20
4616f2:	5f                   	pop    %edi
4616f3:	5e                   	pop    %esi
4616f4:	33 c0                	xor    %eax,%eax
4616f6:	5b                   	pop    %ebx
4616f7:	8b e5                	mov    %ebp,%esp
4616f9:	5d                   	pop    %ebp
4616fa:	c2 08 00             	ret    $0x8
4616fd:	55                   	push   %ebp
4616fe:	8b ec                	mov    %esp,%ebp
461700:	8b 45 08             	mov    0x8(%ebp),%eax
461703:	6a 0c                	push   $0xc
461705:	8b 48 04             	mov    0x4(%eax),%ecx
461708:	8b 09                	mov    (%ecx),%ecx
46170a:	e8 d5 be fa ff       	call   0x40d5e4
46170f:	84 c0                	test   %al,%al
461711:	75 16                	jne    0x461729
461713:	56                   	push   %esi
461714:	8b 75 0c             	mov    0xc(%ebp),%esi
461717:	8b ce                	mov    %esi,%ecx
461719:	e8 02 15 fb ff       	call   0x412c20
46171e:	83 26 00             	andl   $0x0,(%esi)
461721:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
461728:	5e                   	pop    %esi
461729:	33 c0                	xor    %eax,%eax
46172b:	5d                   	pop    %ebp
46172c:	c2 08 00             	ret    $0x8
46172f:	55                   	push   %ebp
461730:	8b ec                	mov    %esp,%ebp
461732:	83 ec 14             	sub    $0x14,%esp
461735:	8b 45 08             	mov    0x8(%ebp),%eax
461738:	53                   	push   %ebx
461739:	8b 40 04             	mov    0x4(%eax),%eax
46173c:	56                   	push   %esi
46173d:	8b 30                	mov    (%eax),%esi
46173f:	57                   	push   %edi
461740:	8b f9                	mov    %ecx,%edi
461742:	33 db                	xor    %ebx,%ebx
461744:	8b ce                	mov    %esi,%ecx
461746:	88 5d ff             	mov    %bl,-0x1(%ebp)
461749:	e8 1e 7c fa ff       	call   0x40936c
46174e:	8b 46 08             	mov    0x8(%esi),%eax
461751:	8d 4d ff             	lea    -0x1(%ebp),%ecx
461754:	51                   	push   %ecx
461755:	8b 08                	mov    (%eax),%ecx
461757:	8d 55 08             	lea    0x8(%ebp),%edx
46175a:	e8 d3 4d fe ff       	call   0x446532
46175f:	59                   	pop    %ecx
461760:	84 c0                	test   %al,%al
461762:	75 27                	jne    0x46178b
461764:	8b 75 0c             	mov    0xc(%ebp),%esi
461767:	8b ce                	mov    %esi,%ecx
461769:	e8 b2 14 fb ff       	call   0x412c20
46176e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
461775:	89 1e                	mov    %ebx,(%esi)
461777:	8b 07                	mov    (%edi),%eax
461779:	53                   	push   %ebx
46177a:	8b 48 04             	mov    0x4(%eax),%ecx
46177d:	6a 04                	push   $0x4
46177f:	03 cf                	add    %edi,%ecx
461781:	e8 c6 b7 fe ff       	call   0x44cf4c
461786:	e9 25 01 00 00       	jmp    0x4618b0
46178b:	38 5d ff             	cmp    %bl,-0x1(%ebp)
46178e:	0f 84 09 01 00 00    	je     0x46189d
461794:	ff 75 08             	push   0x8(%ebp)
461797:	53                   	push   %ebx
461798:	6a 01                	push   $0x1
46179a:	ff 15 b4 d1 48 00    	call   *0x48d1b4
4617a0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4617a3:	8b f0                	mov    %eax,%esi
4617a5:	85 f6                	test   %esi,%esi
4617a7:	0f 85 a5 00 00 00    	jne    0x461852
4617ad:	ff 15 10 d3 48 00    	call   *0x48d310
4617b3:	83 f8 05             	cmp    $0x5,%eax
4617b6:	75 66                	jne    0x46181e
4617b8:	68 b8 44 4b 00       	push   $0x4b44b8
4617bd:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4617c0:	e8 fe 46 fe ff       	call   0x445ec3
4617c5:	51                   	push   %ecx
4617c6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4617c9:	e8 66 99 fd ff       	call   0x43b134
4617ce:	84 c0                	test   %al,%al
4617d0:	74 11                	je     0x4617e3
4617d2:	ff 75 08             	push   0x8(%ebp)
4617d5:	6a 00                	push   $0x0
4617d7:	6a 01                	push   $0x1
4617d9:	ff 15 b4 d1 48 00    	call   *0x48d1b4
4617df:	8b f0                	mov    %eax,%esi
4617e1:	eb 31                	jmp    0x461814
4617e3:	8b 07                	mov    (%edi),%eax
4617e5:	6a 00                	push   $0x0
4617e7:	8b 48 04             	mov    0x4(%eax),%ecx
4617ea:	6a 05                	push   $0x5
4617ec:	03 cf                	add    %edi,%ecx
4617ee:	e8 2e 1b fa ff       	call   0x403321
4617f3:	8b 07                	mov    (%edi),%eax
4617f5:	6a 00                	push   $0x0
4617f7:	8b 48 04             	mov    0x4(%eax),%ecx
4617fa:	6a 02                	push   $0x2
4617fc:	03 cf                	add    %edi,%ecx
4617fe:	e8 49 b7 fe ff       	call   0x44cf4c
461803:	8b cb                	mov    %ebx,%ecx
461805:	e8 16 14 fb ff       	call   0x412c20
46180a:	83 23 00             	andl   $0x0,(%ebx)
46180d:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
461814:	8d 4d ec             	lea    -0x14(%ebp),%ecx
461817:	e8 68 93 fd ff       	call   0x43ab84
46181c:	eb 30                	jmp    0x46184e
46181e:	6a 00                	push   $0x0
461820:	50                   	push   %eax
461821:	8b 07                	mov    (%edi),%eax
461823:	8b 48 04             	mov    0x4(%eax),%ecx
461826:	03 cf                	add    %edi,%ecx
461828:	e8 f4 1a fa ff       	call   0x403321
46182d:	8b 07                	mov    (%edi),%eax
46182f:	6a 00                	push   $0x0
461831:	8b 48 04             	mov    0x4(%eax),%ecx
461834:	6a 01                	push   $0x1
461836:	03 cf                	add    %edi,%ecx
461838:	e8 0f b7 fe ff       	call   0x44cf4c
46183d:	8b cb                	mov    %ebx,%ecx
46183f:	e8 dc 13 fb ff       	call   0x412c20
461844:	83 23 00             	andl   $0x0,(%ebx)
461847:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
46184e:	85 f6                	test   %esi,%esi
461850:	74 5e                	je     0x4618b0
461852:	6a 00                	push   $0x0
461854:	56                   	push   %esi
461855:	ff 15 d8 d1 48 00    	call   *0x48d1d8
46185b:	85 c0                	test   %eax,%eax
46185d:	75 35                	jne    0x461894
46185f:	50                   	push   %eax
461860:	ff 15 10 d3 48 00    	call   *0x48d310
461866:	50                   	push   %eax
461867:	8b 07                	mov    (%edi),%eax
461869:	8b 48 04             	mov    0x4(%eax),%ecx
46186c:	03 cf                	add    %edi,%ecx
46186e:	e8 ae 1a fa ff       	call   0x403321
461873:	8b 07                	mov    (%edi),%eax
461875:	6a 00                	push   $0x0
461877:	8b 48 04             	mov    0x4(%eax),%ecx
46187a:	6a 03                	push   $0x3
46187c:	03 cf                	add    %edi,%ecx
46187e:	e8 c9 b6 fe ff       	call   0x44cf4c
461883:	8b cb                	mov    %ebx,%ecx
461885:	e8 96 13 fb ff       	call   0x412c20
46188a:	83 23 00             	andl   $0x0,(%ebx)
46188d:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
461894:	56                   	push   %esi
461895:	ff 15 0c d3 48 00    	call   *0x48d30c
46189b:	eb 13                	jmp    0x4618b0
46189d:	8b 75 0c             	mov    0xc(%ebp),%esi
4618a0:	8b ce                	mov    %esi,%ecx
4618a2:	e8 79 13 fb ff       	call   0x412c20
4618a7:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4618ae:	89 1e                	mov    %ebx,(%esi)
4618b0:	5f                   	pop    %edi
4618b1:	5e                   	pop    %esi
4618b2:	33 c0                	xor    %eax,%eax
4618b4:	5b                   	pop    %ebx
4618b5:	c9                   	leave
4618b6:	c2 08 00             	ret    $0x8
4618b9:	55                   	push   %ebp
4618ba:	8b ec                	mov    %esp,%ebp