405b38:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405b3c:	0f 84 a9 00 00 00    	je     0x405beb
405b42:	e9 82 00 00 00       	jmp    0x405bc9
405b47:	8b 55 f4             	mov    -0xc(%ebp),%edx
405b4a:	33 c9                	xor    %ecx,%ecx
405b4c:	8a 0c 32             	mov    (%edx,%esi,1),%cl
405b4f:	46                   	inc    %esi
405b50:	f6 c1 80             	test   $0x80,%cl
405b53:	74 6c                	je     0x405bc1
405b55:	3b 75 08             	cmp    0x8(%ebp),%esi
405b58:	0f 83 d8 00 00 00    	jae    0x405c36
405b5e:	83 e1 3f             	and    $0x3f,%ecx
405b61:	f6 c1 20             	test   $0x20,%cl
405b64:	74 2e                	je     0x405b94
405b66:	8b 55 f4             	mov    -0xc(%ebp),%edx
405b69:	8a 14 32             	mov    (%edx,%esi,1),%dl
405b6c:	46                   	inc    %esi
405b6d:	8b da                	mov    %edx,%ebx
405b6f:	80 e3 c0             	and    $0xc0,%bl
405b72:	80 fb 80             	cmp    $0x80,%bl
405b75:	0f 85 bb 00 00 00    	jne    0x405c36
405b7b:	3b 75 08             	cmp    0x8(%ebp),%esi
405b7e:	0f 83 b2 00 00 00    	jae    0x405c36
405b84:	80 e2 3f             	and    $0x3f,%dl
405b87:	81 e2 ff 00 00 00    	and    $0xff,%edx
405b8d:	c1 e1 06             	shl    $0x6,%ecx
405b90:	0b d1                	or     %ecx,%edx
405b92:	8b ca                	mov    %edx,%ecx
405b94:	8b 55 f4             	mov    -0xc(%ebp),%edx
405b97:	8a 14 32             	mov    (%edx,%esi,1),%dl
405b9a:	46                   	inc    %esi
405b9b:	8b da                	mov    %edx,%ebx
405b9d:	80 e3 c0             	and    $0xc0,%bl
405ba0:	80 fb 80             	cmp    $0x80,%bl
405ba3:	0f 85 8d 00 00 00    	jne    0x405c36
405ba9:	80 e2 3f             	and    $0x3f,%dl
405bac:	81 e2 ff 00 00 00    	and    $0xff,%edx
405bb2:	c1 e1 06             	shl    $0x6,%ecx
405bb5:	66 0b d1             	or     %cx,%dx
405bb8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405bbb:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
405bbf:	eb 07                	jmp    0x405bc8
405bc1:	8b 55 fc             	mov    -0x4(%ebp),%edx
405bc4:	66 89 0c 42          	mov    %cx,(%edx,%eax,2)
405bc8:	40                   	inc    %eax
405bc9:	3b 75 08             	cmp    0x8(%ebp),%esi
405bcc:	73 09                	jae    0x405bd7
405bce:	3b 45 f8             	cmp    -0x8(%ebp),%eax
405bd1:	0f 82 70 ff ff ff    	jb     0x405b47
405bd7:	3b 45 f8             	cmp    -0x8(%ebp),%eax
405bda:	72 04                	jb     0x405be0
405bdc:	8b 45 f8             	mov    -0x8(%ebp),%eax
405bdf:	48                   	dec    %eax
405be0:	8b 55 fc             	mov    -0x4(%ebp),%edx
405be3:	66 c7 04 42 00 00    	movw   $0x0,(%edx,%eax,2)
405be9:	eb 47                	jmp    0x405c32
405beb:	3b 75 08             	cmp    0x8(%ebp),%esi
405bee:	73 42                	jae    0x405c32
405bf0:	8b 55 f4             	mov    -0xc(%ebp),%edx
405bf3:	8a 14 32             	mov    (%edx,%esi,1),%dl
405bf6:	46                   	inc    %esi
405bf7:	f6 c2 80             	test   $0x80,%dl
405bfa:	74 30                	je     0x405c2c
405bfc:	3b 75 08             	cmp    0x8(%ebp),%esi
405bff:	73 35                	jae    0x405c36
405c01:	80 e2 3f             	and    $0x3f,%dl
405c04:	f6 c2 20             	test   $0x20,%dl
405c07:	74 14                	je     0x405c1d
405c09:	8b 55 f4             	mov    -0xc(%ebp),%edx
405c0c:	8a 14 32             	mov    (%edx,%esi,1),%dl
405c0f:	46                   	inc    %esi
405c10:	80 e2 c0             	and    $0xc0,%dl
405c13:	80 fa 80             	cmp    $0x80,%dl
405c16:	75 1e                	jne    0x405c36
405c18:	3b 75 08             	cmp    0x8(%ebp),%esi
405c1b:	73 19                	jae    0x405c36
405c1d:	8b 55 f4             	mov    -0xc(%ebp),%edx
405c20:	8a 14 32             	mov    (%edx,%esi,1),%dl
405c23:	46                   	inc    %esi
405c24:	80 e2 c0             	and    $0xc0,%dl
405c27:	80 fa 80             	cmp    $0x80,%dl
405c2a:	75 0a                	jne    0x405c36
405c2c:	40                   	inc    %eax
405c2d:	3b 75 08             	cmp    0x8(%ebp),%esi
405c30:	72 be                	jb     0x405bf0
405c32:	40                   	inc    %eax
405c33:	89 45 f0             	mov    %eax,-0x10(%ebp)
405c36:	8b 45 f0             	mov    -0x10(%ebp),%eax
405c39:	5e                   	pop    %esi
405c3a:	5b                   	pop    %ebx
405c3b:	8b e5                	mov    %ebp,%esp
405c3d:	5d                   	pop    %ebp
405c3e:	c2 04 00             	ret    $0x4
405c41:	8d 40 00             	lea    0x0(%eax),%eax
405c44:	55                   	push   %ebp
405c45:	8b ec                	mov    %esp,%ebp
405c47:	6a 00                	push   $0x0
405c49:	53                   	push   %ebx
405c4a:	56                   	push   %esi
405c4b:	8b f2                	mov    %edx,%esi
405c4d:	8b d8                	mov    %eax,%ebx
405c4f:	33 c0                	xor    %eax,%eax
405c51:	55                   	push   %ebp
405c52:	68 e3 5c 40 00       	push   $0x405ce3
405c57:	64 ff 30             	push   %fs:(%eax)
405c5a:	64 89 20             	mov    %esp,%fs:(%eax)
405c5d:	8b c6                	mov    %esi,%eax
405c5f:	e8 ec e3 ff ff       	call   0x404050
405c64:	8b c3                	mov    %ebx,%eax
405c66:	33 d2                	xor    %edx,%edx
405c68:	e8 3b ec ff ff       	call   0x4048a8
405c6d:	74 5e                	je     0x405ccd
405c6f:	8b c3                	mov    %ebx,%eax
405c71:	e8 26 ec ff ff       	call   0x40489c
405c76:	8d 14 40             	lea    (%eax,%eax,2),%edx
405c79:	8d 45 fc             	lea    -0x4(%ebp),%eax
405c7c:	e8 1b ea ff ff       	call   0x40469c
405c81:	8b c3                	mov    %ebx,%eax
405c83:	e8 14 ec ff ff       	call   0x40489c
405c88:	50                   	push   %eax
405c89:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c8c:	e8 7f e6 ff ff       	call   0x404310
405c91:	40                   	inc    %eax
405c92:	50                   	push   %eax
405c93:	8b c3                	mov    %ebx,%eax
405c95:	e8 f2 eb ff ff       	call   0x40488c
405c9a:	50                   	push   %eax
405c9b:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c9e:	e8 6d e8 ff ff       	call   0x404510
405ca3:	59                   	pop    %ecx
405ca4:	5a                   	pop    %edx
405ca5:	e8 86 fd ff ff       	call   0x405a30
405caa:	85 c0                	test   %eax,%eax
405cac:	7e 0d                	jle    0x405cbb
405cae:	8b d0                	mov    %eax,%edx
405cb0:	4a                   	dec    %edx
405cb1:	8d 45 fc             	lea    -0x4(%ebp),%eax
405cb4:	e8 e3 e9 ff ff       	call   0x40469c
405cb9:	eb 08                	jmp    0x405cc3
405cbb:	8d 45 fc             	lea    -0x4(%ebp),%eax
405cbe:	e8 8d e3 ff ff       	call   0x404050
405cc3:	8b c6                	mov    %esi,%eax
405cc5:	8b 55 fc             	mov    -0x4(%ebp),%edx
405cc8:	e8 d7 e3 ff ff       	call   0x4040a4
405ccd:	33 c0                	xor    %eax,%eax
405ccf:	5a                   	pop    %edx
405cd0:	59                   	pop    %ecx
405cd1:	59                   	pop    %ecx
405cd2:	64 89 10             	mov    %edx,%fs:(%eax)
405cd5:	68 ea 5c 40 00       	push   $0x405cea
405cda:	8d 45 fc             	lea    -0x4(%ebp),%eax
405cdd:	e8 6e e3 ff ff       	call   0x404050
405ce2:	c3                   	ret
405ce3:	e9 6c dd ff ff       	jmp    0x403a54
405ce8:	eb f0                	jmp    0x405cda
405cea:	5e                   	pop    %esi
405ceb:	5b                   	pop    %ebx
405cec:	59                   	pop    %ecx
405ced:	5d                   	pop    %ebp
405cee:	c3                   	ret
405cef:	90                   	nop
405cf0:	55                   	push   %ebp
405cf1:	8b ec                	mov    %esp,%ebp
405cf3:	6a 00                	push   $0x0
405cf5:	53                   	push   %ebx
405cf6:	56                   	push   %esi
405cf7:	8b f2                	mov    %edx,%esi
405cf9:	8b d8                	mov    %eax,%ebx
405cfb:	33 c0                	xor    %eax,%eax
405cfd:	55                   	push   %ebp
405cfe:	68 87 5d 40 00       	push   $0x405d87
405d03:	64 ff 30             	push   %fs:(%eax)
405d06:	64 89 20             	mov    %esp,%fs:(%eax)
405d09:	8b c6                	mov    %esi,%eax
405d0b:	e8 20 ea ff ff       	call   0x404730
405d10:	85 db                	test   %ebx,%ebx
405d12:	74 5d                	je     0x405d71
405d14:	8b c3                	mov    %ebx,%eax
405d16:	e8 f5 e5 ff ff       	call   0x404310
405d1b:	8b d0                	mov    %eax,%edx
405d1d:	8d 45 fc             	lea    -0x4(%ebp),%eax
405d20:	e8 53 ec ff ff       	call   0x404978
405d25:	8b c3                	mov    %ebx,%eax
405d27:	e8 e4 e5 ff ff       	call   0x404310
405d2c:	50                   	push   %eax
405d2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d30:	e8 67 eb ff ff       	call   0x40489c
405d35:	40                   	inc    %eax
405d36:	50                   	push   %eax
405d37:	8b c3                	mov    %ebx,%eax
405d39:	e8 d2 e7 ff ff       	call   0x404510
405d3e:	50                   	push   %eax
405d3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d42:	e8 45 eb ff ff       	call   0x40488c
405d47:	59                   	pop    %ecx
405d48:	5a                   	pop    %edx
405d49:	e8 be fd ff ff       	call   0x405b0c
405d4e:	85 c0                	test   %eax,%eax
405d50:	7e 0d                	jle    0x405d5f
405d52:	8b d0                	mov    %eax,%edx
405d54:	4a                   	dec    %edx
405d55:	8d 45 fc             	lea    -0x4(%ebp),%eax
405d58:	e8 1b ec ff ff       	call   0x404978
405d5d:	eb 08                	jmp    0x405d67
405d5f:	8d 45 fc             	lea    -0x4(%ebp),%eax
405d62:	e8 c9 e9 ff ff       	call   0x404730
405d67:	8b c6                	mov    %esi,%eax
405d69:	8b 55 fc             	mov    -0x4(%ebp),%edx
405d6c:	e8 fb e9 ff ff       	call   0x40476c
405d71:	33 c0                	xor    %eax,%eax
405d73:	5a                   	pop    %edx
405d74:	59                   	pop    %ecx
405d75:	59                   	pop    %ecx
405d76:	64 89 10             	mov    %edx,%fs:(%eax)
405d79:	68 8e 5d 40 00       	push   $0x405d8e
405d7e:	8d 45 fc             	lea    -0x4(%ebp),%eax
405d81:	e8 aa e9 ff ff       	call   0x404730
405d86:	c3                   	ret
405d87:	e9 c8 dc ff ff       	jmp    0x403a54
405d8c:	eb f0                	jmp    0x405d7e
405d8e:	5e                   	pop    %esi
405d8f:	5b                   	pop    %ebx
405d90:	59                   	pop    %ecx
405d91:	5d                   	pop    %ebp
405d92:	c3                   	ret
405d93:	90                   	nop
405d94:	55                   	push   %ebp
405d95:	8b ec                	mov    %esp,%ebp
405d97:	6a 00                	push   $0x0
405d99:	53                   	push   %ebx
405d9a:	56                   	push   %esi
405d9b:	8b f2                	mov    %edx,%esi
405d9d:	8b d8                	mov    %eax,%ebx
405d9f:	33 c0                	xor    %eax,%eax
405da1:	55                   	push   %ebp
405da2:	68 d7 5d 40 00       	push   $0x405dd7
405da7:	64 ff 30             	push   %fs:(%eax)
405daa:	64 89 20             	mov    %esp,%fs:(%eax)
405dad:	8d 45 fc             	lea    -0x4(%ebp),%eax
405db0:	8b d3                	mov    %ebx,%edx
405db2:	e8 c5 ea ff ff       	call   0x40487c
405db7:	8b 45 fc             	mov    -0x4(%ebp),%eax
405dba:	8b d6                	mov    %esi,%edx
405dbc:	e8 83 fe ff ff       	call   0x405c44
405dc1:	33 c0                	xor    %eax,%eax
405dc3:	5a                   	pop    %edx
405dc4:	59                   	pop    %ecx
405dc5:	59                   	pop    %ecx
405dc6:	64 89 10             	mov    %edx,%fs:(%eax)
405dc9:	68 de 5d 40 00       	push   $0x405dde
405dce:	8d 45 fc             	lea    -0x4(%ebp),%eax
405dd1:	e8 5a e9 ff ff       	call   0x404730
405dd6:	c3                   	ret
405dd7:	e9 78 dc ff ff       	jmp    0x403a54
405ddc:	eb f0                	jmp    0x405dce
405dde:	5e                   	pop    %esi
405ddf:	5b                   	pop    %ebx
405de0:	59                   	pop    %ecx
405de1:	5d                   	pop    %ebp
405de2:	c3                   	ret
405de3:	90                   	nop
405de4:	53                   	push   %ebx
405de5:	56                   	push   %esi
405de6:	81 c4 00 fc ff ff    	add    $0xfffffc00,%esp
405dec:	8b f2                	mov    %edx,%esi
405dee:	8b d8                	mov    %eax,%ebx
405df0:	85 db                	test   %ebx,%ebx
405df2:	74 3d                	je     0x405e31
405df4:	81 7b 04 00 00 01 00 	cmpl   $0x10000,0x4(%ebx)
405dfb:	7d 2a                	jge    0x405e27
405dfd:	68 00 04 00 00       	push   $0x400
405e02:	8d 44 24 04          	lea    0x4(%esp),%eax
405e06:	50                   	push   %eax
405e07:	8b 43 04             	mov    0x4(%ebx),%eax
405e0a:	50                   	push   %eax
405e0b:	8b 03                	mov    (%ebx),%eax
405e0d:	8b 00                	mov    (%eax),%eax
405e0f:	e8 08 f5 ff ff       	call   0x40531c
405e14:	50                   	push   %eax
405e15:	e8 aa b4 ff ff       	call   0x4012c4
405e1a:	8b c8                	mov    %eax,%ecx
405e1c:	8b d4                	mov    %esp,%edx
405e1e:	8b c6                	mov    %esi,%eax
405e20:	e8 1b e3 ff ff       	call   0x404140
405e25:	eb 0a                	jmp    0x405e31
405e27:	8b c6                	mov    %esi,%eax
405e29:	8b 53 04             	mov    0x4(%ebx),%edx
405e2c:	e8 17 e4 ff ff       	call   0x404248
405e31:	81 c4 00 04 00 00    	add    $0x400,%esp
405e37:	5e                   	pop    %esi
405e38:	5b                   	pop    %ebx
405e39:	c3                   	ret
405e3a:	8b c0                	mov    %eax,%eax
405e3c:	55                   	push   %ebp
405e3d:	8b ec                	mov    %esp,%ebp
405e3f:	83 c4 f0             	add    $0xfffffff0,%esp
405e42:	53                   	push   %ebx
405e43:	33 d2                	xor    %edx,%edx
405e45:	89 55 f0             	mov    %edx,-0x10(%ebp)
405e48:	33 d2                	xor    %edx,%edx
405e4a:	55                   	push   %ebp
405e4b:	68 a2 5e 40 00       	push   $0x405ea2
405e50:	64 ff 32             	push   %fs:(%edx)
405e53:	64 89 22             	mov    %esp,%fs:(%edx)
405e56:	6a 07                	push   $0x7
405e58:	8d 55 f5             	lea    -0xb(%ebp),%edx
405e5b:	52                   	push   %edx
405e5c:	68 04 10 00 00       	push   $0x1004
405e61:	50                   	push   %eax
405e62:	e8 25 b4 ff ff       	call   0x40128c
405e67:	8d 45 f0             	lea    -0x10(%ebp),%eax
405e6a:	8d 55 f5             	lea    -0xb(%ebp),%edx
405e6d:	b9 07 00 00 00       	mov    $0x7,%ecx
405e72:	e8 49 e4 ff ff       	call   0x4042c0
405e77:	8b 45 f0             	mov    -0x10(%ebp),%eax
405e7a:	8d 55 fc             	lea    -0x4(%ebp),%edx
405e7d:	e8 6a ce ff ff       	call   0x402cec
405e82:	8b d8                	mov    %eax,%ebx
405e84:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405e88:	74 02                	je     0x405e8c
405e8a:	33 db                	xor    %ebx,%ebx
405e8c:	33 c0                	xor    %eax,%eax
405e8e:	5a                   	pop    %edx
405e8f:	59                   	pop    %ecx
405e90:	59                   	pop    %ecx
405e91:	64 89 10             	mov    %edx,%fs:(%eax)
405e94:	68 a9 5e 40 00       	push   $0x405ea9
405e99:	8d 45 f0             	lea    -0x10(%ebp),%eax
405e9c:	e8 af e1 ff ff       	call   0x404050
405ea1:	c3                   	ret
405ea2:	e9 ad db ff ff       	jmp    0x403a54
405ea7:	eb f0                	jmp    0x405e99
405ea9:	8b c3                	mov    %ebx,%eax
405eab:	5b                   	pop    %ebx
405eac:	8b e5                	mov    %ebp,%esp
405eae:	5d                   	pop    %ebp
405eaf:	c3                   	ret
405eb0:	55                   	push   %ebp
405eb1:	8b ec                	mov    %esp,%ebp
405eb3:	33 c0                	xor    %eax,%eax
405eb5:	55                   	push   %ebp
405eb6:	68 fa 5e 40 00       	push   $0x405efa
405ebb:	64 ff 30             	push   %fs:(%eax)
405ebe:	64 89 20             	mov    %esp,%fs:(%eax)
405ec1:	ff 05 b8 55 47 00    	incl   0x4755b8
405ec7:	75 23                	jne    0x405eec
405ec9:	b8 4c 50 47 00       	mov    $0x47504c,%eax
405ece:	e8 91 cc ff ff       	call   0x402b64
405ed3:	b8 18 52 47 00       	mov    $0x475218,%eax
405ed8:	e8 87 cc ff ff       	call   0x402b64