412a8d:	85 ff                	test   %edi,%edi
412a8f:	75 05                	jne    0x412a96
412a91:	5f                   	pop    %edi
412a92:	5e                   	pop    %esi
412a93:	5d                   	pop    %ebp
412a94:	5b                   	pop    %ebx
412a95:	c3                   	ret
412a96:	56                   	push   %esi
412a97:	57                   	push   %edi
412a98:	53                   	push   %ebx
412a99:	55                   	push   %ebp
412a9a:	ff 15 44 96 43 00    	call   *0x439644
412aa0:	85 c0                	test   %eax,%eax
412aa2:	74 4c                	je     0x412af0
412aa4:	8b 44 24 20          	mov    0x20(%esp),%eax
412aa8:	85 c0                	test   %eax,%eax
412aaa:	75 28                	jne    0x412ad4
412aac:	8b 54 24 24          	mov    0x24(%esp),%edx
412ab0:	50                   	push   %eax
412ab1:	50                   	push   %eax
412ab2:	6a ff                	push   $0xffffffff
412ab4:	57                   	push   %edi
412ab5:	6a 01                	push   $0x1
412ab7:	52                   	push   %edx
412ab8:	ff 15 f4 96 43 00    	call   *0x4396f4
412abe:	8b f0                	mov    %eax,%esi
412ac0:	85 f6                	test   %esi,%esi
412ac2:	74 2c                	je     0x412af0
412ac4:	57                   	push   %edi
412ac5:	e8 c6 9a ff ff       	call   0x40c590
412aca:	83 c4 04             	add    $0x4,%esp
412acd:	8b c6                	mov    %esi,%eax
412acf:	5f                   	pop    %edi
412ad0:	5e                   	pop    %esi
412ad1:	5d                   	pop    %ebp
412ad2:	5b                   	pop    %ebx
412ad3:	c3                   	ret
412ad4:	8b 4c 24 24          	mov    0x24(%esp),%ecx
412ad8:	50                   	push   %eax
412ad9:	8b 44 24 20          	mov    0x20(%esp),%eax
412add:	50                   	push   %eax
412ade:	6a ff                	push   $0xffffffff
412ae0:	57                   	push   %edi
412ae1:	6a 01                	push   $0x1
412ae3:	51                   	push   %ecx
412ae4:	ff 15 f4 96 43 00    	call   *0x4396f4
412aea:	8b f0                	mov    %eax,%esi
412aec:	85 f6                	test   %esi,%esi
412aee:	75 10                	jne    0x412b00
412af0:	57                   	push   %edi
412af1:	e8 9a 9a ff ff       	call   0x40c590
412af6:	83 c4 04             	add    $0x4,%esp
412af9:	33 c0                	xor    %eax,%eax
412afb:	5f                   	pop    %edi
412afc:	5e                   	pop    %esi
412afd:	5d                   	pop    %ebp
412afe:	5b                   	pop    %ebx
412aff:	c3                   	ret
412b00:	57                   	push   %edi
412b01:	e8 8a 9a ff ff       	call   0x40c590
412b06:	83 c4 04             	add    $0x4,%esp
412b09:	8b c6                	mov    %esi,%eax
412b0b:	5f                   	pop    %edi
412b0c:	5e                   	pop    %esi
412b0d:	5d                   	pop    %ebp
412b0e:	5b                   	pop    %ebx
412b0f:	c3                   	ret
412b10:	a1 d0 74 43 00       	mov    0x4374d0,%eax
412b15:	53                   	push   %ebx
412b16:	55                   	push   %ebp
412b17:	56                   	push   %esi
412b18:	8b 35 44 96 43 00    	mov    0x439644,%esi
412b1e:	57                   	push   %edi
412b1f:	85 c0                	test   %eax,%eax
412b21:	75 35                	jne    0x412b58
412b23:	6a 00                	push   $0x0
412b25:	6a 00                	push   $0x0
412b27:	6a 01                	push   $0x1
412b29:	6a 00                	push   $0x0
412b2b:	ff d6                	call   *%esi
412b2d:	85 c0                	test   %eax,%eax
412b2f:	74 07                	je     0x412b38
412b31:	b8 02 00 00 00       	mov    $0x2,%eax
412b36:	eb 1b                	jmp    0x412b53
412b38:	6a 00                	push   $0x0
412b3a:	6a 00                	push   $0x0
412b3c:	6a 01                	push   $0x1
412b3e:	6a 00                	push   $0x0
412b40:	ff 15 48 96 43 00    	call   *0x439648
412b46:	85 c0                	test   %eax,%eax
412b48:	0f 84 ea 00 00 00    	je     0x412c38
412b4e:	b8 01 00 00 00       	mov    $0x1,%eax
412b53:	a3 d0 74 43 00       	mov    %eax,0x4374d0
412b58:	83 f8 02             	cmp    $0x2,%eax
412b5b:	75 1b                	jne    0x412b78
412b5d:	8b 44 24 20          	mov    0x20(%esp),%eax
412b61:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
412b65:	8b 54 24 18          	mov    0x18(%esp),%edx
412b69:	50                   	push   %eax
412b6a:	8b 44 24 18          	mov    0x18(%esp),%eax
412b6e:	51                   	push   %ecx
412b6f:	52                   	push   %edx
412b70:	50                   	push   %eax
412b71:	ff d6                	call   *%esi
412b73:	5f                   	pop    %edi
412b74:	5e                   	pop    %esi
412b75:	5d                   	pop    %ebp
412b76:	5b                   	pop    %ebx
412b77:	c3                   	ret
412b78:	83 f8 01             	cmp    $0x1,%eax
412b7b:	0f 85 c9 00 00 00    	jne    0x412c4a
412b81:	8b 44 24 24          	mov    0x24(%esp),%eax
412b85:	85 c0                	test   %eax,%eax
412b87:	75 0a                	jne    0x412b93
412b89:	8b 0d 80 73 43 00    	mov    0x437380,%ecx
412b8f:	89 4c 24 24          	mov    %ecx,0x24(%esp)
412b93:	8b 5c 24 18          	mov    0x18(%esp),%ebx
412b97:	8b 6c 24 14          	mov    0x14(%esp),%ebp
412b9b:	6a 00                	push   $0x0
412b9d:	6a 00                	push   $0x0
412b9f:	53                   	push   %ebx
412ba0:	55                   	push   %ebp
412ba1:	ff 15 48 96 43 00    	call   *0x439648
412ba7:	8b f8                	mov    %eax,%edi
412ba9:	85 ff                	test   %edi,%edi
412bab:	75 05                	jne    0x412bb2
412bad:	5f                   	pop    %edi
412bae:	5e                   	pop    %esi
412baf:	5d                   	pop    %ebp
412bb0:	5b                   	pop    %ebx
412bb1:	c3                   	ret
412bb2:	8d 14 3f             	lea    (%edi,%edi,1),%edx
412bb5:	52                   	push   %edx
412bb6:	e8 05 99 ff ff       	call   0x40c4c0
412bbb:	8b f0                	mov    %eax,%esi
412bbd:	83 c4 04             	add    $0x4,%esp
412bc0:	85 f6                	test   %esi,%esi
412bc2:	75 05                	jne    0x412bc9
412bc4:	5f                   	pop    %edi
412bc5:	5e                   	pop    %esi
412bc6:	5d                   	pop    %ebp
412bc7:	5b                   	pop    %ebx
412bc8:	c3                   	ret
412bc9:	57                   	push   %edi
412bca:	56                   	push   %esi
412bcb:	53                   	push   %ebx
412bcc:	55                   	push   %ebp
412bcd:	ff 15 48 96 43 00    	call   *0x439648
412bd3:	85 c0                	test   %eax,%eax
412bd5:	74 58                	je     0x412c2f
412bd7:	8b 44 24 20          	mov    0x20(%esp),%eax
412bdb:	6a 00                	push   $0x0
412bdd:	85 c0                	test   %eax,%eax
412bdf:	6a 00                	push   $0x0
412be1:	75 2d                	jne    0x412c10
412be3:	8b 44 24 2c          	mov    0x2c(%esp),%eax
412be7:	6a 00                	push   $0x0
412be9:	6a 00                	push   $0x0
412beb:	6a ff                	push   $0xffffffff
412bed:	56                   	push   %esi
412bee:	68 20 02 00 00       	push   $0x220
412bf3:	50                   	push   %eax
412bf4:	ff 15 f8 96 43 00    	call   *0x4396f8
412bfa:	8b f8                	mov    %eax,%edi
412bfc:	85 ff                	test   %edi,%edi
412bfe:	74 2f                	je     0x412c2f
412c00:	56                   	push   %esi
412c01:	e8 8a 99 ff ff       	call   0x40c590
412c06:	83 c4 04             	add    $0x4,%esp
412c09:	8b c7                	mov    %edi,%eax
412c0b:	5f                   	pop    %edi
412c0c:	5e                   	pop    %esi
412c0d:	5d                   	pop    %ebp
412c0e:	5b                   	pop    %ebx
412c0f:	c3                   	ret
412c10:	8b 4c 24 24          	mov    0x24(%esp),%ecx
412c14:	8b 54 24 2c          	mov    0x2c(%esp),%edx
412c18:	50                   	push   %eax
412c19:	51                   	push   %ecx
412c1a:	6a ff                	push   $0xffffffff
412c1c:	56                   	push   %esi
412c1d:	68 20 02 00 00       	push   $0x220
412c22:	52                   	push   %edx
412c23:	ff 15 f8 96 43 00    	call   *0x4396f8
412c29:	8b f8                	mov    %eax,%edi
412c2b:	85 ff                	test   %edi,%edi
412c2d:	75 10                	jne    0x412c3f
412c2f:	56                   	push   %esi
412c30:	e8 5b 99 ff ff       	call   0x40c590
412c35:	83 c4 04             	add    $0x4,%esp
412c38:	33 c0                	xor    %eax,%eax
412c3a:	5f                   	pop    %edi
412c3b:	5e                   	pop    %esi
412c3c:	5d                   	pop    %ebp
412c3d:	5b                   	pop    %ebx
412c3e:	c3                   	ret
412c3f:	56                   	push   %esi
412c40:	e8 4b 99 ff ff       	call   0x40c590
412c45:	83 c4 04             	add    $0x4,%esp
412c48:	8b c7                	mov    %edi,%eax
412c4a:	5f                   	pop    %edi
412c4b:	5e                   	pop    %esi
412c4c:	5d                   	pop    %ebp
412c4d:	5b                   	pop    %ebx
412c4e:	c3                   	ret
412c4f:	90                   	nop
412c50:	8b 4c 24 04          	mov    0x4(%esp),%ecx
412c54:	a1 a0 8a 43 00       	mov    0x438aa0,%eax
412c59:	53                   	push   %ebx
412c5a:	56                   	push   %esi
412c5b:	3b c8                	cmp    %eax,%ecx
412c5d:	57                   	push   %edi
412c5e:	73 66                	jae    0x412cc6
412c60:	8b c1                	mov    %ecx,%eax
412c62:	c1 f8 05             	sar    $0x5,%eax
412c65:	8d 3c 85 a0 89 43 00 	lea    0x4389a0(,%eax,4),%edi
412c6c:	8b c1                	mov    %ecx,%eax
412c6e:	83 e0 1f             	and    $0x1f,%eax
412c71:	8b 17                	mov    (%edi),%edx
412c73:	8d 34 c0             	lea    (%eax,%eax,8),%esi
412c76:	c1 e6 02             	shl    $0x2,%esi
412c79:	8a 5c 32 04          	mov    0x4(%edx,%esi,1),%bl
412c7d:	8d 04 32             	lea    (%edx,%esi,1),%eax
412c80:	ba 01 00 00 00       	mov    $0x1,%edx
412c85:	84 da                	test   %bl,%dl
412c87:	74 3d                	je     0x412cc6
412c89:	83 38 ff             	cmpl   $0xffffffff,(%eax)
412c8c:	74 38                	je     0x412cc6
412c8e:	39 15 f4 17 43 00    	cmp    %edx,0x4317f4
412c94:	75 21                	jne    0x412cb7
412c96:	83 e9 00             	sub    $0x0,%ecx
412c99:	74 12                	je     0x412cad
412c9b:	49                   	dec    %ecx
412c9c:	74 09                	je     0x412ca7
412c9e:	49                   	dec    %ecx
412c9f:	75 16                	jne    0x412cb7
412ca1:	6a 00                	push   $0x0
412ca3:	6a f4                	push   $0xfffffff4
412ca5:	eb 0a                	jmp    0x412cb1
412ca7:	6a 00                	push   $0x0
412ca9:	6a f5                	push   $0xfffffff5
412cab:	eb 04                	jmp    0x412cb1
412cad:	6a 00                	push   $0x0
412caf:	6a f6                	push   $0xfffffff6
412cb1:	ff 15 4c 96 43 00    	call   *0x43964c
412cb7:	8b 07                	mov    (%edi),%eax
412cb9:	c7 04 30 ff ff ff ff 	movl   $0xffffffff,(%eax,%esi,1)
412cc0:	33 c0                	xor    %eax,%eax
412cc2:	5f                   	pop    %edi
412cc3:	5e                   	pop    %esi
412cc4:	5b                   	pop    %ebx
412cc5:	c3                   	ret
412cc6:	e8 c5 a9 ff ff       	call   0x40d690
412ccb:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412cd1:	e8 ca a9 ff ff       	call   0x40d6a0
412cd6:	5f                   	pop    %edi
412cd7:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
412cdd:	5e                   	pop    %esi
412cde:	83 c8 ff             	or     $0xffffffff,%eax
412ce1:	5b                   	pop    %ebx
412ce2:	c3                   	ret
412ce3:	90                   	nop
412ce4:	90                   	nop
412ce5:	90                   	nop
412ce6:	90                   	nop
412ce7:	90                   	nop
412ce8:	90                   	nop
412ce9:	90                   	nop
412cea:	90                   	nop
412ceb:	90                   	nop
412cec:	90                   	nop
412ced:	90                   	nop
412cee:	90                   	nop
412cef:	90                   	nop
412cf0:	8b 44 24 04          	mov    0x4(%esp),%eax
412cf4:	8b 0d a0 8a 43 00    	mov    0x438aa0,%ecx
412cfa:	3b c1                	cmp    %ecx,%eax
412cfc:	73 21                	jae    0x412d1f
412cfe:	8b c8                	mov    %eax,%ecx
412d00:	83 e0 1f             	and    $0x1f,%eax
412d03:	c1 f9 05             	sar    $0x5,%ecx
412d06:	8d 14 c0             	lea    (%eax,%eax,8),%edx
412d09:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412d10:	8a 4c 90 04          	mov    0x4(%eax,%edx,4),%cl
412d14:	8d 04 90             	lea    (%eax,%edx,4),%eax
412d17:	f6 c1 01             	test   $0x1,%cl
412d1a:	74 03                	je     0x412d1f
412d1c:	8b 00                	mov    (%eax),%eax
412d1e:	c3                   	ret
412d1f:	e8 6c a9 ff ff       	call   0x40d690
412d24:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412d2a:	e8 71 a9 ff ff       	call   0x40d6a0
412d2f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
412d35:	83 c8 ff             	or     $0xffffffff,%eax
412d38:	c3                   	ret
412d39:	90                   	nop
412d3a:	90                   	nop
412d3b:	90                   	nop
412d3c:	90                   	nop
412d3d:	90                   	nop
412d3e:	90                   	nop
412d3f:	90                   	nop
412d40:	8b 44 24 04          	mov    0x4(%esp),%eax
412d44:	53                   	push   %ebx
412d45:	8b c8                	mov    %eax,%ecx
412d47:	83 e0 1f             	and    $0x1f,%eax
412d4a:	c1 f9 05             	sar    $0x5,%ecx
412d4d:	56                   	push   %esi
412d4e:	57                   	push   %edi
412d4f:	8b 34 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%esi
412d56:	8d 1c 8d a0 89 43 00 	lea    0x4389a0(,%ecx,4),%ebx
412d5d:	8d 3c c0             	lea    (%eax,%eax,8),%edi
412d60:	c1 e7 02             	shl    $0x2,%edi
412d63:	03 f7                	add    %edi,%esi
412d65:	8b 46 08             	mov    0x8(%esi),%eax
412d68:	85 c0                	test   %eax,%eax
412d6a:	75 28                	jne    0x412d94
412d6c:	6a 11                	push   $0x11
412d6e:	e8 cd c6 ff ff       	call   0x40f440
412d73:	8b 46 08             	mov    0x8(%esi),%eax
412d76:	83 c4 04             	add    $0x4,%esp
412d79:	85 c0                	test   %eax,%eax
412d7b:	75 0d                	jne    0x412d8a
412d7d:	8d 56 0c             	lea    0xc(%esi),%edx
412d80:	52                   	push   %edx
412d81:	ff 15 e0 96 43 00    	call   *0x4396e0
412d87:	ff 46 08             	incl   0x8(%esi)
412d8a:	6a 11                	push   $0x11
412d8c:	e8 2f c7 ff ff       	call   0x40f4c0
412d91:	83 c4 04             	add    $0x4,%esp
412d94:	8b 03                	mov    (%ebx),%eax
412d96:	8d 4c 38 0c          	lea    0xc(%eax,%edi,1),%ecx
412d9a:	51                   	push   %ecx
412d9b:	ff 15 c4 96 43 00    	call   *0x4396c4
412da1:	5f                   	pop    %edi
412da2:	5e                   	pop    %esi
412da3:	5b                   	pop    %ebx
412da4:	c3                   	ret
412da5:	90                   	nop
412da6:	90                   	nop
412da7:	90                   	nop
412da8:	90                   	nop
412da9:	90                   	nop
412daa:	90                   	nop
412dab:	90                   	nop
412dac:	90                   	nop
412dad:	90                   	nop
412dae:	90                   	nop
412daf:	90                   	nop
412db0:	8b 44 24 04          	mov    0x4(%esp),%eax