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
4618bc:	51                   	push   %ecx
4618bd:	8b 45 08             	mov    0x8(%ebp),%eax
4618c0:	53                   	push   %ebx
4618c1:	8b 40 04             	mov    0x4(%eax),%eax
4618c4:	56                   	push   %esi
4618c5:	8b 30                	mov    (%eax),%esi
4618c7:	57                   	push   %edi
4618c8:	8b f9                	mov    %ecx,%edi
4618ca:	33 db                	xor    %ebx,%ebx
4618cc:	8b ce                	mov    %esi,%ecx
4618ce:	88 5d ff             	mov    %bl,-0x1(%ebp)
4618d1:	e8 96 7a fa ff       	call   0x40936c
4618d6:	8b 46 08             	mov    0x8(%esi),%eax
4618d9:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4618dc:	51                   	push   %ecx
4618dd:	8b 08                	mov    (%eax),%ecx
4618df:	8d 55 08             	lea    0x8(%ebp),%edx
4618e2:	e8 4b 4c fe ff       	call   0x446532
4618e7:	8b 75 0c             	mov    0xc(%ebp),%esi
4618ea:	59                   	pop    %ecx
4618eb:	8b ce                	mov    %esi,%ecx
4618ed:	84 c0                	test   %al,%al
4618ef:	75 1d                	jne    0x46190e
4618f1:	e8 2a 13 fb ff       	call   0x412c20
4618f6:	33 c0                	xor    %eax,%eax
4618f8:	40                   	inc    %eax
4618f9:	53                   	push   %ebx
4618fa:	89 46 0c             	mov    %eax,0xc(%esi)
4618fd:	89 1e                	mov    %ebx,(%esi)
4618ff:	50                   	push   %eax
461900:	8b 07                	mov    (%edi),%eax
461902:	8b 48 04             	mov    0x4(%eax),%ecx
461905:	03 cf                	add    %edi,%ecx
461907:	e8 40 b6 fe ff       	call   0x44cf4c
46190c:	eb 2e                	jmp    0x46193c
46190e:	e8 0d 13 fb ff       	call   0x412c20
461913:	38 5d ff             	cmp    %bl,-0x1(%ebp)
461916:	74 1b                	je     0x461933
461918:	8b 45 08             	mov    0x8(%ebp),%eax
46191b:	db 45 08             	fildl  0x8(%ebp)
46191e:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
461925:	85 c0                	test   %eax,%eax
461927:	79 06                	jns    0x46192f
461929:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
46192f:	dd 1e                	fstpl  (%esi)
461931:	eb 09                	jmp    0x46193c
461933:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46193a:	89 1e                	mov    %ebx,(%esi)
46193c:	5f                   	pop    %edi
46193d:	5e                   	pop    %esi
46193e:	33 c0                	xor    %eax,%eax
461940:	5b                   	pop    %ebx
461941:	c9                   	leave
461942:	c2 08 00             	ret    $0x8
461945:	55                   	push   %ebp
461946:	8b ec                	mov    %esp,%ebp
461948:	83 ec 38             	sub    $0x38,%esp
46194b:	53                   	push   %ebx
46194c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46194f:	56                   	push   %esi
461950:	8b 75 08             	mov    0x8(%ebp),%esi
461953:	57                   	push   %edi
461954:	8b 46 08             	mov    0x8(%esi),%eax
461957:	8b f9                	mov    %ecx,%edi
461959:	8b cb                	mov    %ebx,%ecx
46195b:	89 45 fc             	mov    %eax,-0x4(%ebp)
46195e:	e8 bd 12 fb ff       	call   0x412c20
461963:	83 23 00             	andl   $0x0,(%ebx)
461966:	33 c0                	xor    %eax,%eax
461968:	33 c9                	xor    %ecx,%ecx
46196a:	41                   	inc    %ecx
46196b:	89 45 f8             	mov    %eax,-0x8(%ebp)
46196e:	8b 45 fc             	mov    -0x4(%ebp),%eax
461971:	89 4b 0c             	mov    %ecx,0xc(%ebx)
461974:	3b c1                	cmp    %ecx,%eax
461976:	76 11                	jbe    0x461989
461978:	8b 46 04             	mov    0x4(%esi),%eax
46197b:	8b 48 04             	mov    0x4(%eax),%ecx
46197e:	e8 03 b9 fa ff       	call   0x40d286
461983:	89 45 f8             	mov    %eax,-0x8(%ebp)
461986:	8b 45 fc             	mov    -0x4(%ebp),%eax
461989:	85 c0                	test   %eax,%eax
46198b:	74 57                	je     0x4619e4
46198d:	8b 4e 04             	mov    0x4(%esi),%ecx
461990:	8b 09                	mov    (%ecx),%ecx
461992:	e8 ef b8 fa ff       	call   0x40d286
461997:	83 f8 ff             	cmp    $0xffffffff,%eax
46199a:	74 48                	je     0x4619e4
46199c:	8b 46 04             	mov    0x4(%esi),%eax
46199f:	8b 30                	mov    (%eax),%esi
4619a1:	8b ce                	mov    %esi,%ecx
4619a3:	e8 c4 79 fa ff       	call   0x40936c
4619a8:	8b 46 08             	mov    0x8(%esi),%eax
4619ab:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4619af:	74 33                	je     0x4619e4
4619b1:	8b 45 08             	mov    0x8(%ebp),%eax
4619b4:	8b 40 04             	mov    0x4(%eax),%eax
4619b7:	8b 30                	mov    (%eax),%esi
4619b9:	8b ce                	mov    %esi,%ecx
4619bb:	e8 ac 79 fa ff       	call   0x40936c
4619c0:	8b 4e 08             	mov    0x8(%esi),%ecx
4619c3:	8d 45 0b             	lea    0xb(%ebp),%eax
4619c6:	8b 09                	mov    (%ecx),%ecx
4619c8:	50                   	push   %eax
4619c9:	8d 55 fc             	lea    -0x4(%ebp),%edx
4619cc:	e8 61 4b fe ff       	call   0x446532
4619d1:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
4619d5:	59                   	pop    %ecx
4619d6:	75 07                	jne    0x4619df
4619d8:	6a 00                	push   $0x0
4619da:	e9 e9 01 00 00       	jmp    0x461bc8
4619df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4619e2:	eb 06                	jmp    0x4619ea
4619e4:	ff 15 f4 d2 48 00    	call   *0x48d2f4
4619ea:	50                   	push   %eax
4619eb:	33 f6                	xor    %esi,%esi
4619ed:	56                   	push   %esi
4619ee:	68 10 04 00 00       	push   $0x410
4619f3:	ff 15 b4 d1 48 00    	call   *0x48d1b4
4619f9:	8b c8                	mov    %eax,%ecx
4619fb:	89 4d 08             	mov    %ecx,0x8(%ebp)
4619fe:	85 c9                	test   %ecx,%ecx
461a00:	0f 84 c1 01 00 00    	je     0x461bc7
461a06:	83 f9 ff             	cmp    $0xffffffff,%ecx
461a09:	0f 84 b8 01 00 00    	je     0x461bc7
461a0f:	8b 45 f8             	mov    -0x8(%ebp),%eax
461a12:	2b c6                	sub    %esi,%eax
461a14:	0f 84 28 01 00 00    	je     0x461b42
461a1a:	48                   	dec    %eax
461a1b:	0f 85 32 01 00 00    	jne    0x461b53
461a21:	8d 45 c8             	lea    -0x38(%ebp),%eax
461a24:	50                   	push   %eax
461a25:	51                   	push   %ecx
461a26:	ff 15 f8 d2 48 00    	call   *0x48d2f8
461a2c:	85 c0                	test   %eax,%eax
461a2e:	0f 84 1f 01 00 00    	je     0x461b53
461a34:	6a 06                	push   $0x6
461a36:	6a 01                	push   $0x1
461a38:	53                   	push   %ebx
461a39:	e8 12 a6 fb ff       	call   0x41c050
461a3e:	56                   	push   %esi
461a3f:	6a 01                	push   $0x1
461a41:	56                   	push   %esi
461a42:	53                   	push   %ebx
461a43:	e8 48 01 fb ff       	call   0x411b90
461a48:	8b 75 c8             	mov    -0x38(%ebp),%esi
461a4b:	8b 7d cc             	mov    -0x34(%ebp),%edi
461a4e:	8b d8                	mov    %eax,%ebx
461a50:	83 c4 1c             	add    $0x1c,%esp
461a53:	8b cb                	mov    %ebx,%ecx
461a55:	e8 c6 11 fb ff       	call   0x412c20
461a5a:	6a 01                	push   $0x1
461a5c:	6a 01                	push   $0x1
461a5e:	6a 00                	push   $0x0
461a60:	ff 75 0c             	push   0xc(%ebp)
461a63:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
461a6a:	89 33                	mov    %esi,(%ebx)
461a6c:	89 7b 04             	mov    %edi,0x4(%ebx)
461a6f:	e8 1c 01 fb ff       	call   0x411b90
461a74:	8b 75 d0             	mov    -0x30(%ebp),%esi
461a77:	8b 7d d4             	mov    -0x2c(%ebp),%edi
461a7a:	8b d8                	mov    %eax,%ebx
461a7c:	83 c4 10             	add    $0x10,%esp
461a7f:	8b cb                	mov    %ebx,%ecx
461a81:	e8 9a 11 fb ff       	call   0x412c20
461a86:	6a 02                	push   $0x2
461a88:	58                   	pop    %eax
461a89:	50                   	push   %eax
461a8a:	6a 01                	push   $0x1
461a8c:	6a 00                	push   $0x0
461a8e:	ff 75 0c             	push   0xc(%ebp)
461a91:	89 43 0c             	mov    %eax,0xc(%ebx)
461a94:	89 33                	mov    %esi,(%ebx)
461a96:	89 7b 04             	mov    %edi,0x4(%ebx)
461a99:	e8 f2 00 fb ff       	call   0x411b90