46d7cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d7cf:	8b 40 1c             	mov    0x1c(%eax),%eax
46d7d2:	8b 50 0c             	mov    0xc(%eax),%edx
46d7d5:	8b 45 ec             	mov    -0x14(%ebp),%eax
46d7d8:	8b 08                	mov    (%eax),%ecx
46d7da:	ff 51 08             	call   *0x8(%ecx)
46d7dd:	8b 45 ec             	mov    -0x14(%ebp),%eax
46d7e0:	e8 e7 d5 fb ff       	call   0x42adcc
46d7e5:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d7e8:	8b 45 ec             	mov    -0x14(%ebp),%eax
46d7eb:	e8 10 d6 fb ff       	call   0x42ae00
46d7f0:	89 45 e0             	mov    %eax,-0x20(%ebp)
46d7f3:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
46d7f7:	33 c0                	xor    %eax,%eax
46d7f9:	5a                   	pop    %edx
46d7fa:	59                   	pop    %ecx
46d7fb:	59                   	pop    %ecx
46d7fc:	64 89 10             	mov    %edx,%fs:(%eax)
46d7ff:	68 33 d9 46 00       	push   $0x46d933
46d804:	8b 45 ec             	mov    -0x14(%ebp),%eax
46d807:	e8 10 61 f9 ff       	call   0x40391c
46d80c:	c3                   	ret
46d80d:	e9 9e 68 f9 ff       	jmp    0x4040b0
46d812:	eb f0                	jmp    0x46d804
46d814:	8b c3                	mov    %ebx,%eax
46d816:	8b 15 1c 31 42 00    	mov    0x42311c,%edx
46d81c:	e8 87 62 f9 ff       	call   0x403aa8
46d821:	84 c0                	test   %al,%al
46d823:	74 1b                	je     0x46d840
46d825:	c7 45 d8 03 00 00 00 	movl   $0x3,-0x28(%ebp)
46d82c:	8b c6                	mov    %esi,%eax
46d82e:	e8 35 98 fb ff       	call   0x427068
46d833:	e8 80 d8 fb ff       	call   0x42b0b8
46d838:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d83b:	e9 f3 00 00 00       	jmp    0x46d933
46d840:	c7 45 d8 04 00 00 00 	movl   $0x4,-0x28(%ebp)
46d847:	8b c3                	mov    %ebx,%eax
46d849:	8b 15 90 2e 42 00    	mov    0x422e90,%edx
46d84f:	e8 54 62 f9 ff       	call   0x403aa8
46d854:	84 c0                	test   %al,%al
46d856:	0f 85 c8 00 00 00    	jne    0x46d924
46d85c:	b2 01                	mov    $0x1,%dl
46d85e:	a1 90 2e 42 00       	mov    0x422e90,%eax
46d863:	e8 d0 a0 fb ff       	call   0x427938
46d868:	89 45 f0             	mov    %eax,-0x10(%ebp)
46d86b:	33 c0                	xor    %eax,%eax
46d86d:	55                   	push   %ebp
46d86e:	68 1d d9 46 00       	push   $0x46d91d
46d873:	64 ff 30             	push   %fs:(%eax)
46d876:	64 89 20             	mov    %esp,%fs:(%eax)
46d879:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d87c:	8b 40 1c             	mov    0x1c(%eax),%eax
46d87f:	e8 00 9d fb ff       	call   0x427584
46d884:	8b d0                	mov    %eax,%edx
46d886:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d889:	8b 08                	mov    (%eax),%ecx
46d88b:	ff 51 40             	call   *0x40(%ecx)
46d88e:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d891:	8b 40 1c             	mov    0x1c(%eax),%eax
46d894:	e8 03 9d fb ff       	call   0x42759c
46d899:	8b d0                	mov    %eax,%edx
46d89b:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d89e:	8b 08                	mov    (%eax),%ecx
46d8a0:	ff 51 34             	call   *0x34(%ecx)
46d8a3:	6a 00                	push   $0x0
46d8a5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46d8a8:	b2 01                	mov    $0x1,%dl
46d8aa:	a1 30 2d 42 00       	mov    0x422d30,%eax
46d8af:	e8 40 9d fb ff       	call   0x4275f4
46d8b4:	89 45 e8             	mov    %eax,-0x18(%ebp)
46d8b7:	33 c0                	xor    %eax,%eax
46d8b9:	55                   	push   %ebp
46d8ba:	68 f1 d8 46 00       	push   $0x46d8f1
46d8bf:	64 ff 30             	push   %fs:(%eax)
46d8c2:	64 89 20             	mov    %esp,%fs:(%eax)
46d8c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d8c8:	8b 40 1c             	mov    0x1c(%eax),%eax
46d8cb:	8b 40 0c             	mov    0xc(%eax),%eax
46d8ce:	50                   	push   %eax
46d8cf:	33 c9                	xor    %ecx,%ecx
46d8d1:	33 d2                	xor    %edx,%edx
46d8d3:	8b 45 e8             	mov    -0x18(%ebp),%eax
46d8d6:	e8 0d 73 fb ff       	call   0x424be8
46d8db:	33 c0                	xor    %eax,%eax
46d8dd:	5a                   	pop    %edx
46d8de:	59                   	pop    %ecx
46d8df:	59                   	pop    %ecx
46d8e0:	64 89 10             	mov    %edx,%fs:(%eax)
46d8e3:	68 f8 d8 46 00       	push   $0x46d8f8
46d8e8:	8b 45 e8             	mov    -0x18(%ebp),%eax
46d8eb:	e8 2c 60 f9 ff       	call   0x40391c
46d8f0:	c3                   	ret
46d8f1:	e9 ba 67 f9 ff       	jmp    0x4040b0
46d8f6:	eb f0                	jmp    0x46d8e8
46d8f8:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d8fb:	e8 58 ae fb ff       	call   0x428758
46d900:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d903:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
46d907:	33 c0                	xor    %eax,%eax
46d909:	5a                   	pop    %edx
46d90a:	59                   	pop    %ecx
46d90b:	59                   	pop    %ecx
46d90c:	64 89 10             	mov    %edx,%fs:(%eax)
46d90f:	68 33 d9 46 00       	push   $0x46d933
46d914:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d917:	e8 00 60 f9 ff       	call   0x40391c
46d91c:	c3                   	ret
46d91d:	e9 8e 67 f9 ff       	jmp    0x4040b0
46d922:	eb f0                	jmp    0x46d914
46d924:	8b c6                	mov    %esi,%eax
46d926:	e8 55 97 fb ff       	call   0x427080
46d92b:	e8 94 a2 fb ff       	call   0x427bc4
46d930:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d933:	8b 45 f8             	mov    -0x8(%ebp),%eax
46d936:	e8 3d 88 f9 ff       	call   0x406178
46d93b:	50                   	push   %eax
46d93c:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
46d940:	f5                   	cmc
46d941:	1b c9                	sbb    %ecx,%ecx
46d943:	ba 7c d9 46 00       	mov    $0x46d97c,%edx
46d948:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46d94b:	e8 2c 06 00 00       	call   0x46df7c
46d950:	e8 57 d7 ff ff       	call   0x46b0ac
46d955:	8b 55 f8             	mov    -0x8(%ebp),%edx
46d958:	8b 12                	mov    (%edx),%edx
46d95a:	8b 45 fc             	mov    -0x4(%ebp),%eax
46d95d:	e8 8a f6 ff ff       	call   0x46cfec
46d962:	8b 45 f8             	mov    -0x8(%ebp),%eax
46d965:	8b 55 fc             	mov    -0x4(%ebp),%edx
46d968:	8b 52 0c             	mov    0xc(%edx),%edx
46d96b:	b9 8c d9 46 00       	mov    $0x46d98c,%ecx
46d970:	e8 47 88 f9 ff       	call   0x4061bc
46d975:	5e                   	pop    %esi
46d976:	5b                   	pop    %ebx
46d977:	8b e5                	mov    %ebp,%esp
46d979:	5d                   	pop    %ebp
46d97a:	c3                   	ret
46d97b:	00 80 09 f8 7b 32    	add    %al,0x327bf809(%eax)
46d981:	bf 1a 10 8b bb       	mov    $0xbb8b101a,%edi
46d986:	00 aa 00 30 0c ab    	add    %ch,-0x54f3d000(%edx)
46d98c:	81 09 f8 7b 32 bf    	orl    $0xbf327bf8,(%ecx)
46d992:	1a 10                	sbb    (%eax),%dl
46d994:	8b bb 00 aa 00 30    	mov    0x3000aa00(%ebx),%edi
46d99a:	0c ab                	or     $0xab,%al
46d99c:	53                   	push   %ebx
46d99d:	8b d8                	mov    %eax,%ebx
46d99f:	8b c3                	mov    %ebx,%eax
46d9a1:	e8 46 f6 ff ff       	call   0x46cfec
46d9a6:	8b c3                	mov    %ebx,%eax
46d9a8:	8b 10                	mov    (%eax),%edx
46d9aa:	ff 52 04             	call   *0x4(%edx)
46d9ad:	5b                   	pop    %ebx
46d9ae:	c3                   	ret
46d9af:	90                   	nop
46d9b0:	53                   	push   %ebx
46d9b1:	56                   	push   %esi
46d9b2:	8b f2                	mov    %edx,%esi
46d9b4:	8b d8                	mov    %eax,%ebx
46d9b6:	8b c6                	mov    %esi,%eax
46d9b8:	8b 15 90 cc 46 00    	mov    0x46cc90,%edx
46d9be:	e8 e5 60 f9 ff       	call   0x403aa8
46d9c3:	84 c0                	test   %al,%al
46d9c5:	74 0e                	je     0x46d9d5
46d9c7:	8d 43 28             	lea    0x28(%ebx),%eax
46d9ca:	8b 56 28             	mov    0x28(%esi),%edx
46d9cd:	e8 be 87 f9 ff       	call   0x406190
46d9d2:	5e                   	pop    %esi
46d9d3:	5b                   	pop    %ebx
46d9d4:	c3                   	ret
46d9d5:	8b d6                	mov    %esi,%edx
46d9d7:	8b c3                	mov    %ebx,%eax
46d9d9:	e8 fa ad fa ff       	call   0x4187d8
46d9de:	5e                   	pop    %esi
46d9df:	5b                   	pop    %ebx
46d9e0:	c3                   	ret
46d9e1:	8d 40 00             	lea    0x0(%eax),%eax
46d9e4:	c3                   	ret
46d9e5:	8d 40 00             	lea    0x0(%eax),%eax
46d9e8:	55                   	push   %ebp
46d9e9:	8b ec                	mov    %esp,%ebp
46d9eb:	83 c4 f0             	add    $0xfffffff0,%esp
46d9ee:	53                   	push   %ebx
46d9ef:	56                   	push   %esi
46d9f0:	57                   	push   %edi
46d9f1:	8b f1                	mov    %ecx,%esi
46d9f3:	89 55 fc             	mov    %edx,-0x4(%ebp)
46d9f6:	8b d8                	mov    %eax,%ebx
46d9f8:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
46d9fc:	0f 84 eb 00 00 00    	je     0x46daed
46da02:	8b 45 fc             	mov    -0x4(%ebp),%eax
46da05:	e8 3a 73 fb ff       	call   0x424d44
46da0a:	33 c0                	xor    %eax,%eax
46da0c:	55                   	push   %ebp
46da0d:	68 e6 da 46 00       	push   $0x46dae6
46da12:	64 ff 30             	push   %fs:(%eax)
46da15:	64 89 20             	mov    %esp,%fs:(%eax)
46da18:	8b 45 fc             	mov    -0x4(%ebp),%eax
46da1b:	e8 ec 76 fb ff       	call   0x42510c
46da20:	8b f8                	mov    %eax,%edi
46da22:	8b c3                	mov    %ebx,%eax
46da24:	8b 10                	mov    (%eax),%edx
46da26:	ff 52 24             	call   *0x24(%edx)
46da29:	89 45 f8             	mov    %eax,-0x8(%ebp)
46da2c:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
46da30:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46da34:	74 19                	je     0x46da4f
46da36:	6a ff                	push   $0xffffffff
46da38:	8b 45 f8             	mov    -0x8(%ebp),%eax
46da3b:	50                   	push   %eax
46da3c:	57                   	push   %edi
46da3d:	e8 0e 93 f9 ff       	call   0x406d50
46da42:	89 45 f8             	mov    %eax,-0x8(%ebp)
46da45:	57                   	push   %edi
46da46:	e8 d5 92 f9 ff       	call   0x406d20
46da4b:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
46da4f:	8d 45 f4             	lea    -0xc(%ebp),%eax
46da52:	50                   	push   %eax
46da53:	8b 43 28             	mov    0x28(%ebx),%eax
46da56:	50                   	push   %eax
46da57:	8b 00                	mov    (%eax),%eax
46da59:	ff 50 14             	call   *0x14(%eax)
46da5c:	66 83 7d f4 04       	cmpw   $0x4,-0xc(%ebp)
46da61:	75 1a                	jne    0x46da7d
46da63:	8d 45 f0             	lea    -0x10(%ebp),%eax
46da66:	50                   	push   %eax
46da67:	8b 43 28             	mov    0x28(%ebx),%eax
46da6a:	50                   	push   %eax
46da6b:	8b 00                	mov    (%eax),%eax
46da6d:	ff 50 0c             	call   *0xc(%eax)
46da70:	56                   	push   %esi
46da71:	8b 45 f0             	mov    -0x10(%ebp),%eax
46da74:	50                   	push   %eax
46da75:	57                   	push   %edi
46da76:	e8 95 92 f9 ff       	call   0x406d10
46da7b:	eb 41                	jmp    0x46dabe
46da7d:	56                   	push   %esi
46da7e:	8b c3                	mov    %ebx,%eax
46da80:	e8 13 01 00 00       	call   0x46db98
46da85:	f7 d8                	neg    %eax
46da87:	50                   	push   %eax
46da88:	8b c3                	mov    %ebx,%eax
46da8a:	e8 25 01 00 00       	call   0x46dbb4
46da8f:	50                   	push   %eax
46da90:	8b c3                	mov    %ebx,%eax
46da92:	e8 01 01 00 00       	call   0x46db98
46da97:	48                   	dec    %eax
46da98:	50                   	push   %eax
46da99:	6a 00                	push   $0x0
46da9b:	8b 46 0c             	mov    0xc(%esi),%eax
46da9e:	2b 46 04             	sub    0x4(%esi),%eax
46daa1:	50                   	push   %eax
46daa2:	8b 46 08             	mov    0x8(%esi),%eax
46daa5:	2b 06                	sub    (%esi),%eax
46daa7:	50                   	push   %eax
46daa8:	8b 46 04             	mov    0x4(%esi),%eax
46daab:	50                   	push   %eax
46daac:	8b 06                	mov    (%esi),%eax
46daae:	50                   	push   %eax
46daaf:	57                   	push   %edi
46dab0:	8b 43 28             	mov    0x28(%ebx),%eax
46dab3:	50                   	push   %eax
46dab4:	8b 00                	mov    (%eax),%eax
46dab6:	ff 50 20             	call   *0x20(%eax)
46dab9:	e8 ee d5 ff ff       	call   0x46b0ac
46dabe:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
46dac2:	74 0c                	je     0x46dad0
46dac4:	6a ff                	push   $0xffffffff
46dac6:	8b 45 f8             	mov    -0x8(%ebp),%eax
46dac9:	50                   	push   %eax
46daca:	57                   	push   %edi
46dacb:	e8 80 92 f9 ff       	call   0x406d50
46dad0:	33 c0                	xor    %eax,%eax
46dad2:	5a                   	pop    %edx
46dad3:	59                   	pop    %ecx
46dad4:	59                   	pop    %ecx
46dad5:	64 89 10             	mov    %edx,%fs:(%eax)
46dad8:	68 ed da 46 00       	push   $0x46daed
46dadd:	8b 45 fc             	mov    -0x4(%ebp),%eax
46dae0:	e8 1b 75 fb ff       	call   0x425000
46dae5:	c3                   	ret
46dae6:	e9 c5 65 f9 ff       	jmp    0x4040b0
46daeb:	eb f0                	jmp    0x46dadd
46daed:	5f                   	pop    %edi
46daee:	5e                   	pop    %esi
46daef:	5b                   	pop    %ebx
46daf0:	8b e5                	mov    %ebp,%esp
46daf2:	5d                   	pop    %ebp
46daf3:	c3                   	ret
46daf4:	53                   	push   %ebx
46daf5:	51                   	push   %ecx
46daf6:	8b d8                	mov    %eax,%ebx
46daf8:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
46dafc:	74 1a                	je     0x46db18
46dafe:	54                   	push   %esp
46daff:	8b 43 28             	mov    0x28(%ebx),%eax
46db02:	50                   	push   %eax
46db03:	8b 00                	mov    (%eax),%eax
46db05:	ff 50 14             	call   *0x14(%eax)
46db08:	85 c0                	test   %eax,%eax
46db0a:	75 0c                	jne    0x46db18
46db0c:	66 83 3c 24 00       	cmpw   $0x0,(%esp)
46db11:	7e 05                	jle    0x46db18
46db13:	33 c0                	xor    %eax,%eax
46db15:	5a                   	pop    %edx
46db16:	5b                   	pop    %ebx
46db17:	c3                   	ret
46db18:	b0 01                	mov    $0x1,%al
46db1a:	5a                   	pop    %edx
46db1b:	5b                   	pop    %ebx
46db1c:	c3                   	ret
46db1d:	8d 40 00             	lea    0x0(%eax),%eax
46db20:	53                   	push   %ebx
46db21:	56                   	push   %esi
46db22:	57                   	push   %edi
46db23:	83 c4 f8             	add    $0xfffffff8,%esp
46db26:	8b f0                	mov    %eax,%esi
46db28:	8d 3c 24             	lea    (%esp),%edi
46db2b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46db2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46db2d:	8b da                	mov    %edx,%ebx
46db2f:	6a 00                	push   $0x0
46db31:	e8 4a 94 f9 ff       	call   0x406f80
46db36:	8b f0                	mov    %eax,%esi
46db38:	6a 03                	push   $0x3
46db3a:	56                   	push   %esi
46db3b:	e8 40 92 f9 ff       	call   0x406d80
46db40:	8b 04 24             	mov    (%esp),%eax
46db43:	89 03                	mov    %eax,(%ebx)
46db45:	8b 44 24 04          	mov    0x4(%esp),%eax
46db49:	89 43 04             	mov    %eax,0x4(%ebx)
46db4c:	f7 5b 04             	negl   0x4(%ebx)
46db4f:	6a 01                	push   $0x1
46db51:	53                   	push   %ebx
46db52:	56                   	push   %esi
46db53:	e8 90 91 f9 ff       	call   0x406ce8
46db58:	56                   	push   %esi
46db59:	6a 00                	push   $0x0
46db5b:	e8 a8 96 f9 ff       	call   0x407208
46db60:	59                   	pop    %ecx
46db61:	5a                   	pop    %edx
46db62:	5f                   	pop    %edi
46db63:	5e                   	pop    %esi
46db64:	5b                   	pop    %ebx
46db65:	c3                   	ret
46db66:	8b c0                	mov    %eax,%eax
46db68:	53                   	push   %ebx
46db69:	83 c4 f0             	add    $0xfffffff0,%esp
46db6c:	8b d8                	mov    %eax,%ebx
46db6e:	8b c3                	mov    %ebx,%eax
46db70:	e8 23 00 00 00       	call   0x46db98