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
461a9e:	8b 75 d8             	mov    -0x28(%ebp),%esi
461aa1:	8b 7d dc             	mov    -0x24(%ebp),%edi
461aa4:	8b d8                	mov    %eax,%ebx
461aa6:	83 c4 10             	add    $0x10,%esp
461aa9:	8b cb                	mov    %ebx,%ecx
461aab:	e8 70 11 fb ff       	call   0x412c20
461ab0:	6a 03                	push   $0x3
461ab2:	6a 01                	push   $0x1
461ab4:	6a 00                	push   $0x0
461ab6:	ff 75 0c             	push   0xc(%ebp)
461ab9:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
461ac0:	89 33                	mov    %esi,(%ebx)
461ac2:	89 7b 04             	mov    %edi,0x4(%ebx)
461ac5:	e8 c6 00 fb ff       	call   0x411b90
461aca:	8b 75 e0             	mov    -0x20(%ebp),%esi
461acd:	8b 7d e4             	mov    -0x1c(%ebp),%edi
461ad0:	8b d8                	mov    %eax,%ebx
461ad2:	83 c4 10             	add    $0x10,%esp
461ad5:	8b cb                	mov    %ebx,%ecx
461ad7:	e8 44 11 fb ff       	call   0x412c20
461adc:	6a 04                	push   $0x4
461ade:	6a 01                	push   $0x1
461ae0:	6a 00                	push   $0x0
461ae2:	ff 75 0c             	push   0xc(%ebp)
461ae5:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
461aec:	89 33                	mov    %esi,(%ebx)
461aee:	89 7b 04             	mov    %edi,0x4(%ebx)
461af1:	e8 9a 00 fb ff       	call   0x411b90
461af6:	8b 75 e8             	mov    -0x18(%ebp),%esi
461af9:	8b 7d ec             	mov    -0x14(%ebp),%edi
461afc:	8b d8                	mov    %eax,%ebx
461afe:	83 c4 10             	add    $0x10,%esp
461b01:	8b cb                	mov    %ebx,%ecx
461b03:	e8 18 11 fb ff       	call   0x412c20
461b08:	6a 05                	push   $0x5
461b0a:	6a 01                	push   $0x1
461b0c:	6a 00                	push   $0x0
461b0e:	ff 75 0c             	push   0xc(%ebp)
461b11:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
461b18:	89 33                	mov    %esi,(%ebx)
461b1a:	89 7b 04             	mov    %edi,0x4(%ebx)
461b1d:	e8 6e 00 fb ff       	call   0x411b90
461b22:	8b 75 f0             	mov    -0x10(%ebp),%esi
461b25:	8b 7d f4             	mov    -0xc(%ebp),%edi
461b28:	8b d8                	mov    %eax,%ebx
461b2a:	83 c4 10             	add    $0x10,%esp
461b2d:	8b cb                	mov    %ebx,%ecx
461b2f:	e8 ec 10 fb ff       	call   0x412c20
461b34:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
461b3b:	89 33                	mov    %esi,(%ebx)
461b3d:	89 7b 04             	mov    %edi,0x4(%ebx)
461b40:	eb 7a                	jmp    0x461bbc
461b42:	6a 28                	push   $0x28
461b44:	8d 45 d0             	lea    -0x30(%ebp),%eax
461b47:	50                   	push   %eax
461b48:	51                   	push   %ecx
461b49:	ff 15 6c d4 48 00    	call   *0x48d46c
461b4f:	85 c0                	test   %eax,%eax
461b51:	75 11                	jne    0x461b64
461b53:	8b 07                	mov    (%edi),%eax
461b55:	56                   	push   %esi
461b56:	8b 48 04             	mov    0x4(%eax),%ecx
461b59:	6a 02                	push   $0x2
461b5b:	03 cf                	add    %edi,%ecx
461b5d:	e8 ea b3 fe ff       	call   0x44cf4c
461b62:	eb 58                	jmp    0x461bbc
461b64:	6a 02                	push   $0x2
461b66:	6a 01                	push   $0x1
461b68:	53                   	push   %ebx
461b69:	e8 e2 a4 fb ff       	call   0x41c050
461b6e:	56                   	push   %esi
461b6f:	6a 01                	push   $0x1
461b71:	56                   	push   %esi
461b72:	53                   	push   %ebx
461b73:	e8 18 00 fb ff       	call   0x411b90
461b78:	8b 75 dc             	mov    -0x24(%ebp),%esi
461b7b:	8b f8                	mov    %eax,%edi
461b7d:	83 c4 1c             	add    $0x1c,%esp
461b80:	8b cf                	mov    %edi,%ecx
461b82:	e8 99 10 fb ff       	call   0x412c20
461b87:	83 67 04 00          	andl   $0x0,0x4(%edi)
461b8b:	6a 01                	push   $0x1
461b8d:	6a 01                	push   $0x1
461b8f:	6a 00                	push   $0x0
461b91:	53                   	push   %ebx
461b92:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
461b99:	89 37                	mov    %esi,(%edi)
461b9b:	e8 f0 ff fa ff       	call   0x411b90
461ba0:	8b 75 d8             	mov    -0x28(%ebp),%esi
461ba3:	8b f8                	mov    %eax,%edi
461ba5:	83 c4 10             	add    $0x10,%esp
461ba8:	8b cf                	mov    %edi,%ecx
461baa:	e8 71 10 fb ff       	call   0x412c20
461baf:	83 67 04 00          	andl   $0x0,0x4(%edi)
461bb3:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
461bba:	89 37                	mov    %esi,(%edi)
461bbc:	ff 75 08             	push   0x8(%ebp)
461bbf:	ff 15 0c d3 48 00    	call   *0x48d30c
461bc5:	eb 0f                	jmp    0x461bd6
461bc7:	56                   	push   %esi
461bc8:	8b 07                	mov    (%edi),%eax
461bca:	6a 01                	push   $0x1
461bcc:	8b 48 04             	mov    0x4(%eax),%ecx
461bcf:	03 cf                	add    %edi,%ecx
461bd1:	e8 76 b3 fe ff       	call   0x44cf4c
461bd6:	5f                   	pop    %edi
461bd7:	5e                   	pop    %esi
461bd8:	33 c0                	xor    %eax,%eax
461bda:	5b                   	pop    %ebx
461bdb:	c9                   	leave
461bdc:	c2 08 00             	ret    $0x8
461bdf:	55                   	push   %ebp
461be0:	8b ec                	mov    %esp,%ebp
461be2:	83 e4 f8             	and    $0xfffffff8,%esp
461be5:	81 ec a4 08 00 00    	sub    $0x8a4,%esp
461beb:	53                   	push   %ebx
461bec:	56                   	push   %esi
461bed:	57                   	push   %edi
461bee:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
461bf2:	e8 00 bc fa ff       	call   0x40d7f7
461bf7:	33 f6                	xor    %esi,%esi
461bf9:	56                   	push   %esi
461bfa:	6a 02                	push   $0x2
461bfc:	c7 44 24 20 10 45 4b 	movl   $0x4b4510,0x20(%esp)
461c03:	00
461c04:	89 74 24 24          	mov    %esi,0x24(%esp)
461c08:	89 74 24 28          	mov    %esi,0x28(%esp)
461c0c:	89 74 24 2c          	mov    %esi,0x2c(%esp)
461c10:	c7 44 24 70 2c 02 00 	movl   $0x22c,0x70(%esp)
461c17:	00
461c18:	ff 15 dc d1 48 00    	call   *0x48d1dc
461c1e:	8b f8                	mov    %eax,%edi
461c20:	8d 44 24 68          	lea    0x68(%esp),%eax
461c24:	50                   	push   %eax
461c25:	57                   	push   %edi
461c26:	ff 15 e0 d1 48 00    	call   *0x48d1e0
461c2c:	8b 5d 08             	mov    0x8(%ebp),%ebx
461c2f:	8d 84 24 a0 04 00 00 	lea    0x4a0(%esp),%eax
461c36:	50                   	push   %eax
461c37:	8d 84 24 9c 02 00 00 	lea    0x29c(%esp),%eax
461c3e:	50                   	push   %eax
461c3f:	8d 84 24 b0 06 00 00 	lea    0x6b0(%esp),%eax
461c46:	50                   	push   %eax
461c47:	8d 44 24 58          	lea    0x58(%esp),%eax
461c4b:	50                   	push   %eax
461c4c:	8d 84 24 9c 00 00 00 	lea    0x9c(%esp),%eax
461c53:	50                   	push   %eax
461c54:	e8 a3 01 fc ff       	call   0x421dfc
461c59:	8d 84 24 b4 04 00 00 	lea    0x4b4(%esp),%eax
461c60:	50                   	push   %eax
461c61:	8d 84 24 b0 02 00 00 	lea    0x2b0(%esp),%eax
461c68:	50                   	push   %eax
461c69:	e8 86 f0 fb ff       	call   0x420cf4
461c6e:	83 c4 1c             	add    $0x1c,%esp
461c71:	39 73 08             	cmp    %esi,0x8(%ebx)
461c74:	74 24                	je     0x461c9a
461c76:	8b 43 04             	mov    0x4(%ebx),%eax
461c79:	8b 30                	mov    (%eax),%esi
461c7b:	8b ce                	mov    %esi,%ecx
461c7d:	e8 ea 76 fa ff       	call   0x40936c
461c82:	8b 46 08             	mov    0x8(%esi),%eax
461c85:	ff 30                	push   (%eax)
461c87:	8d 84 24 9c 02 00 00 	lea    0x29c(%esp),%eax
461c8e:	50                   	push   %eax
461c8f:	e8 13 f3 fb ff       	call   0x420fa7
461c94:	59                   	pop    %ecx
461c95:	59                   	pop    %ecx
461c96:	85 c0                	test   %eax,%eax
461c98:	75 3f                	jne    0x461cd9
461c9a:	8d 84 24 98 02 00 00 	lea    0x298(%esp),%eax
461ca1:	50                   	push   %eax
461ca2:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
461ca6:	e8 6e b1 fa ff       	call   0x40ce19
461cab:	8d 44 24 28          	lea    0x28(%esp),%eax
461caf:	50                   	push   %eax