405b44:	89 5d dc             	mov    %ebx,-0x24(%ebp)
405b47:	89 75 b4             	mov    %esi,-0x4c(%ebp)
405b4a:	89 5d b8             	mov    %ebx,-0x48(%ebp)
405b4d:	39 5e 14             	cmp    %ebx,0x14(%esi)
405b50:	0f 84 16 03 00 00    	je     0x405e6c
405b56:	8d 46 04             	lea    0x4(%esi),%eax
405b59:	39 18                	cmp    %ebx,(%eax)
405b5b:	75 20                	jne    0x405b7d
405b5d:	50                   	push   %eax
405b5e:	0f b7 46 30          	movzwl 0x30(%esi),%eax
405b62:	68 04 10 00 00       	push   $0x1004
405b67:	50                   	push   %eax
405b68:	8d 45 b4             	lea    -0x4c(%ebp),%eax
405b6b:	53                   	push   %ebx
405b6c:	50                   	push   %eax
405b6d:	e8 1d 79 00 00       	call   0x40d48f
405b72:	83 c4 14             	add    $0x14,%esp
405b75:	85 c0                	test   %eax,%eax
405b77:	0f 85 c7 02 00 00    	jne    0x405e44
405b7d:	6a 04                	push   $0x4
405b7f:	e8 dc 1f 00 00       	call   0x407b60
405b84:	6a 02                	push   $0x2
405b86:	bf 80 01 00 00       	mov    $0x180,%edi
405b8b:	57                   	push   %edi
405b8c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
405b8f:	e8 11 20 00 00       	call   0x407ba5
405b94:	6a 01                	push   $0x1
405b96:	57                   	push   %edi
405b97:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405b9a:	e8 06 20 00 00       	call   0x407ba5
405b9f:	6a 01                	push   $0x1
405ba1:	57                   	push   %edi
405ba2:	89 45 e0             	mov    %eax,-0x20(%ebp)
405ba5:	e8 fb 1f 00 00       	call   0x407ba5
405baa:	6a 01                	push   $0x1
405bac:	68 01 01 00 00       	push   $0x101
405bb1:	89 45 d8             	mov    %eax,-0x28(%ebp)
405bb4:	e8 ec 1f 00 00       	call   0x407ba5
405bb9:	83 c4 24             	add    $0x24,%esp
405bbc:	89 45 dc             	mov    %eax,-0x24(%ebp)
405bbf:	39 5d d4             	cmp    %ebx,-0x2c(%ebp)
405bc2:	0f 84 7c 02 00 00    	je     0x405e44
405bc8:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
405bcb:	0f 84 73 02 00 00    	je     0x405e44
405bd1:	3b c3                	cmp    %ebx,%eax
405bd3:	0f 84 6b 02 00 00    	je     0x405e44
405bd9:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
405bdc:	0f 84 62 02 00 00    	je     0x405e44
405be2:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
405be5:	0f 84 59 02 00 00    	je     0x405e44
405beb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
405bee:	89 18                	mov    %ebx,(%eax)
405bf0:	33 c0                	xor    %eax,%eax
405bf2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
405bf5:	88 04 08             	mov    %al,(%eax,%ecx,1)
405bf8:	40                   	inc    %eax
405bf9:	3d 00 01 00 00       	cmp    $0x100,%eax
405bfe:	7c f2                	jl     0x405bf2
405c00:	8d 45 e8             	lea    -0x18(%ebp),%eax
405c03:	50                   	push   %eax
405c04:	ff 76 04             	push   0x4(%esi)
405c07:	ff 15 bc a0 41 00    	call   *0x41a0bc
405c0d:	85 c0                	test   %eax,%eax
405c0f:	0f 84 2f 02 00 00    	je     0x405e44
405c15:	83 7d e8 05          	cmpl   $0x5,-0x18(%ebp)
405c19:	0f 87 25 02 00 00    	ja     0x405e44
405c1f:	0f b7 45 e8          	movzwl -0x18(%ebp),%eax
405c23:	83 f8 01             	cmp    $0x1,%eax
405c26:	89 45 d0             	mov    %eax,-0x30(%ebp)
405c29:	7e 2d                	jle    0x405c58
405c2b:	38 5d ee             	cmp    %bl,-0x12(%ebp)
405c2e:	74 28                	je     0x405c58
405c30:	8d 45 ef             	lea    -0x11(%ebp),%eax
405c33:	8a 08                	mov    (%eax),%cl
405c35:	3a cb                	cmp    %bl,%cl
405c37:	74 1f                	je     0x405c58
405c39:	0f b6 78 ff          	movzbl -0x1(%eax),%edi
405c3d:	0f b6 c9             	movzbl %cl,%ecx
405c40:	eb 0b                	jmp    0x405c4d
405c42:	8b 4d dc             	mov    -0x24(%ebp),%ecx
405c45:	c6 04 0f 20          	movb   $0x20,(%edi,%ecx,1)
405c49:	0f b6 08             	movzbl (%eax),%ecx
405c4c:	47                   	inc    %edi
405c4d:	3b f9                	cmp    %ecx,%edi
405c4f:	7e f1                	jle    0x405c42
405c51:	40                   	inc    %eax
405c52:	40                   	inc    %eax
405c53:	38 58 ff             	cmp    %bl,-0x1(%eax)
405c56:	75 db                	jne    0x405c33
405c58:	8b 45 e4             	mov    -0x1c(%ebp),%eax
405c5b:	53                   	push   %ebx
405c5c:	53                   	push   %ebx
405c5d:	ff 76 04             	push   0x4(%esi)
405c60:	05 00 01 00 00       	add    $0x100,%eax
405c65:	50                   	push   %eax
405c66:	68 00 01 00 00       	push   $0x100
405c6b:	ff 75 dc             	push   -0x24(%ebp)
405c6e:	89 45 c0             	mov    %eax,-0x40(%ebp)
405c71:	6a 01                	push   $0x1
405c73:	53                   	push   %ebx
405c74:	e8 d4 77 00 00       	call   0x40d44d
405c79:	83 c4 20             	add    $0x20,%esp
405c7c:	85 c0                	test   %eax,%eax
405c7e:	0f 84 c0 01 00 00    	je     0x405e44
405c84:	8b 4d e0             	mov    -0x20(%ebp),%ecx
405c87:	8b 45 dc             	mov    -0x24(%ebp),%eax
405c8a:	53                   	push   %ebx
405c8b:	ff 76 04             	push   0x4(%esi)
405c8e:	bf ff 00 00 00       	mov    $0xff,%edi
405c93:	57                   	push   %edi
405c94:	81 c1 81 00 00 00    	add    $0x81,%ecx
405c9a:	51                   	push   %ecx
405c9b:	57                   	push   %edi
405c9c:	40                   	inc    %eax
405c9d:	50                   	push   %eax
405c9e:	68 00 01 00 00       	push   $0x100
405ca3:	ff 76 14             	push   0x14(%esi)
405ca6:	53                   	push   %ebx
405ca7:	e8 81 23 00 00       	call   0x40802d
405cac:	83 c4 24             	add    $0x24,%esp
405caf:	85 c0                	test   %eax,%eax
405cb1:	0f 84 8d 01 00 00    	je     0x405e44
405cb7:	8b 45 d8             	mov    -0x28(%ebp),%eax
405cba:	53                   	push   %ebx
405cbb:	ff 76 04             	push   0x4(%esi)
405cbe:	05 81 00 00 00       	add    $0x81,%eax
405cc3:	57                   	push   %edi
405cc4:	50                   	push   %eax
405cc5:	8b 45 dc             	mov    -0x24(%ebp),%eax
405cc8:	57                   	push   %edi
405cc9:	40                   	inc    %eax
405cca:	50                   	push   %eax
405ccb:	68 00 02 00 00       	push   $0x200
405cd0:	ff 76 14             	push   0x14(%esi)
405cd3:	53                   	push   %ebx
405cd4:	e8 54 23 00 00       	call   0x40802d
405cd9:	83 c4 24             	add    $0x24,%esp
405cdc:	85 c0                	test   %eax,%eax
405cde:	0f 84 60 01 00 00    	je     0x405e44
405ce4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
405ce7:	8b 7d e0             	mov    -0x20(%ebp),%edi
405cea:	8d 88 fe 00 00 00    	lea    0xfe(%eax),%ecx
405cf0:	33 d2                	xor    %edx,%edx
405cf2:	83 7d d0 01          	cmpl   $0x1,-0x30(%ebp)
405cf6:	66 89 11             	mov    %dx,(%ecx)
405cf9:	8b 55 d8             	mov    -0x28(%ebp),%edx
405cfc:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
405cff:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
405d05:	88 5f 7f             	mov    %bl,0x7f(%edi)
405d08:	88 5a 7f             	mov    %bl,0x7f(%edx)
405d0b:	88 19                	mov    %bl,(%ecx)
405d0d:	89 4d bc             	mov    %ecx,-0x44(%ebp)
405d10:	8d 8a 80 00 00 00    	lea    0x80(%edx),%ecx
405d16:	89 4d c8             	mov    %ecx,-0x38(%ebp)
405d19:	88 19                	mov    %bl,(%ecx)
405d1b:	7e 53                	jle    0x405d70
405d1d:	38 5d ee             	cmp    %bl,-0x12(%ebp)
405d20:	74 4e                	je     0x405d70
405d22:	8d 4d ef             	lea    -0x11(%ebp),%ecx
405d25:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
405d28:	8a 11                	mov    (%ecx),%dl
405d2a:	3a d3                	cmp    %bl,%dl
405d2c:	74 42                	je     0x405d70
405d2e:	0f b6 49 ff          	movzbl -0x1(%ecx),%ecx
405d32:	0f b6 d2             	movzbl %dl,%edx
405d35:	3b ca                	cmp    %edx,%ecx
405d37:	89 4d e0             	mov    %ecx,-0x20(%ebp)
405d3a:	7f 27                	jg     0x405d63
405d3c:	8d 8c 48 00 01 00 00 	lea    0x100(%eax,%ecx,2),%ecx
405d43:	eb 03                	jmp    0x405d48
405d45:	8b 4d cc             	mov    -0x34(%ebp),%ecx
405d48:	ff 45 e0             	incl   -0x20(%ebp)
405d4b:	ba 00 80 00 00       	mov    $0x8000,%edx
405d50:	66 89 11             	mov    %dx,(%ecx)
405d53:	41                   	inc    %ecx
405d54:	41                   	inc    %ecx
405d55:	89 4d cc             	mov    %ecx,-0x34(%ebp)
405d58:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
405d5b:	0f b6 09             	movzbl (%ecx),%ecx
405d5e:	39 4d e0             	cmp    %ecx,-0x20(%ebp)
405d61:	7e e2                	jle    0x405d45
405d63:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
405d66:	41                   	inc    %ecx
405d67:	41                   	inc    %ecx
405d68:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
405d6b:	38 59 ff             	cmp    %bl,-0x1(%ecx)
405d6e:	75 b8                	jne    0x405d28
405d70:	68 fe 00 00 00       	push   $0xfe
405d75:	8d 88 00 02 00 00    	lea    0x200(%eax),%ecx
405d7b:	51                   	push   %ecx
405d7c:	50                   	push   %eax
405d7d:	e8 7e 23 00 00       	call   0x408100
405d82:	6a 7f                	push   $0x7f
405d84:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
405d8a:	50                   	push   %eax
405d8b:	57                   	push   %edi
405d8c:	e8 6f 23 00 00       	call   0x408100
405d91:	8b 45 d8             	mov    -0x28(%ebp),%eax
405d94:	6a 7f                	push   $0x7f
405d96:	8d 88 00 01 00 00    	lea    0x100(%eax),%ecx
405d9c:	51                   	push   %ecx
405d9d:	50                   	push   %eax
405d9e:	e8 5d 23 00 00       	call   0x408100
405da3:	8b 86 c0 00 00 00    	mov    0xc0(%esi),%eax
405da9:	83 c4 24             	add    $0x24,%esp
405dac:	3b c3                	cmp    %ebx,%eax
405dae:	74 4b                	je     0x405dfb
405db0:	50                   	push   %eax
405db1:	ff 15 78 a0 41 00    	call   *0x41a078
405db7:	85 c0                	test   %eax,%eax
405db9:	75 40                	jne    0x405dfb
405dbb:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
405dc1:	2d fe 00 00 00       	sub    $0xfe,%eax
405dc6:	50                   	push   %eax
405dc7:	e8 54 f2 ff ff       	call   0x405020
405dcc:	8b 86 cc 00 00 00    	mov    0xcc(%esi),%eax
405dd2:	bf 80 00 00 00       	mov    $0x80,%edi
405dd7:	2b c7                	sub    %edi,%eax
405dd9:	50                   	push   %eax
405dda:	e8 41 f2 ff ff       	call   0x405020
405ddf:	8b 86 d0 00 00 00    	mov    0xd0(%esi),%eax
405de5:	2b c7                	sub    %edi,%eax
405de7:	50                   	push   %eax
405de8:	e8 33 f2 ff ff       	call   0x405020
405ded:	ff b6 c0 00 00 00    	push   0xc0(%esi)
405df3:	e8 28 f2 ff ff       	call   0x405020
405df8:	83 c4 10             	add    $0x10,%esp
405dfb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
405dfe:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
405e04:	89 86 c0 00 00 00    	mov    %eax,0xc0(%esi)
405e0a:	8b 45 c0             	mov    -0x40(%ebp),%eax
405e0d:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
405e13:	8b 45 c4             	mov    -0x3c(%ebp),%eax
405e16:	89 86 c4 00 00 00    	mov    %eax,0xc4(%esi)
405e1c:	8b 45 bc             	mov    -0x44(%ebp),%eax
405e1f:	89 86 cc 00 00 00    	mov    %eax,0xcc(%esi)
405e25:	8b 45 c8             	mov    -0x38(%ebp),%eax
405e28:	89 86 d0 00 00 00    	mov    %eax,0xd0(%esi)
405e2e:	8b 45 d0             	mov    -0x30(%ebp),%eax
405e31:	89 86 ac 00 00 00    	mov    %eax,0xac(%esi)
405e37:	ff 75 dc             	push   -0x24(%ebp)
405e3a:	e8 e1 f1 ff ff       	call   0x405020
405e3f:	59                   	pop    %ecx
405e40:	8b c3                	mov    %ebx,%eax
405e42:	eb 6d                	jmp    0x405eb1
405e44:	ff 75 d4             	push   -0x2c(%ebp)
405e47:	e8 d4 f1 ff ff       	call   0x405020
405e4c:	ff 75 e4             	push   -0x1c(%ebp)
405e4f:	e8 cc f1 ff ff       	call   0x405020
405e54:	ff 75 e0             	push   -0x20(%ebp)
405e57:	e8 c4 f1 ff ff       	call   0x405020
405e5c:	ff 75 d8             	push   -0x28(%ebp)
405e5f:	e8 bc f1 ff ff       	call   0x405020
405e64:	33 db                	xor    %ebx,%ebx
405e66:	83 c4 10             	add    $0x10,%esp
405e69:	43                   	inc    %ebx
405e6a:	eb cb                	jmp    0x405e37
405e6c:	8d be c0 00 00 00    	lea    0xc0(%esi),%edi
405e72:	8b 07                	mov    (%edi),%eax
405e74:	3b c3                	cmp    %ebx,%eax
405e76:	74 07                	je     0x405e7f
405e78:	50                   	push   %eax
405e79:	ff 15 78 a0 41 00    	call   *0x41a078
405e7f:	89 1f                	mov    %ebx,(%edi)
405e81:	89 9e c4 00 00 00    	mov    %ebx,0xc4(%esi)
405e87:	c7 86 c8 00 00 00 e8 	movl   $0x41a4e8,0xc8(%esi)
405e8e:	a4 41 00
405e91:	c7 86 cc 00 00 00 70 	movl   $0x41a970,0xcc(%esi)
405e98:	a9 41 00
405e9b:	c7 86 d0 00 00 00 f0 	movl   $0x41aaf0,0xd0(%esi)
405ea2:	aa 41 00
405ea5:	c7 86 ac 00 00 00 01 	movl   $0x1,0xac(%esi)
405eac:	00 00 00
405eaf:	33 c0                	xor    %eax,%eax
405eb1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405eb4:	5f                   	pop    %edi
405eb5:	5e                   	pop    %esi
405eb6:	33 cd                	xor    %ebp,%ecx
405eb8:	5b                   	pop    %ebx
405eb9:	e8 68 07 00 00       	call   0x406626
405ebe:	c9                   	leave
405ebf:	c3                   	ret
405ec0:	e8 7c 4b 00 00       	call   0x40aa41
405ec5:	8b c8                	mov    %eax,%ecx
405ec7:	8b 41 6c             	mov    0x6c(%ecx),%eax
405eca:	3b 05 88 b8 42 00    	cmp    0x42b888,%eax
405ed0:	74 10                	je     0x405ee2
405ed2:	8b 15 a0 b7 42 00    	mov    0x42b7a0,%edx
405ed8:	85 51 70             	test   %edx,0x70(%ecx)
405edb:	75 05                	jne    0x405ee2
405edd:	e8 f1 0a 00 00       	call   0x4069d3
405ee2:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
405ee8:	c3                   	ret
405ee9:	8b ff                	mov    %edi,%edi
405eeb:	55                   	push   %ebp
405eec:	8b ec                	mov    %esp,%ebp
405eee:	8b 45 08             	mov    0x8(%ebp),%eax
405ef1:	85 c0                	test   %eax,%eax
405ef3:	75 06                	jne    0x405efb
405ef5:	5d                   	pop    %ebp
405ef6:	e9 c5 ff ff ff       	jmp    0x405ec0
405efb:	8b 00                	mov    (%eax),%eax
405efd:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
405f03:	5d                   	pop    %ebp
405f04:	c3                   	ret
405f05:	e8 37 4b 00 00       	call   0x40aa41
405f0a:	8b c8                	mov    %eax,%ecx
405f0c:	8b 41 6c             	mov    0x6c(%ecx),%eax
405f0f:	3b 05 88 b8 42 00    	cmp    0x42b888,%eax
405f15:	74 10                	je     0x405f27
405f17:	8b 15 a0 b7 42 00    	mov    0x42b7a0,%edx
405f1d:	85 51 70             	test   %edx,0x70(%ecx)
405f20:	75 05                	jne    0x405f27
405f22:	e8 ac 0a 00 00       	call   0x4069d3
405f27:	8b 40 04             	mov    0x4(%eax),%eax
405f2a:	c3                   	ret
405f2b:	e8 11 4b 00 00       	call   0x40aa41
405f30:	8b c8                	mov    %eax,%ecx
405f32:	8b 41 6c             	mov    0x6c(%ecx),%eax
405f35:	3b 05 88 b8 42 00    	cmp    0x42b888,%eax
405f3b:	74 10                	je     0x405f4d
405f3d:	8b 15 a0 b7 42 00    	mov    0x42b7a0,%edx
405f43:	85 51 70             	test   %edx,0x70(%ecx)
405f46:	75 05                	jne    0x405f4d
405f48:	e8 86 0a 00 00       	call   0x4069d3
405f4d:	83 c0 0c             	add    $0xc,%eax
405f50:	c3                   	ret
405f51:	cc                   	int3
405f52:	cc                   	int3
405f53:	cc                   	int3
405f54:	cc                   	int3
405f55:	cc                   	int3
405f56:	cc                   	int3
405f57:	cc                   	int3
405f58:	cc                   	int3
405f59:	cc                   	int3
405f5a:	cc                   	int3
405f5b:	cc                   	int3
405f5c:	cc                   	int3
405f5d:	cc                   	int3
405f5e:	cc                   	int3
405f5f:	cc                   	int3
405f60:	8b 4c 24 04          	mov    0x4(%esp),%ecx
405f64:	f7 c1 03 00 00 00    	test   $0x3,%ecx
405f6a:	74 24                	je     0x405f90
405f6c:	8a 01                	mov    (%ecx),%al
405f6e:	83 c1 01             	add    $0x1,%ecx
405f71:	84 c0                	test   %al,%al
405f73:	74 4e                	je     0x405fc3
405f75:	f7 c1 03 00 00 00    	test   $0x3,%ecx