405b4d:	3b c3                	cmp    %ebx,%eax
405b4f:	74 0b                	je     0x405b5c
405b51:	39 18                	cmp    %ebx,(%eax)
405b53:	75 07                	jne    0x405b5c
405b55:	50                   	push   %eax
405b56:	e8 10 c4 ff ff       	call   0x401f6b
405b5b:	59                   	pop    %ecx
405b5c:	83 c7 10             	add    $0x10,%edi
405b5f:	ff 4d 08             	decl   0x8(%ebp)
405b62:	75 c7                	jne    0x405b2b
405b64:	56                   	push   %esi
405b65:	e8 01 c4 ff ff       	call   0x401f6b
405b6a:	59                   	pop    %ecx
405b6b:	5f                   	pop    %edi
405b6c:	5e                   	pop    %esi
405b6d:	5b                   	pop    %ebx
405b6e:	5d                   	pop    %ebp
405b6f:	c3                   	ret
405b70:	8b ff                	mov    %edi,%edi
405b72:	55                   	push   %ebp
405b73:	8b ec                	mov    %esp,%ebp
405b75:	57                   	push   %edi
405b76:	8b 7d 0c             	mov    0xc(%ebp),%edi
405b79:	85 ff                	test   %edi,%edi
405b7b:	74 3b                	je     0x405bb8
405b7d:	8b 45 08             	mov    0x8(%ebp),%eax
405b80:	85 c0                	test   %eax,%eax
405b82:	74 34                	je     0x405bb8
405b84:	56                   	push   %esi
405b85:	8b 30                	mov    (%eax),%esi
405b87:	3b f7                	cmp    %edi,%esi
405b89:	74 28                	je     0x405bb3
405b8b:	57                   	push   %edi
405b8c:	89 38                	mov    %edi,(%eax)
405b8e:	e8 6a fd ff ff       	call   0x4058fd
405b93:	59                   	pop    %ecx
405b94:	85 f6                	test   %esi,%esi
405b96:	74 1b                	je     0x405bb3
405b98:	56                   	push   %esi
405b99:	e8 ee fd ff ff       	call   0x40598c
405b9e:	83 3e 00             	cmpl   $0x0,(%esi)
405ba1:	59                   	pop    %ecx
405ba2:	75 0f                	jne    0x405bb3
405ba4:	81 fe 90 2a 41 00    	cmp    $0x412a90,%esi
405baa:	74 07                	je     0x405bb3
405bac:	56                   	push   %esi
405bad:	e8 73 fe ff ff       	call   0x405a25
405bb2:	59                   	pop    %ecx
405bb3:	8b c7                	mov    %edi,%eax
405bb5:	5e                   	pop    %esi
405bb6:	eb 02                	jmp    0x405bba
405bb8:	33 c0                	xor    %eax,%eax
405bba:	5f                   	pop    %edi
405bbb:	5d                   	pop    %ebp
405bbc:	c3                   	ret
405bbd:	6a 0c                	push   $0xc
405bbf:	68 38 12 41 00       	push   $0x411238
405bc4:	e8 a7 e5 ff ff       	call   0x404170
405bc9:	e8 18 02 00 00       	call   0x405de6
405bce:	8b f0                	mov    %eax,%esi
405bd0:	a1 20 29 41 00       	mov    0x412920,%eax
405bd5:	85 46 70             	test   %eax,0x70(%esi)
405bd8:	74 22                	je     0x405bfc
405bda:	83 7e 6c 00          	cmpl   $0x0,0x6c(%esi)
405bde:	74 1c                	je     0x405bfc
405be0:	e8 01 02 00 00       	call   0x405de6
405be5:	8b 70 6c             	mov    0x6c(%eax),%esi
405be8:	85 f6                	test   %esi,%esi
405bea:	75 08                	jne    0x405bf4
405bec:	6a 20                	push   $0x20
405bee:	e8 24 08 00 00       	call   0x406417
405bf3:	59                   	pop    %ecx
405bf4:	8b c6                	mov    %esi,%eax
405bf6:	e8 ba e5 ff ff       	call   0x4041b5
405bfb:	c3                   	ret
405bfc:	6a 0c                	push   $0xc
405bfe:	e8 96 11 00 00       	call   0x406d99
405c03:	59                   	pop    %ecx
405c04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405c08:	ff 35 68 2b 41 00    	push   0x412b68
405c0e:	83 c6 6c             	add    $0x6c,%esi
405c11:	56                   	push   %esi
405c12:	e8 59 ff ff ff       	call   0x405b70
405c17:	59                   	pop    %ecx
405c18:	59                   	pop    %ecx
405c19:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405c1c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405c23:	e8 02 00 00 00       	call   0x405c2a
405c28:	eb be                	jmp    0x405be8
405c2a:	6a 0c                	push   $0xc
405c2c:	e8 8f 10 00 00       	call   0x406cc0
405c31:	59                   	pop    %ecx
405c32:	8b 75 e4             	mov    -0x1c(%ebp),%esi
405c35:	c3                   	ret
405c36:	6a 00                	push   $0x0
405c38:	ff 15 8c f0 40 00    	call   *0x40f08c
405c3e:	c3                   	ret
405c3f:	ff 15 c8 f0 40 00    	call   *0x40f0c8
405c45:	c2 04 00             	ret    $0x4
405c48:	8b ff                	mov    %edi,%edi
405c4a:	56                   	push   %esi
405c4b:	ff 35 70 2b 41 00    	push   0x412b70
405c51:	ff 15 cc f0 40 00    	call   *0x40f0cc
405c57:	8b f0                	mov    %eax,%esi
405c59:	85 f6                	test   %esi,%esi
405c5b:	75 1b                	jne    0x405c78
405c5d:	ff 35 48 32 41 00    	push   0x413248
405c63:	ff 15 90 f0 40 00    	call   *0x40f090
405c69:	8b f0                	mov    %eax,%esi
405c6b:	56                   	push   %esi
405c6c:	ff 35 70 2b 41 00    	push   0x412b70
405c72:	ff 15 d0 f0 40 00    	call   *0x40f0d0
405c78:	8b c6                	mov    %esi,%eax
405c7a:	5e                   	pop    %esi
405c7b:	c3                   	ret
405c7c:	a1 6c 2b 41 00       	mov    0x412b6c,%eax
405c81:	83 f8 ff             	cmp    $0xffffffff,%eax
405c84:	74 16                	je     0x405c9c
405c86:	50                   	push   %eax
405c87:	ff 35 50 32 41 00    	push   0x413250
405c8d:	ff 15 90 f0 40 00    	call   *0x40f090
405c93:	ff d0                	call   *%eax
405c95:	83 0d 6c 2b 41 00 ff 	orl    $0xffffffff,0x412b6c
405c9c:	a1 70 2b 41 00       	mov    0x412b70,%eax
405ca1:	83 f8 ff             	cmp    $0xffffffff,%eax
405ca4:	74 0e                	je     0x405cb4
405ca6:	50                   	push   %eax
405ca7:	ff 15 d4 f0 40 00    	call   *0x40f0d4
405cad:	83 0d 70 2b 41 00 ff 	orl    $0xffffffff,0x412b70
405cb4:	e9 b0 0f 00 00       	jmp    0x406c69
405cb9:	6a 08                	push   $0x8
405cbb:	68 58 12 41 00       	push   $0x411258
405cc0:	e8 ab e4 ff ff       	call   0x404170
405cc5:	68 4c f5 40 00       	push   $0x40f54c
405cca:	ff 15 d8 f0 40 00    	call   *0x40f0d8
405cd0:	8b 75 08             	mov    0x8(%ebp),%esi
405cd3:	c7 46 5c b0 08 41 00 	movl   $0x4108b0,0x5c(%esi)
405cda:	83 66 08 00          	andl   $0x0,0x8(%esi)
405cde:	33 ff                	xor    %edi,%edi
405ce0:	47                   	inc    %edi
405ce1:	89 7e 14             	mov    %edi,0x14(%esi)
405ce4:	89 7e 70             	mov    %edi,0x70(%esi)
405ce7:	c6 86 c8 00 00 00 43 	movb   $0x43,0xc8(%esi)
405cee:	c6 86 4b 01 00 00 43 	movb   $0x43,0x14b(%esi)
405cf5:	c7 46 68 00 24 41 00 	movl   $0x412400,0x68(%esi)
405cfc:	6a 0d                	push   $0xd
405cfe:	e8 96 10 00 00       	call   0x406d99
405d03:	59                   	pop    %ecx
405d04:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405d08:	ff 76 68             	push   0x68(%esi)
405d0b:	ff 15 b4 f0 40 00    	call   *0x40f0b4
405d11:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405d18:	e8 3e 00 00 00       	call   0x405d5b
405d1d:	6a 0c                	push   $0xc
405d1f:	e8 75 10 00 00       	call   0x406d99
405d24:	59                   	pop    %ecx
405d25:	89 7d fc             	mov    %edi,-0x4(%ebp)
405d28:	8b 45 0c             	mov    0xc(%ebp),%eax
405d2b:	89 46 6c             	mov    %eax,0x6c(%esi)
405d2e:	85 c0                	test   %eax,%eax
405d30:	75 08                	jne    0x405d3a
405d32:	a1 68 2b 41 00       	mov    0x412b68,%eax
405d37:	89 46 6c             	mov    %eax,0x6c(%esi)
405d3a:	ff 76 6c             	push   0x6c(%esi)
405d3d:	e8 bb fb ff ff       	call   0x4058fd
405d42:	59                   	pop    %ecx
405d43:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405d4a:	e8 15 00 00 00       	call   0x405d64
405d4f:	e8 61 e4 ff ff       	call   0x4041b5
405d54:	c3                   	ret
405d55:	33 ff                	xor    %edi,%edi
405d57:	47                   	inc    %edi
405d58:	8b 75 08             	mov    0x8(%ebp),%esi
405d5b:	6a 0d                	push   $0xd
405d5d:	e8 5e 0f 00 00       	call   0x406cc0
405d62:	59                   	pop    %ecx
405d63:	c3                   	ret
405d64:	6a 0c                	push   $0xc
405d66:	e8 55 0f 00 00       	call   0x406cc0
405d6b:	59                   	pop    %ecx
405d6c:	c3                   	ret
405d6d:	8b ff                	mov    %edi,%edi
405d6f:	56                   	push   %esi
405d70:	57                   	push   %edi
405d71:	ff 15 44 f0 40 00    	call   *0x40f044
405d77:	ff 35 6c 2b 41 00    	push   0x412b6c
405d7d:	8b f8                	mov    %eax,%edi
405d7f:	e8 c4 fe ff ff       	call   0x405c48
405d84:	ff d0                	call   *%eax
405d86:	8b f0                	mov    %eax,%esi
405d88:	85 f6                	test   %esi,%esi
405d8a:	75 4e                	jne    0x405dda
405d8c:	68 14 02 00 00       	push   $0x214
405d91:	6a 01                	push   $0x1
405d93:	e8 6c 0b 00 00       	call   0x406904
405d98:	8b f0                	mov    %eax,%esi
405d9a:	59                   	pop    %ecx
405d9b:	59                   	pop    %ecx
405d9c:	85 f6                	test   %esi,%esi
405d9e:	74 3a                	je     0x405dda
405da0:	56                   	push   %esi
405da1:	ff 35 6c 2b 41 00    	push   0x412b6c
405da7:	ff 35 4c 32 41 00    	push   0x41324c
405dad:	ff 15 90 f0 40 00    	call   *0x40f090
405db3:	ff d0                	call   *%eax
405db5:	85 c0                	test   %eax,%eax
405db7:	74 18                	je     0x405dd1
405db9:	6a 00                	push   $0x0
405dbb:	56                   	push   %esi
405dbc:	e8 f8 fe ff ff       	call   0x405cb9
405dc1:	59                   	pop    %ecx
405dc2:	59                   	pop    %ecx
405dc3:	ff 15 e0 f0 40 00    	call   *0x40f0e0
405dc9:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
405dcd:	89 06                	mov    %eax,(%esi)
405dcf:	eb 09                	jmp    0x405dda
405dd1:	56                   	push   %esi
405dd2:	e8 94 c1 ff ff       	call   0x401f6b
405dd7:	59                   	pop    %ecx
405dd8:	33 f6                	xor    %esi,%esi
405dda:	57                   	push   %edi
405ddb:	ff 15 dc f0 40 00    	call   *0x40f0dc
405de1:	5f                   	pop    %edi
405de2:	8b c6                	mov    %esi,%eax
405de4:	5e                   	pop    %esi
405de5:	c3                   	ret
405de6:	8b ff                	mov    %edi,%edi
405de8:	56                   	push   %esi
405de9:	e8 7f ff ff ff       	call   0x405d6d
405dee:	8b f0                	mov    %eax,%esi
405df0:	85 f6                	test   %esi,%esi
405df2:	75 08                	jne    0x405dfc
405df4:	6a 10                	push   $0x10
405df6:	e8 1c 06 00 00       	call   0x406417
405dfb:	59                   	pop    %ecx
405dfc:	8b c6                	mov    %esi,%eax
405dfe:	5e                   	pop    %esi
405dff:	c3                   	ret
405e00:	6a 08                	push   $0x8
405e02:	68 80 12 41 00       	push   $0x411280
405e07:	e8 64 e3 ff ff       	call   0x404170
405e0c:	8b 75 08             	mov    0x8(%ebp),%esi
405e0f:	85 f6                	test   %esi,%esi
405e11:	0f 84 f8 00 00 00    	je     0x405f0f
405e17:	8b 46 24             	mov    0x24(%esi),%eax
405e1a:	85 c0                	test   %eax,%eax
405e1c:	74 07                	je     0x405e25
405e1e:	50                   	push   %eax
405e1f:	e8 47 c1 ff ff       	call   0x401f6b
405e24:	59                   	pop    %ecx
405e25:	8b 46 2c             	mov    0x2c(%esi),%eax
405e28:	85 c0                	test   %eax,%eax
405e2a:	74 07                	je     0x405e33
405e2c:	50                   	push   %eax
405e2d:	e8 39 c1 ff ff       	call   0x401f6b
405e32:	59                   	pop    %ecx
405e33:	8b 46 34             	mov    0x34(%esi),%eax
405e36:	85 c0                	test   %eax,%eax
405e38:	74 07                	je     0x405e41
405e3a:	50                   	push   %eax
405e3b:	e8 2b c1 ff ff       	call   0x401f6b
405e40:	59                   	pop    %ecx
405e41:	8b 46 3c             	mov    0x3c(%esi),%eax
405e44:	85 c0                	test   %eax,%eax
405e46:	74 07                	je     0x405e4f
405e48:	50                   	push   %eax
405e49:	e8 1d c1 ff ff       	call   0x401f6b
405e4e:	59                   	pop    %ecx
405e4f:	8b 46 40             	mov    0x40(%esi),%eax
405e52:	85 c0                	test   %eax,%eax
405e54:	74 07                	je     0x405e5d
405e56:	50                   	push   %eax
405e57:	e8 0f c1 ff ff       	call   0x401f6b
405e5c:	59                   	pop    %ecx
405e5d:	8b 46 44             	mov    0x44(%esi),%eax
405e60:	85 c0                	test   %eax,%eax
405e62:	74 07                	je     0x405e6b
405e64:	50                   	push   %eax
405e65:	e8 01 c1 ff ff       	call   0x401f6b
405e6a:	59                   	pop    %ecx
405e6b:	8b 46 48             	mov    0x48(%esi),%eax
405e6e:	85 c0                	test   %eax,%eax
405e70:	74 07                	je     0x405e79
405e72:	50                   	push   %eax
405e73:	e8 f3 c0 ff ff       	call   0x401f6b
405e78:	59                   	pop    %ecx
405e79:	8b 46 5c             	mov    0x5c(%esi),%eax
405e7c:	3d b0 08 41 00       	cmp    $0x4108b0,%eax
405e81:	74 07                	je     0x405e8a
405e83:	50                   	push   %eax
405e84:	e8 e2 c0 ff ff       	call   0x401f6b
405e89:	59                   	pop    %ecx
405e8a:	6a 0d                	push   $0xd
405e8c:	e8 08 0f 00 00       	call   0x406d99
405e91:	59                   	pop    %ecx
405e92:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405e96:	8b 7e 68             	mov    0x68(%esi),%edi
405e99:	85 ff                	test   %edi,%edi
405e9b:	74 1a                	je     0x405eb7
405e9d:	57                   	push   %edi
405e9e:	ff 15 b8 f0 40 00    	call   *0x40f0b8
405ea4:	85 c0                	test   %eax,%eax
405ea6:	75 0f                	jne    0x405eb7
405ea8:	81 ff 00 24 41 00    	cmp    $0x412400,%edi
405eae:	74 07                	je     0x405eb7
405eb0:	57                   	push   %edi
405eb1:	e8 b5 c0 ff ff       	call   0x401f6b
405eb6:	59                   	pop    %ecx
405eb7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405ebe:	e8 57 00 00 00       	call   0x405f1a
405ec3:	6a 0c                	push   $0xc
405ec5:	e8 cf 0e 00 00       	call   0x406d99
405eca:	59                   	pop    %ecx
405ecb:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
405ed2:	8b 7e 6c             	mov    0x6c(%esi),%edi
405ed5:	85 ff                	test   %edi,%edi
405ed7:	74 23                	je     0x405efc
405ed9:	57                   	push   %edi
405eda:	e8 ad fa ff ff       	call   0x40598c
405edf:	59                   	pop    %ecx
405ee0:	3b 3d 68 2b 41 00    	cmp    0x412b68,%edi
405ee6:	74 14                	je     0x405efc
405ee8:	81 ff 90 2a 41 00    	cmp    $0x412a90,%edi
405eee:	74 0c                	je     0x405efc
405ef0:	83 3f 00             	cmpl   $0x0,(%edi)
405ef3:	75 07                	jne    0x405efc
405ef5:	57                   	push   %edi
405ef6:	e8 2a fb ff ff       	call   0x405a25
405efb:	59                   	pop    %ecx
405efc:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405f03:	e8 1e 00 00 00       	call   0x405f26
405f08:	56                   	push   %esi
405f09:	e8 5d c0 ff ff       	call   0x401f6b
405f0e:	59                   	pop    %ecx
405f0f:	e8 a1 e2 ff ff       	call   0x4041b5
405f14:	c2 04 00             	ret    $0x4
405f17:	8b 75 08             	mov    0x8(%ebp),%esi
405f1a:	6a 0d                	push   $0xd
405f1c:	e8 9f 0d 00 00       	call   0x406cc0
405f21:	59                   	pop    %ecx
405f22:	c3                   	ret
405f23:	8b 75 08             	mov    0x8(%ebp),%esi
405f26:	6a 0c                	push   $0xc
405f28:	e8 93 0d 00 00       	call   0x406cc0
405f2d:	59                   	pop    %ecx
405f2e:	c3                   	ret
405f2f:	8b ff                	mov    %edi,%edi
405f31:	57                   	push   %edi
405f32:	68 4c f5 40 00       	push   $0x40f54c
405f37:	ff 15 d8 f0 40 00    	call   *0x40f0d8