46dce6:	ff 15 00 f2 48 00    	call   *0x48f200
46dcec:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
46dcf0:	8b 74 24 10          	mov    0x10(%esp),%esi
46dcf4:	f7 d1                	not    %ecx
46dcf6:	0b c6                	or     %esi,%eax
46dcf8:	23 c1                	and    %ecx,%eax
46dcfa:	50                   	push   %eax
46dcfb:	8d 44 24 34          	lea    0x34(%esp),%eax
46dcff:	50                   	push   %eax
46dd00:	ff 15 d0 f2 48 00    	call   *0x48f2d0
46dd06:	85 c0                	test   %eax,%eax
46dd08:	75 38                	jne    0x46dd42
46dd0a:	8d 84 24 30 06 00 00 	lea    0x630(%esp),%eax
46dd11:	50                   	push   %eax
46dd12:	ff d7                	call   *%edi
46dd14:	8b 75 0c             	mov    0xc(%ebp),%esi
46dd17:	8b ce                	mov    %esi,%ecx
46dd19:	e8 02 bd f9 ff       	call   0x409a20
46dd1e:	33 c0                	xor    %eax,%eax
46dd20:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46dd27:	89 06                	mov    %eax,(%esi)
46dd29:	eb 73                	jmp    0x46dd9e
46dd2b:	8b 75 0c             	mov    0xc(%ebp),%esi
46dd2e:	8b ce                	mov    %esi,%ecx
46dd30:	e8 eb bc f9 ff       	call   0x409a20
46dd35:	33 c0                	xor    %eax,%eax
46dd37:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46dd3e:	89 06                	mov    %eax,(%esi)
46dd40:	eb 65                	jmp    0x46dda7
46dd42:	84 db                	test   %bl,%bl
46dd44:	74 4e                	je     0x46dd94
46dd46:	8d 44 24 30          	lea    0x30(%esp),%eax
46dd4a:	50                   	push   %eax
46dd4b:	ff d7                	call   *%edi
46dd4d:	8d 44 24 30          	lea    0x30(%esp),%eax
46dd51:	68 98 a5 4b 00       	push   $0x4ba598
46dd56:	50                   	push   %eax
46dd57:	e8 a0 52 fb ff       	call   0x422ffc
46dd5c:	59                   	pop    %ecx
46dd5d:	59                   	pop    %ecx
46dd5e:	eb 04                	jmp    0x46dd64
46dd60:	8b 74 24 10          	mov    0x10(%esp),%esi
46dd64:	ff 74 24 14          	push   0x14(%esp)
46dd68:	8b 4c 24 30          	mov    0x30(%esp),%ecx
46dd6c:	8d 44 24 34          	lea    0x34(%esp),%eax
46dd70:	ff 74 24 10          	push   0x10(%esp)
46dd74:	56                   	push   %esi
46dd75:	50                   	push   %eax
46dd76:	e8 85 14 00 00       	call   0x46f200
46dd7b:	84 c0                	test   %al,%al
46dd7d:	75 15                	jne    0x46dd94
46dd7f:	8b 75 0c             	mov    0xc(%ebp),%esi
46dd82:	8b ce                	mov    %esi,%ecx
46dd84:	e8 97 bc f9 ff       	call   0x409a20
46dd89:	33 c0                	xor    %eax,%eax
46dd8b:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46dd92:	89 06                	mov    %eax,(%esi)
46dd94:	8d 84 24 30 06 00 00 	lea    0x630(%esp),%eax
46dd9b:	50                   	push   %eax
46dd9c:	ff d7                	call   *%edi
46dd9e:	8d 4c 24 18          	lea    0x18(%esp),%ecx
46dda2:	e8 bd 7c f9 ff       	call   0x405a64
46dda7:	5f                   	pop    %edi
46dda8:	5e                   	pop    %esi
46dda9:	33 c0                	xor    %eax,%eax
46ddab:	5b                   	pop    %ebx
46ddac:	8b e5                	mov    %ebp,%esp
46ddae:	5d                   	pop    %ebp
46ddaf:	c2 08 00             	ret    $0x8
46ddb2:	55                   	push   %ebp
46ddb3:	8b ec                	mov    %esp,%ebp
46ddb5:	8b 45 08             	mov    0x8(%ebp),%eax
46ddb8:	56                   	push   %esi
46ddb9:	6a 00                	push   $0x0
46ddbb:	8b f1                	mov    %ecx,%esi
46ddbd:	8b 40 04             	mov    0x4(%eax),%eax
46ddc0:	ff 30                	push   (%eax)
46ddc2:	8d 45 08             	lea    0x8(%ebp),%eax
46ddc5:	50                   	push   %eax
46ddc6:	e8 14 1a 00 00       	call   0x46f7df
46ddcb:	84 c0                	test   %al,%al
46ddcd:	74 29                	je     0x46ddf8
46ddcf:	8b 8e 94 01 00 00    	mov    0x194(%esi),%ecx
46ddd5:	8b 45 08             	mov    0x8(%ebp),%eax
46ddd8:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46dddb:	8b 00                	mov    (%eax),%eax
46dddd:	8b 70 04             	mov    0x4(%eax),%esi
46dde0:	8b ce                	mov    %esi,%ecx
46dde2:	e8 ae 57 ff ff       	call   0x463595
46dde7:	ff 36                	push   (%esi)
46dde9:	ff 15 dc f1 48 00    	call   *0x48f1dc
46ddef:	48                   	dec    %eax
46ddf0:	f7 d8                	neg    %eax
46ddf2:	1b c0                	sbb    %eax,%eax
46ddf4:	40                   	inc    %eax
46ddf5:	50                   	push   %eax
46ddf6:	eb 07                	jmp    0x46ddff
46ddf8:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
46ddfc:	ff 75 08             	push   0x8(%ebp)
46ddff:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46de02:	e8 5c ba f9 ff       	call   0x409863
46de07:	33 c0                	xor    %eax,%eax
46de09:	5e                   	pop    %esi
46de0a:	5d                   	pop    %ebp
46de0b:	c2 08 00             	ret    $0x8
46de0e:	55                   	push   %ebp
46de0f:	8b ec                	mov    %esp,%ebp
46de11:	56                   	push   %esi
46de12:	8b 75 08             	mov    0x8(%ebp),%esi
46de15:	57                   	push   %edi
46de16:	6a 00                	push   $0x0
46de18:	8b f9                	mov    %ecx,%edi
46de1a:	8b 46 04             	mov    0x4(%esi),%eax
46de1d:	ff 30                	push   (%eax)
46de1f:	8d 45 08             	lea    0x8(%ebp),%eax
46de22:	50                   	push   %eax
46de23:	e8 b7 19 00 00       	call   0x46f7df
46de28:	84 c0                	test   %al,%al
46de2a:	74 42                	je     0x46de6e
46de2c:	8b 46 04             	mov    0x4(%esi),%eax
46de2f:	8b 97 94 01 00 00    	mov    0x194(%edi),%edx
46de35:	53                   	push   %ebx
46de36:	8b 48 08             	mov    0x8(%eax),%ecx
46de39:	8b 70 04             	mov    0x4(%eax),%esi
46de3c:	8b 45 08             	mov    0x8(%ebp),%eax
46de3f:	8b 1c 82             	mov    (%edx,%eax,4),%ebx
46de42:	e8 55 be f9 ff       	call   0x409c9c
46de47:	8b ce                	mov    %esi,%ecx
46de49:	8b f8                	mov    %eax,%edi
46de4b:	e8 f6 be f9 ff       	call   0x409d46
46de50:	8b 0b                	mov    (%ebx),%ecx
46de52:	57                   	push   %edi
46de53:	52                   	push   %edx
46de54:	50                   	push   %eax
46de55:	8b 49 04             	mov    0x4(%ecx),%ecx
46de58:	e8 f1 7d f9 ff       	call   0x405c4e
46de5d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46de60:	88 45 08             	mov    %al,0x8(%ebp)
46de63:	ff 75 08             	push   0x8(%ebp)
46de66:	e8 f8 b9 f9 ff       	call   0x409863
46de6b:	5b                   	pop    %ebx
46de6c:	eb 0f                	jmp    0x46de7d
46de6e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46de71:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
46de75:	ff 75 08             	push   0x8(%ebp)
46de78:	e8 e6 b9 f9 ff       	call   0x409863
46de7d:	5f                   	pop    %edi
46de7e:	33 c0                	xor    %eax,%eax
46de80:	5e                   	pop    %esi
46de81:	5d                   	pop    %ebp
46de82:	c2 08 00             	ret    $0x8
46de85:	55                   	push   %ebp
46de86:	8b ec                	mov    %esp,%ebp
46de88:	83 e4 f8             	and    $0xfffffff8,%esp
46de8b:	b8 34 06 02 00       	mov    $0x20634,%eax
46de90:	e8 fb 3c fc ff       	call   0x431b90
46de95:	53                   	push   %ebx
46de96:	56                   	push   %esi
46de97:	57                   	push   %edi
46de98:	8b 7d 08             	mov    0x8(%ebp),%edi
46de9b:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
46de9f:	8b 47 04             	mov    0x4(%edi),%eax
46dea2:	8b 5f 08             	mov    0x8(%edi),%ebx
46dea5:	8b 70 04             	mov    0x4(%eax),%esi
46dea8:	8b ce                	mov    %esi,%ecx
46deaa:	e8 e8 ba f9 ff       	call   0x409997
46deaf:	8b 46 08             	mov    0x8(%esi),%eax
46deb2:	8b 30                	mov    (%eax),%esi
46deb4:	33 c0                	xor    %eax,%eax
46deb6:	89 44 24 0c          	mov    %eax,0xc(%esp)
46deba:	83 fb 03             	cmp    $0x3,%ebx
46debd:	72 2e                	jb     0x46deed
46debf:	8b 47 04             	mov    0x4(%edi),%eax
46dec2:	8b 48 08             	mov    0x8(%eax),%ecx
46dec5:	e8 d2 bd f9 ff       	call   0x409c9c
46deca:	85 c0                	test   %eax,%eax
46decc:	78 1f                	js     0x46deed
46dece:	8b 47 04             	mov    0x4(%edi),%eax
46ded1:	8b 48 08             	mov    0x8(%eax),%ecx
46ded4:	e8 c3 bd f9 ff       	call   0x409c9c
46ded9:	83 f8 02             	cmp    $0x2,%eax
46dedc:	7f 0f                	jg     0x46deed
46dede:	8b 47 04             	mov    0x4(%edi),%eax
46dee1:	8b 48 08             	mov    0x8(%eax),%ecx
46dee4:	e8 b3 bd f9 ff       	call   0x409c9c
46dee9:	89 44 24 0c          	mov    %eax,0xc(%esp)
46deed:	83 fb 04             	cmp    $0x4,%ebx
46def0:	72 16                	jb     0x46df08
46def2:	8b 4f 04             	mov    0x4(%edi),%ecx
46def5:	8b 49 0c             	mov    0xc(%ecx),%ecx
46def8:	e8 9f bd f9 ff       	call   0x409c9c
46defd:	83 f8 01             	cmp    $0x1,%eax
46df00:	75 06                	jne    0x46df08
46df02:	8a d8                	mov    %al,%bl
46df04:	33 c0                	xor    %eax,%eax
46df06:	eb 04                	jmp    0x46df0c
46df08:	33 c0                	xor    %eax,%eax
46df0a:	8a d8                	mov    %al,%bl
46df0c:	88 5c 24 10          	mov    %bl,0x10(%esp)
46df10:	66 39 06             	cmp    %ax,(%esi)
46df13:	74 2d                	je     0x46df42
46df15:	50                   	push   %eax
46df16:	6a 01                	push   $0x1
46df18:	8d 54 24 38          	lea    0x38(%esp),%edx
46df1c:	8b ce                	mov    %esi,%ecx
46df1e:	e8 7c 79 ff ff       	call   0x46589f
46df23:	59                   	pop    %ecx
46df24:	59                   	pop    %ecx
46df25:	84 c0                	test   %al,%al
46df27:	75 24                	jne    0x46df4d
46df29:	8b 75 0c             	mov    0xc(%ebp),%esi
46df2c:	8b ce                	mov    %esi,%ecx
46df2e:	e8 ed ba f9 ff       	call   0x409a20
46df33:	83 26 00             	andl   $0x0,(%esi)
46df36:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46df3d:	e9 7b 01 00 00       	jmp    0x46e0bd
46df42:	8d 44 24 30          	lea    0x30(%esp),%eax
46df46:	50                   	push   %eax
46df47:	ff 15 58 f2 48 00    	call   *0x48f258
46df4d:	8d 44 24 14          	lea    0x14(%esp),%eax
46df51:	50                   	push   %eax
46df52:	8d 44 24 34          	lea    0x34(%esp),%eax
46df56:	50                   	push   %eax
46df57:	ff 15 b0 f2 48 00    	call   *0x48f2b0
46df5d:	8d 44 24 14          	lea    0x14(%esp),%eax
46df61:	50                   	push   %eax
46df62:	50                   	push   %eax
46df63:	ff 15 b4 f2 48 00    	call   *0x48f2b4
46df69:	8b 47 04             	mov    0x4(%edi),%eax
46df6c:	8b 30                	mov    (%eax),%esi
46df6e:	8b ce                	mov    %esi,%ecx
46df70:	e8 22 ba f9 ff       	call   0x409997
46df75:	8b 4e 08             	mov    0x8(%esi),%ecx
46df78:	8d 54 24 20          	lea    0x20(%esp),%edx
46df7c:	8b 01                	mov    (%ecx),%eax
46df7e:	89 44 24 20          	mov    %eax,0x20(%esp)
46df82:	8b 41 04             	mov    0x4(%ecx),%eax
46df85:	89 44 24 24          	mov    %eax,0x24(%esp)
46df89:	8b 41 08             	mov    0x8(%ecx),%eax
46df8c:	89 44 24 28          	mov    %eax,0x28(%esp)
46df90:	8b 41 0c             	mov    0xc(%ecx),%eax
46df93:	8b ca                	mov    %edx,%ecx
46df95:	89 44 24 2c          	mov    %eax,0x2c(%esp)
46df99:	ff 00                	incl   (%eax)
46df9b:	e8 0e 69 f9 ff       	call   0x4048ae
46dfa0:	8d 84 24 40 02 00 00 	lea    0x240(%esp),%eax
46dfa7:	50                   	push   %eax
46dfa8:	8d 44 24 44          	lea    0x44(%esp),%eax
46dfac:	50                   	push   %eax
46dfad:	8d 84 24 48 04 00 00 	lea    0x448(%esp),%eax
46dfb4:	50                   	push   %eax
46dfb5:	8d 84 24 4c 06 01 00 	lea    0x1064c(%esp),%eax
46dfbc:	50                   	push   %eax
46dfbd:	ff 74 24 30          	push   0x30(%esp)
46dfc1:	e8 68 63 fb ff       	call   0x42432e
46dfc6:	83 c4 14             	add    $0x14,%esp
46dfc9:	8d 84 24 40 04 00 00 	lea    0x440(%esp),%eax
46dfd0:	50                   	push   %eax
46dfd1:	8d 84 24 44 06 01 00 	lea    0x10644(%esp),%eax
46dfd8:	50                   	push   %eax
46dfd9:	e8 ef 4f fb ff       	call   0x422fcd
46dfde:	8d 84 24 48 02 00 00 	lea    0x248(%esp),%eax
46dfe5:	50                   	push   %eax
46dfe6:	8d 44 24 4c          	lea    0x4c(%esp),%eax
46dfea:	50                   	push   %eax
46dfeb:	e8 dd 4f fb ff       	call   0x422fcd
46dff0:	83 c4 10             	add    $0x10,%esp
46dff3:	8d 84 24 40 06 00 00 	lea    0x640(%esp),%eax
46dffa:	50                   	push   %eax
46dffb:	68 ff 7f 00 00       	push   $0x7fff
46e000:	ff 15 34 f3 48 00    	call   *0x48f334
46e006:	8b 3d 08 f2 48 00    	mov    0x48f208,%edi
46e00c:	8d 84 24 40 06 01 00 	lea    0x10640(%esp),%eax
46e013:	50                   	push   %eax
46e014:	ff d7                	call   *%edi
46e016:	85 c0                	test   %eax,%eax
46e018:	74 2e                	je     0x46e048
46e01a:	8d 4c 24 40          	lea    0x40(%esp),%ecx
46e01e:	e8 b0 6c ff ff       	call   0x464cd3
46e023:	8b 74 24 0c          	mov    0xc(%esp),%esi
46e027:	84 c0                	test   %al,%al
46e029:	74 4f                	je     0x46e07a
46e02b:	56                   	push   %esi
46e02c:	8d 54 24 18          	lea    0x18(%esp),%edx
46e030:	8d 4c 24 44          	lea    0x44(%esp),%ecx
46e034:	e8 88 65 ff ff       	call   0x4645c1
46e039:	59                   	pop    %ecx
46e03a:	84 c0                	test   %al,%al
46e03c:	75 20                	jne    0x46e05e
46e03e:	8d 84 24 40 06 00 00 	lea    0x640(%esp),%eax
46e045:	50                   	push   %eax
46e046:	ff d7                	call   *%edi
46e048:	8b 75 0c             	mov    0xc(%ebp),%esi
46e04b:	8b ce                	mov    %esi,%ecx
46e04d:	e8 ce b9 f9 ff       	call   0x409a20
46e052:	83 26 00             	andl   $0x0,(%esi)
46e055:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46e05c:	eb 56                	jmp    0x46e0b4
46e05e:	84 db                	test   %bl,%bl
46e060:	74 48                	je     0x46e0aa
46e062:	8d 44 24 40          	lea    0x40(%esp),%eax
46e066:	50                   	push   %eax
46e067:	ff d7                	call   *%edi
46e069:	8d 44 24 40          	lea    0x40(%esp),%eax
46e06d:	68 98 a5 4b 00       	push   $0x4ba598
46e072:	50                   	push   %eax
46e073:	e8 84 4f fb ff       	call   0x422ffc
46e078:	59                   	pop    %ecx
46e079:	59                   	pop    %ecx
46e07a:	ff 74 24 10          	push   0x10(%esp)
46e07e:	8b 4c 24 20          	mov    0x20(%esp),%ecx
46e082:	8d 44 24 18          	lea    0x18(%esp),%eax
46e086:	56                   	push   %esi
46e087:	50                   	push   %eax
46e088:	8d 44 24 4c          	lea    0x4c(%esp),%eax
46e08c:	50                   	push   %eax
46e08d:	e8 cb 12 00 00       	call   0x46f35d
46e092:	84 c0                	test   %al,%al
46e094:	75 14                	jne    0x46e0aa
46e096:	8b 75 0c             	mov    0xc(%ebp),%esi
46e099:	8b ce                	mov    %esi,%ecx
46e09b:	e8 80 b9 f9 ff       	call   0x409a20
46e0a0:	83 26 00             	andl   $0x0,(%esi)
46e0a3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46e0aa:	8d 84 24 40 06 00 00 	lea    0x640(%esp),%eax
46e0b1:	50                   	push   %eax
46e0b2:	ff d7                	call   *%edi
46e0b4:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46e0b8:	e8 a7 79 f9 ff       	call   0x405a64
46e0bd:	5f                   	pop    %edi
46e0be:	5e                   	pop    %esi
46e0bf:	33 c0                	xor    %eax,%eax
46e0c1:	5b                   	pop    %ebx
46e0c2:	8b e5                	mov    %ebp,%esp
46e0c4:	5d                   	pop    %ebp
46e0c5:	c2 08 00             	ret    $0x8
46e0c8:	55                   	push   %ebp
46e0c9:	8b ec                	mov    %esp,%ebp
46e0cb:	6a 00                	push   $0x0
46e0cd:	ff 75 0c             	push   0xc(%ebp)
46e0d0:	ff 75 08             	push   0x8(%ebp)
46e0d3:	e8 cd 13 00 00       	call   0x46f4a5
46e0d8:	5d                   	pop    %ebp
46e0d9:	c2 08 00             	ret    $0x8
46e0dc:	55                   	push   %ebp
46e0dd:	8b ec                	mov    %esp,%ebp
46e0df:	6a 01                	push   $0x1
46e0e1:	ff 75 0c             	push   0xc(%ebp)
46e0e4:	ff 75 08             	push   0x8(%ebp)
46e0e7:	e8 b9 13 00 00       	call   0x46f4a5