46b85e:	8b ce                	mov    %esi,%ecx
46b860:	e8 bb e1 f9 ff       	call   0x409a20
46b865:	83 26 00             	andl   $0x0,(%esi)
46b868:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46b86f:	33 c0                	xor    %eax,%eax
46b871:	5e                   	pop    %esi
46b872:	5d                   	pop    %ebp
46b873:	c2 08 00             	ret    $0x8
46b876:	55                   	push   %ebp
46b877:	8b ec                	mov    %esp,%ebp
46b879:	8b 45 08             	mov    0x8(%ebp),%eax
46b87c:	56                   	push   %esi
46b87d:	6a ff                	push   $0xffffffff
46b87f:	8b f1                	mov    %ecx,%esi
46b881:	8b 40 04             	mov    0x4(%eax),%eax
46b884:	ff 30                	push   (%eax)
46b886:	8d 45 08             	lea    0x8(%ebp),%eax
46b889:	50                   	push   %eax
46b88a:	e8 50 3f 00 00       	call   0x46f7df
46b88f:	84 c0                	test   %al,%al
46b891:	75 16                	jne    0x46b8a9
46b893:	8b 75 0c             	mov    0xc(%ebp),%esi
46b896:	8b ce                	mov    %esi,%ecx
46b898:	e8 83 e1 f9 ff       	call   0x409a20
46b89d:	83 26 00             	andl   $0x0,(%esi)
46b8a0:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46b8a7:	eb 4e                	jmp    0x46b8f7
46b8a9:	8b 86 94 01 00 00    	mov    0x194(%esi),%eax
46b8af:	57                   	push   %edi
46b8b0:	8b 7d 08             	mov    0x8(%ebp),%edi
46b8b3:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46b8b6:	8b 00                	mov    (%eax),%eax
46b8b8:	83 38 00             	cmpl   $0x0,(%eax)
46b8bb:	75 0f                	jne    0x46b8cc
46b8bd:	8b 48 04             	mov    0x4(%eax),%ecx
46b8c0:	85 c9                	test   %ecx,%ecx
46b8c2:	74 11                	je     0x46b8d5
46b8c4:	51                   	push   %ecx
46b8c5:	e8 50 a1 f9 ff       	call   0x405a1a
46b8ca:	eb 09                	jmp    0x46b8d5
46b8cc:	ff 70 08             	push   0x8(%eax)
46b8cf:	ff 15 ec f3 48 00    	call   *0x48f3ec
46b8d5:	8b 86 94 01 00 00    	mov    0x194(%esi),%eax
46b8db:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46b8de:	8b 08                	mov    (%eax),%ecx
46b8e0:	85 c9                	test   %ecx,%ecx
46b8e2:	74 06                	je     0x46b8ea
46b8e4:	51                   	push   %ecx
46b8e5:	e8 4a e5 ff ff       	call   0x469e34
46b8ea:	8b 86 94 01 00 00    	mov    0x194(%esi),%eax
46b8f0:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46b8f3:	5f                   	pop    %edi
46b8f4:	83 20 00             	andl   $0x0,(%eax)
46b8f7:	33 c0                	xor    %eax,%eax
46b8f9:	5e                   	pop    %esi
46b8fa:	5d                   	pop    %ebp
46b8fb:	c2 08 00             	ret    $0x8
46b8fe:	55                   	push   %ebp
46b8ff:	8b ec                	mov    %esp,%ebp
46b901:	83 e4 f8             	and    $0xfffffff8,%esp
46b904:	83 ec 34             	sub    $0x34,%esp
46b907:	53                   	push   %ebx
46b908:	56                   	push   %esi
46b909:	57                   	push   %edi
46b90a:	8b 7d 08             	mov    0x8(%ebp),%edi
46b90d:	33 db                	xor    %ebx,%ebx
46b90f:	88 5c 24 0c          	mov    %bl,0xc(%esp)
46b913:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
46b917:	0f 82 ee 00 00 00    	jb     0x46ba0b
46b91d:	8b 47 04             	mov    0x4(%edi),%eax
46b920:	8b 48 08             	mov    0x8(%eax),%ecx
46b923:	e8 74 e3 f9 ff       	call   0x409c9c
46b928:	a8 01                	test   $0x1,%al
46b92a:	74 05                	je     0x46b931
46b92c:	c6 44 24 0c 01       	movb   $0x1,0xc(%esp)
46b931:	8b 47 04             	mov    0x4(%edi),%eax
46b934:	8b 48 08             	mov    0x8(%eax),%ecx
46b937:	e8 60 e3 f9 ff       	call   0x409c9c
46b93c:	a8 08                	test   $0x8,%al
46b93e:	0f 84 c7 00 00 00    	je     0x46ba0b
46b944:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46b948:	e8 7a be f9 ff       	call   0x4077c7
46b94d:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46b951:	e8 71 be f9 ff       	call   0x4077c7
46b956:	8b 47 04             	mov    0x4(%edi),%eax
46b959:	8b 70 04             	mov    0x4(%eax),%esi
46b95c:	8b ce                	mov    %esi,%ecx
46b95e:	e8 34 e0 f9 ff       	call   0x409997
46b963:	8b 4e 08             	mov    0x8(%esi),%ecx
46b966:	8d 44 24 20          	lea    0x20(%esp),%eax
46b96a:	53                   	push   %ebx
46b96b:	53                   	push   %ebx
46b96c:	50                   	push   %eax
46b96d:	8d 54 24 1c          	lea    0x1c(%esp),%edx
46b971:	e8 83 8d f9 ff       	call   0x4046f9
46b976:	83 c4 0c             	add    $0xc,%esp
46b979:	8d 44 24 20          	lea    0x20(%esp),%eax
46b97d:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46b981:	50                   	push   %eax
46b982:	e8 07 c3 f9 ff       	call   0x407c8e
46b987:	39 5c 24 14          	cmp    %ebx,0x14(%esp)
46b98b:	74 4c                	je     0x46b9d9
46b98d:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46b991:	e8 dd 84 ff ff       	call   0x463e73
46b996:	84 c0                	test   %al,%al
46b998:	75 3f                	jne    0x46b9d9
46b99a:	ff 74 24 10          	push   0x10(%esp)
46b99e:	8d 4c 24 34          	lea    0x34(%esp),%ecx
46b9a2:	e8 9a c5 f9 ff       	call   0x407f41
46b9a7:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46b9ab:	e8 b6 82 ff ff       	call   0x463c66
46b9b0:	8a d8                	mov    %al,%bl
46b9b2:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46b9b6:	f6 db                	neg    %bl
46b9b8:	1a db                	sbb    %bl,%bl
46b9ba:	e8 a5 a0 f9 ff       	call   0x405a64
46b9bf:	fe c3                	inc    %bl
46b9c1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b9c4:	74 16                	je     0x46b9dc
46b9c6:	8b cb                	mov    %ebx,%ecx
46b9c8:	e8 53 e0 f9 ff       	call   0x409a20
46b9cd:	83 23 00             	andl   $0x0,(%ebx)
46b9d0:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
46b9d7:	eb 03                	jmp    0x46b9dc
46b9d9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46b9dc:	8b cb                	mov    %ebx,%ecx
46b9de:	e8 b9 e2 f9 ff       	call   0x409c9c
46b9e3:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46b9e7:	85 c0                	test   %eax,%eax
46b9e9:	75 10                	jne    0x46b9fb
46b9eb:	e8 74 a0 f9 ff       	call   0x405a64
46b9f0:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46b9f4:	e8 6b a0 f9 ff       	call   0x405a64
46b9f9:	eb 59                	jmp    0x46ba54
46b9fb:	e8 64 a0 f9 ff       	call   0x405a64
46ba00:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46ba04:	e8 5b a0 f9 ff       	call   0x405a64
46ba09:	eb 03                	jmp    0x46ba0e
46ba0b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46ba0e:	8b 47 04             	mov    0x4(%edi),%eax
46ba11:	8b 70 04             	mov    0x4(%eax),%esi
46ba14:	8b ce                	mov    %esi,%ecx
46ba16:	e8 7c df f9 ff       	call   0x409997
46ba1b:	8b 45 08             	mov    0x8(%ebp),%eax
46ba1e:	8b 7e 08             	mov    0x8(%esi),%edi
46ba21:	8b 40 04             	mov    0x4(%eax),%eax
46ba24:	8b 30                	mov    (%eax),%esi
46ba26:	8b ce                	mov    %esi,%ecx
46ba28:	e8 6a df f9 ff       	call   0x409997
46ba2d:	8b 4e 08             	mov    0x8(%esi),%ecx
46ba30:	8b d7                	mov    %edi,%edx
46ba32:	6a 00                	push   $0x0
46ba34:	ff 74 24 10          	push   0x10(%esp)
46ba38:	e8 ee 7f ff ff       	call   0x463a2b
46ba3d:	59                   	pop    %ecx
46ba3e:	59                   	pop    %ecx
46ba3f:	84 c0                	test   %al,%al
46ba41:	75 11                	jne    0x46ba54
46ba43:	8b cb                	mov    %ebx,%ecx
46ba45:	e8 d6 df f9 ff       	call   0x409a20
46ba4a:	83 23 00             	andl   $0x0,(%ebx)
46ba4d:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
46ba54:	5f                   	pop    %edi
46ba55:	5e                   	pop    %esi
46ba56:	33 c0                	xor    %eax,%eax
46ba58:	5b                   	pop    %ebx
46ba59:	8b e5                	mov    %ebp,%esp
46ba5b:	5d                   	pop    %ebp
46ba5c:	c2 08 00             	ret    $0x8
46ba5f:	55                   	push   %ebp
46ba60:	8b ec                	mov    %esp,%ebp
46ba62:	51                   	push   %ecx
46ba63:	53                   	push   %ebx
46ba64:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ba67:	56                   	push   %esi
46ba68:	57                   	push   %edi
46ba69:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46ba6d:	83 7b 08 02          	cmpl   $0x2,0x8(%ebx)
46ba71:	76 13                	jbe    0x46ba86
46ba73:	8b 43 04             	mov    0x4(%ebx),%eax
46ba76:	8b 48 08             	mov    0x8(%eax),%ecx
46ba79:	e8 1e e2 f9 ff       	call   0x409c9c
46ba7e:	83 f8 01             	cmp    $0x1,%eax
46ba81:	75 03                	jne    0x46ba86
46ba83:	88 45 fc             	mov    %al,-0x4(%ebp)
46ba86:	8b 43 04             	mov    0x4(%ebx),%eax
46ba89:	8b 30                	mov    (%eax),%esi
46ba8b:	8b ce                	mov    %esi,%ecx
46ba8d:	e8 05 df f9 ff       	call   0x409997
46ba92:	8b 46 08             	mov    0x8(%esi),%eax
46ba95:	8b 08                	mov    (%eax),%ecx
46ba97:	e8 37 92 ff ff       	call   0x464cd3
46ba9c:	84 c0                	test   %al,%al
46ba9e:	8b 43 04             	mov    0x4(%ebx),%eax
46baa1:	74 43                	je     0x46bae6
46baa3:	8b 70 04             	mov    0x4(%eax),%esi
46baa6:	8b ce                	mov    %esi,%ecx
46baa8:	e8 ea de f9 ff       	call   0x409997
46baad:	8b 46 08             	mov    0x8(%esi),%eax
46bab0:	8b 38                	mov    (%eax),%edi
46bab2:	8b 43 04             	mov    0x4(%ebx),%eax
46bab5:	8b 30                	mov    (%eax),%esi
46bab7:	8b ce                	mov    %esi,%ecx
46bab9:	e8 d9 de f9 ff       	call   0x409997
46babe:	ff 75 fc             	push   -0x4(%ebp)
46bac1:	8b 46 08             	mov    0x8(%esi),%eax
46bac4:	57                   	push   %edi
46bac5:	ff 30                	push   (%eax)
46bac7:	e8 8e e9 ff ff       	call   0x46a45a
46bacc:	8b 75 0c             	mov    0xc(%ebp),%esi
46bacf:	8b f8                	mov    %eax,%edi
46bad1:	8b ce                	mov    %esi,%ecx
46bad3:	e8 48 df f9 ff       	call   0x409a20
46bad8:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46badf:	89 3e                	mov    %edi,(%esi)
46bae1:	e9 b5 00 00 00       	jmp    0x46bb9b
46bae6:	8b 30                	mov    (%eax),%esi
46bae8:	8b ce                	mov    %esi,%ecx
46baea:	e8 a8 de f9 ff       	call   0x409997
46baef:	8b 46 08             	mov    0x8(%esi),%eax
46baf2:	8b 38                	mov    (%eax),%edi
46baf4:	8b 43 04             	mov    0x4(%ebx),%eax
46baf7:	8b 70 04             	mov    0x4(%eax),%esi
46bafa:	8b ce                	mov    %esi,%ecx
46bafc:	e8 96 de f9 ff       	call   0x409997
46bb01:	8b 46 08             	mov    0x8(%esi),%eax
46bb04:	6a 00                	push   $0x0
46bb06:	57                   	push   %edi
46bb07:	ff 30                	push   (%eax)
46bb09:	ff 15 cc f2 48 00    	call   *0x48f2cc
46bb0f:	8b 7d 0c             	mov    0xc(%ebp),%edi
46bb12:	8b f0                	mov    %eax,%esi
46bb14:	8b cf                	mov    %edi,%ecx
46bb16:	e8 05 df f9 ff       	call   0x409a20
46bb1b:	8b cf                	mov    %edi,%ecx
46bb1d:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
46bb24:	89 37                	mov    %esi,(%edi)
46bb26:	e8 71 e1 f9 ff       	call   0x409c9c
46bb2b:	85 c0                	test   %eax,%eax
46bb2d:	75 6c                	jne    0x46bb9b
46bb2f:	ff 15 40 f3 48 00    	call   *0x48f340
46bb35:	3d b7 00 00 00       	cmp    $0xb7,%eax
46bb3a:	75 5f                	jne    0x46bb9b
46bb3c:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
46bb40:	74 59                	je     0x46bb9b
46bb42:	8b 43 04             	mov    0x4(%ebx),%eax
46bb45:	8b 70 04             	mov    0x4(%eax),%esi
46bb48:	8b ce                	mov    %esi,%ecx
46bb4a:	e8 48 de f9 ff       	call   0x409997
46bb4f:	8b 46 08             	mov    0x8(%esi),%eax
46bb52:	ff 30                	push   (%eax)
46bb54:	ff 15 14 f2 48 00    	call   *0x48f214
46bb5a:	8b 43 04             	mov    0x4(%ebx),%eax
46bb5d:	8b 30                	mov    (%eax),%esi
46bb5f:	8b ce                	mov    %esi,%ecx
46bb61:	e8 31 de f9 ff       	call   0x409997
46bb66:	8b 46 08             	mov    0x8(%esi),%eax
46bb69:	8b 38                	mov    (%eax),%edi
46bb6b:	8b 43 04             	mov    0x4(%ebx),%eax
46bb6e:	8b 70 04             	mov    0x4(%eax),%esi
46bb71:	8b ce                	mov    %esi,%ecx
46bb73:	e8 1f de f9 ff       	call   0x409997
46bb78:	8b 46 08             	mov    0x8(%esi),%eax
46bb7b:	6a 00                	push   $0x0
46bb7d:	57                   	push   %edi
46bb7e:	ff 30                	push   (%eax)
46bb80:	ff 15 cc f2 48 00    	call   *0x48f2cc
46bb86:	8b 7d 0c             	mov    0xc(%ebp),%edi
46bb89:	8b f0                	mov    %eax,%esi
46bb8b:	8b cf                	mov    %edi,%ecx
46bb8d:	e8 8e de f9 ff       	call   0x409a20
46bb92:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
46bb99:	89 37                	mov    %esi,(%edi)
46bb9b:	5f                   	pop    %edi
46bb9c:	5e                   	pop    %esi
46bb9d:	33 c0                	xor    %eax,%eax
46bb9f:	5b                   	pop    %ebx
46bba0:	8b e5                	mov    %ebp,%esp
46bba2:	5d                   	pop    %ebp
46bba3:	c2 08 00             	ret    $0x8
46bba6:	55                   	push   %ebp
46bba7:	8b ec                	mov    %esp,%ebp
46bba9:	83 e4 f8             	and    $0xfffffff8,%esp
46bbac:	83 ec 34             	sub    $0x34,%esp
46bbaf:	8b 45 08             	mov    0x8(%ebp),%eax
46bbb2:	53                   	push   %ebx
46bbb3:	56                   	push   %esi
46bbb4:	57                   	push   %edi
46bbb5:	8b 58 08             	mov    0x8(%eax),%ebx
46bbb8:	33 ff                	xor    %edi,%edi
46bbba:	8b 40 04             	mov    0x4(%eax),%eax
46bbbd:	89 5c 24 14          	mov    %ebx,0x14(%esp)
46bbc1:	8b 70 04             	mov    0x4(%eax),%esi
46bbc4:	8b ce                	mov    %esi,%ecx
46bbc6:	e8 cc dd f9 ff       	call   0x409997
46bbcb:	8b 4e 08             	mov    0x8(%esi),%ecx
46bbce:	8d 54 24 20          	lea    0x20(%esp),%edx
46bbd2:	8b 01                	mov    (%ecx),%eax
46bbd4:	89 44 24 20          	mov    %eax,0x20(%esp)
46bbd8:	8b 41 04             	mov    0x4(%ecx),%eax
46bbdb:	89 44 24 24          	mov    %eax,0x24(%esp)
46bbdf:	8b 41 08             	mov    0x8(%ecx),%eax
46bbe2:	89 44 24 28          	mov    %eax,0x28(%esp)
46bbe6:	8b 41 0c             	mov    0xc(%ecx),%eax
46bbe9:	8b ca                	mov    %edx,%ecx
46bbeb:	89 44 24 2c          	mov    %eax,0x2c(%esp)
46bbef:	ff 00                	incl   (%eax)
46bbf1:	e8 b8 8c f9 ff       	call   0x4048ae
46bbf6:	8b 74 24 24          	mov    0x24(%esp),%esi
46bbfa:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46bbfe:	6a ff                	push   $0xffffffff
46bc00:	6a ff                	push   $0xffffffff
46bc02:	6a ff                	push   $0xffffffff
46bc04:	6a 01                	push   $0x1
46bc06:	6a 02                	push   $0x2
46bc08:	68 70 a8 4b 00       	push   $0x4ba870
46bc0d:	e8 46 3a ff ff       	call   0x45f658
46bc12:	3b c6                	cmp    %esi,%eax
46bc14:	75 0e                	jne    0x46bc24
46bc16:	68 70 a8 4b 00       	push   $0x4ba870
46bc1b:	8d 4c 24 24          	lea    0x24(%esp),%ecx
46bc1f:	e8 e7 c1 f9 ff       	call   0x407e0b
46bc24:	6a 00                	push   $0x0
46bc26:	ff 15 60 f8 48 00    	call   *0x48f860
46bc2c:	8d 44 24 10          	lea    0x10(%esp),%eax
46bc30:	50                   	push   %eax
46bc31:	68 dc 2b 49 00       	push   $0x492bdc
46bc36:	6a 01                	push   $0x1
46bc38:	6a 00                	push   $0x0
46bc3a:	68 6c 2d 49 00       	push   $0x492d6c
46bc3f:	ff 15 48 f8 48 00    	call   *0x48f848
46bc45:	85 c0                	test   %eax,%eax
46bc47:	79 1e                	jns    0x46bc67
46bc49:	8b 75 0c             	mov    0xc(%ebp),%esi
46bc4c:	8b ce                	mov    %esi,%ecx
46bc4e:	e8 cd dd f9 ff       	call   0x409a20
46bc53:	21 3e                	and    %edi,(%esi)
46bc55:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46bc5c:	ff 15 64 f8 48 00    	call   *0x48f864
46bc62:	e9 1d 02 00 00       	jmp    0x46be84
46bc67:	8b 45 08             	mov    0x8(%ebp),%eax
46bc6a:	8b 40 04             	mov    0x4(%eax),%eax
46bc6d:	8b 30                	mov    (%eax),%esi
46bc6f:	8b ce                	mov    %esi,%ecx
46bc71:	e8 21 dd f9 ff       	call   0x409997
46bc76:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46bc7a:	8b 46 08             	mov    0x8(%esi),%eax
46bc7d:	8b 11                	mov    (%ecx),%edx
46bc7f:	ff 30                	push   (%eax)
46bc81:	51                   	push   %ecx