406b70:	55                   	push   %ebp
406b71:	8b ec                	mov    %esp,%ebp
406b73:	ff 15 f0 11 43 00    	call   *0x4311f0
406b79:	0f b6 c0             	movzbl %al,%eax
406b7c:	85 c0                	test   %eax,%eax
406b7e:	74 03                	je     0x406b83
406b80:	cc                   	int3
406b81:	eb 23                	jmp    0x406ba6
406b83:	6a 01                	push   $0x1
406b85:	6a 00                	push   $0x0
406b87:	6a 1a                	push   $0x1a
406b89:	68 08 13 43 00       	push   $0x431308
406b8e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406b91:	51                   	push   %ecx
406b92:	ff 15 ec 11 43 00    	call   *0x4311ec
406b98:	83 c4 14             	add    $0x14,%esp
406b9b:	6a 01                	push   $0x1
406b9d:	ff 15 f4 11 43 00    	call   *0x4311f4
406ba3:	83 c4 04             	add    $0x4,%esp
406ba6:	5d                   	pop    %ebp
406ba7:	c3                   	ret
406ba8:	cc                   	int3
406ba9:	cc                   	int3
406baa:	cc                   	int3
406bab:	cc                   	int3
406bac:	cc                   	int3
406bad:	cc                   	int3
406bae:	cc                   	int3
406baf:	cc                   	int3
406bb0:	55                   	push   %ebp
406bb1:	8b ec                	mov    %esp,%ebp
406bb3:	56                   	push   %esi
406bb4:	8b 75 08             	mov    0x8(%ebp),%esi
406bb7:	0f af 75 0c          	imul   0xc(%ebp),%esi
406bbb:	57                   	push   %edi
406bbc:	e8 6f fe ff ff       	call   0x406a30
406bc1:	8b d0                	mov    %eax,%edx
406bc3:	a1 24 12 43 00       	mov    0x431224,%eax
406bc8:	8b 08                	mov    (%eax),%ecx
406bca:	8b 01                	mov    (%ecx),%eax
406bcc:	85 d2                	test   %edx,%edx
406bce:	75 18                	jne    0x406be8
406bd0:	56                   	push   %esi
406bd1:	ff 50 0c             	call   *0xc(%eax)
406bd4:	56                   	push   %esi
406bd5:	8b f8                	mov    %eax,%edi
406bd7:	6a 00                	push   $0x0
406bd9:	57                   	push   %edi
406bda:	e8 e1 47 00 00       	call   0x40b3c0
406bdf:	83 c4 0c             	add    $0xc,%esp
406be2:	8b c7                	mov    %edi,%eax
406be4:	5f                   	pop    %edi
406be5:	5e                   	pop    %esi
406be6:	5d                   	pop    %ebp
406be7:	c3                   	ret
406be8:	6a 00                	push   $0x0
406bea:	6a 00                	push   $0x0
406bec:	6a 00                	push   $0x0
406bee:	52                   	push   %edx
406bef:	56                   	push   %esi
406bf0:	ff 50 08             	call   *0x8(%eax)
406bf3:	56                   	push   %esi
406bf4:	8b f8                	mov    %eax,%edi
406bf6:	6a 00                	push   $0x0
406bf8:	57                   	push   %edi
406bf9:	e8 c2 47 00 00       	call   0x40b3c0
406bfe:	83 c4 0c             	add    $0xc,%esp
406c01:	8b c7                	mov    %edi,%eax
406c03:	5f                   	pop    %edi
406c04:	5e                   	pop    %esi
406c05:	5d                   	pop    %ebp
406c06:	c3                   	ret
406c07:	cc                   	int3
406c08:	cc                   	int3
406c09:	cc                   	int3
406c0a:	cc                   	int3
406c0b:	cc                   	int3
406c0c:	cc                   	int3
406c0d:	cc                   	int3
406c0e:	cc                   	int3
406c0f:	cc                   	int3
406c10:	55                   	push   %ebp
406c11:	8b ec                	mov    %esp,%ebp
406c13:	a1 24 12 43 00       	mov    0x431224,%eax
406c18:	6a 00                	push   $0x0
406c1a:	ff 75 08             	push   0x8(%ebp)
406c1d:	8b 08                	mov    (%eax),%ecx
406c1f:	8b 01                	mov    (%ecx),%eax
406c21:	ff 50 1c             	call   *0x1c(%eax)
406c24:	5d                   	pop    %ebp
406c25:	c3                   	ret
406c26:	cc                   	int3
406c27:	cc                   	int3
406c28:	cc                   	int3
406c29:	cc                   	int3
406c2a:	cc                   	int3
406c2b:	cc                   	int3
406c2c:	cc                   	int3
406c2d:	cc                   	int3
406c2e:	cc                   	int3
406c2f:	cc                   	int3
406c30:	55                   	push   %ebp
406c31:	8b ec                	mov    %esp,%ebp
406c33:	e8 f8 fd ff ff       	call   0x406a30
406c38:	8b d0                	mov    %eax,%edx
406c3a:	a1 24 12 43 00       	mov    0x431224,%eax
406c3f:	8b 08                	mov    (%eax),%ecx
406c41:	8b 01                	mov    (%ecx),%eax
406c43:	85 d2                	test   %edx,%edx
406c45:	75 08                	jne    0x406c4f
406c47:	ff 75 08             	push   0x8(%ebp)
406c4a:	ff 50 0c             	call   *0xc(%eax)
406c4d:	5d                   	pop    %ebp
406c4e:	c3                   	ret
406c4f:	6a 00                	push   $0x0
406c51:	6a 00                	push   $0x0
406c53:	6a 00                	push   $0x0
406c55:	52                   	push   %edx
406c56:	ff 75 08             	push   0x8(%ebp)
406c59:	ff 50 08             	call   *0x8(%eax)
406c5c:	5d                   	pop    %ebp
406c5d:	c3                   	ret
406c5e:	cc                   	int3
406c5f:	cc                   	int3
406c60:	55                   	push   %ebp
406c61:	8b ec                	mov    %esp,%ebp
406c63:	53                   	push   %ebx
406c64:	56                   	push   %esi
406c65:	8b 75 0c             	mov    0xc(%ebp),%esi
406c68:	0f af 75 10          	imul   0x10(%ebp),%esi
406c6c:	57                   	push   %edi
406c6d:	e8 be fd ff ff       	call   0x406a30
406c72:	8b 5d 08             	mov    0x8(%ebp),%ebx
406c75:	8b d0                	mov    %eax,%edx
406c77:	a1 24 12 43 00       	mov    0x431224,%eax
406c7c:	8b 08                	mov    (%eax),%ecx
406c7e:	8b 01                	mov    (%ecx),%eax
406c80:	85 d2                	test   %edx,%edx
406c82:	75 07                	jne    0x406c8b
406c84:	56                   	push   %esi
406c85:	53                   	push   %ebx
406c86:	ff 50 14             	call   *0x14(%eax)
406c89:	eb 0a                	jmp    0x406c95
406c8b:	6a 00                	push   $0x0
406c8d:	6a 00                	push   $0x0
406c8f:	52                   	push   %edx
406c90:	56                   	push   %esi
406c91:	53                   	push   %ebx
406c92:	ff 50 10             	call   *0x10(%eax)
406c95:	8b f8                	mov    %eax,%edi
406c97:	85 db                	test   %ebx,%ebx
406c99:	75 0b                	jne    0x406ca6
406c9b:	56                   	push   %esi
406c9c:	53                   	push   %ebx
406c9d:	57                   	push   %edi
406c9e:	e8 1d 47 00 00       	call   0x40b3c0
406ca3:	83 c4 0c             	add    $0xc,%esp
406ca6:	8b c7                	mov    %edi,%eax
406ca8:	5f                   	pop    %edi
406ca9:	5e                   	pop    %esi
406caa:	5b                   	pop    %ebx
406cab:	5d                   	pop    %ebp
406cac:	c3                   	ret
406cad:	cc                   	int3
406cae:	cc                   	int3
406caf:	cc                   	int3
406cb0:	55                   	push   %ebp
406cb1:	8b ec                	mov    %esp,%ebp
406cb3:	8d 45 10             	lea    0x10(%ebp),%eax
406cb6:	50                   	push   %eax
406cb7:	ff 75 0c             	push   0xc(%ebp)
406cba:	68 00 02 00 00       	push   $0x200
406cbf:	ff 75 08             	push   0x8(%ebp)
406cc2:	ff 15 34 12 43 00    	call   *0x431234
406cc8:	83 c4 10             	add    $0x10,%esp
406ccb:	5d                   	pop    %ebp
406ccc:	c3                   	ret
406ccd:	cc                   	int3
406cce:	cc                   	int3
406ccf:	cc                   	int3
406cd0:	55                   	push   %ebp
406cd1:	8b ec                	mov    %esp,%ebp
406cd3:	8b 45 0c             	mov    0xc(%ebp),%eax
406cd6:	8b 00                	mov    (%eax),%eax
406cd8:	3d ff ff ff 07       	cmp    $0x7ffffff,%eax
406cdd:	77 41                	ja     0x406d20
406cdf:	c1 e0 05             	shl    $0x5,%eax
406ce2:	85 c0                	test   %eax,%eax
406ce4:	75 02                	jne    0x406ce8
406ce6:	5d                   	pop    %ebp
406ce7:	c3                   	ret
406ce8:	3d 00 10 00 00       	cmp    $0x1000,%eax
406ced:	72 26                	jb     0x406d15
406cef:	8d 48 23             	lea    0x23(%eax),%ecx
406cf2:	3b c8                	cmp    %eax,%ecx
406cf4:	76 2a                	jbe    0x406d20
406cf6:	51                   	push   %ecx
406cf7:	e8 c4 fc ff ff       	call   0x4069c0
406cfc:	8b c8                	mov    %eax,%ecx
406cfe:	83 c4 04             	add    $0x4,%esp
406d01:	85 c9                	test   %ecx,%ecx
406d03:	74 0b                	je     0x406d10
406d05:	8d 41 23             	lea    0x23(%ecx),%eax
406d08:	83 e0 e0             	and    $0xffffffe0,%eax
406d0b:	89 48 fc             	mov    %ecx,-0x4(%eax)
406d0e:	5d                   	pop    %ebp
406d0f:	c3                   	ret
406d10:	e9 e9 66 00 00       	jmp    0x40d3fe
406d15:	50                   	push   %eax
406d16:	e8 a5 fc ff ff       	call   0x4069c0
406d1b:	83 c4 04             	add    $0x4,%esp
406d1e:	5d                   	pop    %ebp
406d1f:	c3                   	ret
406d20:	e9 fb 1a 00 00       	jmp    0x408820
406d25:	cc                   	int3
406d26:	cc                   	int3
406d27:	cc                   	int3
406d28:	cc                   	int3
406d29:	cc                   	int3
406d2a:	cc                   	int3
406d2b:	cc                   	int3
406d2c:	cc                   	int3
406d2d:	cc                   	int3
406d2e:	cc                   	int3
406d2f:	cc                   	int3
406d30:	55                   	push   %ebp
406d31:	8b ec                	mov    %esp,%ebp
406d33:	56                   	push   %esi
406d34:	8b 75 0c             	mov    0xc(%ebp),%esi
406d37:	ff 06                	incl   (%esi)
406d39:	8b 06                	mov    (%esi),%eax
406d3b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
406d40:	77 42                	ja     0x406d84
406d42:	03 c0                	add    %eax,%eax
406d44:	75 05                	jne    0x406d4b
406d46:	ff 0e                	decl   (%esi)
406d48:	5e                   	pop    %esi
406d49:	5d                   	pop    %ebp
406d4a:	c3                   	ret
406d4b:	3d 00 10 00 00       	cmp    $0x1000,%eax
406d50:	72 24                	jb     0x406d76
406d52:	8d 48 23             	lea    0x23(%eax),%ecx
406d55:	3b c8                	cmp    %eax,%ecx
406d57:	76 2b                	jbe    0x406d84
406d59:	51                   	push   %ecx
406d5a:	e8 61 fc ff ff       	call   0x4069c0
406d5f:	8b c8                	mov    %eax,%ecx
406d61:	83 c4 04             	add    $0x4,%esp
406d64:	85 c9                	test   %ecx,%ecx
406d66:	74 21                	je     0x406d89
406d68:	8d 41 23             	lea    0x23(%ecx),%eax
406d6b:	83 e0 e0             	and    $0xffffffe0,%eax
406d6e:	89 48 fc             	mov    %ecx,-0x4(%eax)
406d71:	ff 0e                	decl   (%esi)
406d73:	5e                   	pop    %esi
406d74:	5d                   	pop    %ebp
406d75:	c3                   	ret
406d76:	50                   	push   %eax
406d77:	e8 44 fc ff ff       	call   0x4069c0
406d7c:	83 c4 04             	add    $0x4,%esp
406d7f:	ff 0e                	decl   (%esi)
406d81:	5e                   	pop    %esi
406d82:	5d                   	pop    %ebp
406d83:	c3                   	ret
406d84:	e8 97 1a 00 00       	call   0x408820
406d89:	e8 70 66 00 00       	call   0x40d3fe
406d8e:	cc                   	int3
406d8f:	cc                   	int3
406d90:	55                   	push   %ebp
406d91:	8b ec                	mov    %esp,%ebp
406d93:	53                   	push   %ebx
406d94:	56                   	push   %esi
406d95:	8b 75 0c             	mov    0xc(%ebp),%esi
406d98:	8b d9                	mov    %ecx,%ebx
406d9a:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
406da0:	77 7e                	ja     0x406e20
406da2:	83 fe 07             	cmp    $0x7,%esi
406da5:	77 25                	ja     0x406dcc
406da7:	89 73 10             	mov    %esi,0x10(%ebx)
406daa:	03 f6                	add    %esi,%esi
406dac:	56                   	push   %esi
406dad:	ff 75 08             	push   0x8(%ebp)
406db0:	c7 43 14 07 00 00 00 	movl   $0x7,0x14(%ebx)
406db7:	53                   	push   %ebx
406db8:	e8 83 40 00 00       	call   0x40ae40
406dbd:	83 c4 0c             	add    $0xc,%esp
406dc0:	33 c0                	xor    %eax,%eax
406dc2:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
406dc6:	5e                   	pop    %esi
406dc7:	5b                   	pop    %ebx
406dc8:	5d                   	pop    %ebp
406dc9:	c2 08 00             	ret    $0x8
406dcc:	8b c6                	mov    %esi,%eax
406dce:	83 c8 07             	or     $0x7,%eax
406dd1:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
406dd6:	76 07                	jbe    0x406ddf
406dd8:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
406ddd:	eb 0a                	jmp    0x406de9
406ddf:	b9 0a 00 00 00       	mov    $0xa,%ecx
406de4:	3b c1                	cmp    %ecx,%eax
406de6:	0f 42 c1             	cmovb  %ecx,%eax
406de9:	89 45 0c             	mov    %eax,0xc(%ebp)
406dec:	8d 45 0c             	lea    0xc(%ebp),%eax
406def:	57                   	push   %edi
406df0:	50                   	push   %eax
406df1:	53                   	push   %ebx
406df2:	e8 39 ff ff ff       	call   0x406d30
406df7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406dfa:	8b f8                	mov    %eax,%edi
406dfc:	89 73 10             	mov    %esi,0x10(%ebx)
406dff:	03 f6                	add    %esi,%esi
406e01:	56                   	push   %esi
406e02:	ff 75 08             	push   0x8(%ebp)
406e05:	89 3b                	mov    %edi,(%ebx)
406e07:	57                   	push   %edi
406e08:	89 4b 14             	mov    %ecx,0x14(%ebx)
406e0b:	e8 30 40 00 00       	call   0x40ae40
406e10:	83 c4 14             	add    $0x14,%esp
406e13:	33 c0                	xor    %eax,%eax
406e15:	66 89 04 3e          	mov    %ax,(%esi,%edi,1)
406e19:	5f                   	pop    %edi
406e1a:	5e                   	pop    %esi
406e1b:	5b                   	pop    %ebx
406e1c:	5d                   	pop    %ebp
406e1d:	c2 08 00             	ret    $0x8
406e20:	e8 2b 1a 00 00       	call   0x408850
406e25:	cc                   	int3
406e26:	cc                   	int3
406e27:	cc                   	int3
406e28:	cc                   	int3
406e29:	cc                   	int3
406e2a:	cc                   	int3
406e2b:	cc                   	int3
406e2c:	cc                   	int3
406e2d:	cc                   	int3
406e2e:	cc                   	int3
406e2f:	cc                   	int3
406e30:	55                   	push   %ebp
406e31:	8b ec                	mov    %esp,%ebp
406e33:	6a ff                	push   $0xffffffff
406e35:	68 5d 00 43 00       	push   $0x43005d
406e3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406e40:	50                   	push   %eax
406e41:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
406e48:	83 ec 18             	sub    $0x18,%esp
406e4b:	57                   	push   %edi
406e4c:	8b 7d 08             	mov    0x8(%ebp),%edi
406e4f:	8b c1                	mov    %ecx,%eax
406e51:	89 45 ec             	mov    %eax,-0x14(%ebp)
406e54:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)