595c6a:	0f 85 a8 00 00 00    	jne    0x595d18
595c70:	83 fa 06             	cmp    $0x6,%edx
595c73:	7d 07                	jge    0x595c7c
595c75:	5f                   	pop    %edi
595c76:	5e                   	pop    %esi
595c77:	83 c8 ff             	or     $0xffffffff,%eax
595c7a:	5b                   	pop    %ebx
595c7b:	c3                   	ret
595c7c:	8a 46 01             	mov    0x1(%esi),%al
595c7f:	24 c0                	and    $0xc0,%al
595c81:	3c 80                	cmp    $0x80,%al
595c83:	0f 85 86 00 00 00    	jne    0x595d0f
595c89:	8a 46 02             	mov    0x2(%esi),%al
595c8c:	24 c0                	and    $0xc0,%al
595c8e:	3c 80                	cmp    $0x80,%al
595c90:	75 7d                	jne    0x595d0f
595c92:	8a 46 03             	mov    0x3(%esi),%al
595c95:	24 c0                	and    $0xc0,%al
595c97:	3c 80                	cmp    $0x80,%al
595c99:	75 74                	jne    0x595d0f
595c9b:	8a 46 04             	mov    0x4(%esi),%al
595c9e:	24 c0                	and    $0xc0,%al
595ca0:	3c 80                	cmp    $0x80,%al
595ca2:	75 6b                	jne    0x595d0f
595ca4:	8a 46 05             	mov    0x5(%esi),%al
595ca7:	24 c0                	and    $0xc0,%al
595ca9:	3c 80                	cmp    $0x80,%al
595cab:	75 62                	jne    0x595d0f
595cad:	0f b6 46 01          	movzbl 0x1(%esi),%eax
595cb1:	83 e0 3f             	and    $0x3f,%eax
595cb4:	0f b6 d1             	movzbl %cl,%edx
595cb7:	0f b6 4e 04          	movzbl 0x4(%esi),%ecx
595cbb:	83 e2 01             	and    $0x1,%edx
595cbe:	c1 e0 18             	shl    $0x18,%eax
595cc1:	83 e1 3f             	and    $0x3f,%ecx
595cc4:	c1 e2 1e             	shl    $0x1e,%edx
595cc7:	0b d0                	or     %eax,%edx
595cc9:	c1 e1 06             	shl    $0x6,%ecx
595ccc:	0f b6 46 02          	movzbl 0x2(%esi),%eax
595cd0:	83 e0 3f             	and    $0x3f,%eax
595cd3:	c1 e0 12             	shl    $0x12,%eax
595cd6:	0b d0                	or     %eax,%edx
595cd8:	0f b6 46 03          	movzbl 0x3(%esi),%eax
595cdc:	83 e0 3f             	and    $0x3f,%eax
595cdf:	c1 e0 0c             	shl    $0xc,%eax
595ce2:	0b d0                	or     %eax,%edx
595ce4:	0f b6 46 05          	movzbl 0x5(%esi),%eax
595ce8:	83 e0 3f             	and    $0x3f,%eax
595ceb:	0b c8                	or     %eax,%ecx
595ced:	0b d1                	or     %ecx,%edx
595cef:	81 fa 00 00 00 04    	cmp    $0x4000000,%edx
595cf5:	73 09                	jae    0x595d00
595cf7:	5f                   	pop    %edi
595cf8:	5e                   	pop    %esi
595cf9:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
595cfe:	5b                   	pop    %ebx
595cff:	c3                   	ret
595d00:	8b 4c 24 18          	mov    0x18(%esp),%ecx
595d04:	b8 06 00 00 00       	mov    $0x6,%eax
595d09:	5f                   	pop    %edi
595d0a:	5e                   	pop    %esi
595d0b:	5b                   	pop    %ebx
595d0c:	89 11                	mov    %edx,(%ecx)
595d0e:	c3                   	ret
595d0f:	5f                   	pop    %edi
595d10:	5e                   	pop    %esi
595d11:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
595d16:	5b                   	pop    %ebx
595d17:	c3                   	ret
595d18:	5f                   	pop    %edi
595d19:	5e                   	pop    %esi
595d1a:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
595d1f:	5b                   	pop    %ebx
595d20:	c3                   	ret
595d21:	cc                   	int3
595d22:	cc                   	int3
595d23:	cc                   	int3
595d24:	cc                   	int3
595d25:	cc                   	int3
595d26:	cc                   	int3
595d27:	cc                   	int3
595d28:	cc                   	int3
595d29:	cc                   	int3
595d2a:	cc                   	int3
595d2b:	cc                   	int3
595d2c:	cc                   	int3
595d2d:	cc                   	int3
595d2e:	cc                   	int3
595d2f:	cc                   	int3
595d30:	8b 4c 24 04          	mov    0x4(%esp),%ecx
595d34:	85 c9                	test   %ecx,%ecx
595d36:	75 1b                	jne    0x595d53
595d38:	8d 41 06             	lea    0x6(%ecx),%eax
595d3b:	8b 54 24 0c          	mov    0xc(%esp),%edx
595d3f:	81 fa 80 00 00 00    	cmp    $0x80,%edx
595d45:	73 18                	jae    0x595d5f
595d47:	85 c9                	test   %ecx,%ecx
595d49:	74 02                	je     0x595d4d
595d4b:	88 11                	mov    %dl,(%ecx)
595d4d:	b8 01 00 00 00       	mov    $0x1,%eax
595d52:	c3                   	ret
595d53:	8b 44 24 08          	mov    0x8(%esp),%eax
595d57:	85 c0                	test   %eax,%eax
595d59:	7f e0                	jg     0x595d3b
595d5b:	83 c8 ff             	or     $0xffffffff,%eax
595d5e:	c3                   	ret
595d5f:	81 fa 00 08 00 00    	cmp    $0x800,%edx
595d65:	73 23                	jae    0x595d8a
595d67:	83 f8 02             	cmp    $0x2,%eax
595d6a:	7c ef                	jl     0x595d5b
595d6c:	85 c9                	test   %ecx,%ecx
595d6e:	74 14                	je     0x595d84
595d70:	8b c2                	mov    %edx,%eax
595d72:	80 e2 3f             	and    $0x3f,%dl
595d75:	c1 e8 06             	shr    $0x6,%eax
595d78:	24 1f                	and    $0x1f,%al
595d7a:	0c c0                	or     $0xc0,%al
595d7c:	80 ca 80             	or     $0x80,%dl
595d7f:	88 01                	mov    %al,(%ecx)
595d81:	88 51 01             	mov    %dl,0x1(%ecx)
595d84:	b8 02 00 00 00       	mov    $0x2,%eax
595d89:	c3                   	ret
595d8a:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
595d90:	73 2f                	jae    0x595dc1
595d92:	83 f8 03             	cmp    $0x3,%eax
595d95:	7c c4                	jl     0x595d5b
595d97:	85 c9                	test   %ecx,%ecx
595d99:	74 20                	je     0x595dbb
595d9b:	8b c2                	mov    %edx,%eax
595d9d:	c1 e8 0c             	shr    $0xc,%eax
595da0:	24 0f                	and    $0xf,%al
595da2:	0c e0                	or     $0xe0,%al
595da4:	88 01                	mov    %al,(%ecx)
595da6:	8b c2                	mov    %edx,%eax
595da8:	c1 e8 06             	shr    $0x6,%eax
595dab:	80 e2 3f             	and    $0x3f,%dl
595dae:	24 3f                	and    $0x3f,%al
595db0:	0c 80                	or     $0x80,%al
595db2:	80 ca 80             	or     $0x80,%dl
595db5:	88 41 01             	mov    %al,0x1(%ecx)
595db8:	88 51 02             	mov    %dl,0x2(%ecx)
595dbb:	b8 03 00 00 00       	mov    $0x3,%eax
595dc0:	c3                   	ret
595dc1:	81 fa 00 00 20 00    	cmp    $0x200000,%edx
595dc7:	73 3b                	jae    0x595e04
595dc9:	83 f8 04             	cmp    $0x4,%eax
595dcc:	7c 8d                	jl     0x595d5b
595dce:	85 c9                	test   %ecx,%ecx
595dd0:	74 2c                	je     0x595dfe
595dd2:	8b c2                	mov    %edx,%eax
595dd4:	c1 e8 12             	shr    $0x12,%eax
595dd7:	24 07                	and    $0x7,%al
595dd9:	0c f0                	or     $0xf0,%al
595ddb:	88 01                	mov    %al,(%ecx)
595ddd:	8b c2                	mov    %edx,%eax
595ddf:	c1 e8 0c             	shr    $0xc,%eax
595de2:	24 3f                	and    $0x3f,%al
595de4:	0c 80                	or     $0x80,%al
595de6:	88 41 01             	mov    %al,0x1(%ecx)
595de9:	8b c2                	mov    %edx,%eax
595deb:	c1 e8 06             	shr    $0x6,%eax
595dee:	80 e2 3f             	and    $0x3f,%dl
595df1:	24 3f                	and    $0x3f,%al
595df3:	0c 80                	or     $0x80,%al
595df5:	80 ca 80             	or     $0x80,%dl
595df8:	88 41 02             	mov    %al,0x2(%ecx)
595dfb:	88 51 03             	mov    %dl,0x3(%ecx)
595dfe:	b8 04 00 00 00       	mov    $0x4,%eax
595e03:	c3                   	ret
595e04:	81 fa 00 00 00 04    	cmp    $0x4000000,%edx
595e0a:	73 4b                	jae    0x595e57
595e0c:	83 f8 05             	cmp    $0x5,%eax
595e0f:	0f 8c 46 ff ff ff    	jl     0x595d5b
595e15:	85 c9                	test   %ecx,%ecx
595e17:	74 38                	je     0x595e51
595e19:	8b c2                	mov    %edx,%eax
595e1b:	c1 e8 18             	shr    $0x18,%eax
595e1e:	24 03                	and    $0x3,%al
595e20:	0c f8                	or     $0xf8,%al
595e22:	88 01                	mov    %al,(%ecx)
595e24:	8b c2                	mov    %edx,%eax
595e26:	c1 e8 12             	shr    $0x12,%eax
595e29:	24 3f                	and    $0x3f,%al
595e2b:	0c 80                	or     $0x80,%al
595e2d:	88 41 01             	mov    %al,0x1(%ecx)
595e30:	8b c2                	mov    %edx,%eax
595e32:	c1 e8 0c             	shr    $0xc,%eax
595e35:	24 3f                	and    $0x3f,%al
595e37:	0c 80                	or     $0x80,%al
595e39:	88 41 02             	mov    %al,0x2(%ecx)
595e3c:	8b c2                	mov    %edx,%eax
595e3e:	c1 e8 06             	shr    $0x6,%eax
595e41:	80 e2 3f             	and    $0x3f,%dl
595e44:	24 3f                	and    $0x3f,%al
595e46:	0c 80                	or     $0x80,%al
595e48:	80 ca 80             	or     $0x80,%dl
595e4b:	88 41 03             	mov    %al,0x3(%ecx)
595e4e:	88 51 04             	mov    %dl,0x4(%ecx)
595e51:	b8 05 00 00 00       	mov    $0x5,%eax
595e56:	c3                   	ret
595e57:	83 f8 06             	cmp    $0x6,%eax
595e5a:	0f 8c fb fe ff ff    	jl     0x595d5b
595e60:	85 c9                	test   %ecx,%ecx
595e62:	74 44                	je     0x595ea8
595e64:	8b c2                	mov    %edx,%eax
595e66:	c1 e8 1e             	shr    $0x1e,%eax
595e69:	24 01                	and    $0x1,%al
595e6b:	0c fc                	or     $0xfc,%al
595e6d:	88 01                	mov    %al,(%ecx)
595e6f:	8b c2                	mov    %edx,%eax
595e71:	c1 e8 18             	shr    $0x18,%eax
595e74:	24 3f                	and    $0x3f,%al
595e76:	0c 80                	or     $0x80,%al
595e78:	88 41 01             	mov    %al,0x1(%ecx)
595e7b:	8b c2                	mov    %edx,%eax
595e7d:	c1 e8 12             	shr    $0x12,%eax
595e80:	24 3f                	and    $0x3f,%al
595e82:	0c 80                	or     $0x80,%al
595e84:	88 41 02             	mov    %al,0x2(%ecx)
595e87:	8b c2                	mov    %edx,%eax
595e89:	c1 e8 0c             	shr    $0xc,%eax
595e8c:	24 3f                	and    $0x3f,%al
595e8e:	0c 80                	or     $0x80,%al
595e90:	88 41 03             	mov    %al,0x3(%ecx)
595e93:	8b c2                	mov    %edx,%eax
595e95:	c1 e8 06             	shr    $0x6,%eax
595e98:	80 e2 3f             	and    $0x3f,%dl
595e9b:	24 3f                	and    $0x3f,%al
595e9d:	0c 80                	or     $0x80,%al
595e9f:	80 ca 80             	or     $0x80,%dl
595ea2:	88 41 04             	mov    %al,0x4(%ecx)
595ea5:	88 51 05             	mov    %dl,0x5(%ecx)
595ea8:	b8 06 00 00 00       	mov    $0x6,%eax
595ead:	c3                   	ret
595eae:	cc                   	int3
595eaf:	cc                   	int3
595eb0:	8b 44 24 04          	mov    0x4(%esp),%eax
595eb4:	3d 02 01 00 00       	cmp    $0x102,%eax
595eb9:	74 07                	je     0x595ec2
595ebb:	3d 0a 01 00 00       	cmp    $0x10a,%eax
595ec0:	75 05                	jne    0x595ec7
595ec2:	25 ff fe ff ff       	and    $0xfffffeff,%eax
595ec7:	83 f8 1e             	cmp    $0x1e,%eax
595eca:	77 08                	ja     0x595ed4
595ecc:	8b 04 85 b0 85 6c 00 	mov    0x6c85b0(,%eax,4),%eax
595ed3:	c3                   	ret
595ed4:	b8 94 87 6c 00       	mov    $0x6c8794,%eax
595ed9:	c3                   	ret
595eda:	cc                   	int3
595edb:	cc                   	int3
595edc:	cc                   	int3
595edd:	cc                   	int3
595ede:	cc                   	int3
595edf:	cc                   	int3
595ee0:	6a 00                	push   $0x0
595ee2:	6a 00                	push   $0x0
595ee4:	ff 74 24 1c          	push   0x1c(%esp)
595ee8:	ff 74 24 1c          	push   0x1c(%esp)
595eec:	ff 74 24 1c          	push   0x1c(%esp)
595ef0:	ff 74 24 1c          	push   0x1c(%esp)
595ef4:	ff 74 24 1c          	push   0x1c(%esp)
595ef8:	e8 13 00 00 00       	call   0x595f10
595efd:	83 c4 1c             	add    $0x1c,%esp
595f00:	c3                   	ret
595f01:	cc                   	int3
595f02:	cc                   	int3
595f03:	cc                   	int3
595f04:	cc                   	int3
595f05:	cc                   	int3
595f06:	cc                   	int3
595f07:	cc                   	int3
595f08:	cc                   	int3
595f09:	cc                   	int3
595f0a:	cc                   	int3
595f0b:	cc                   	int3
595f0c:	cc                   	int3
595f0d:	cc                   	int3
595f0e:	cc                   	int3
595f0f:	cc                   	int3
595f10:	b8 40 00 00 00       	mov    $0x40,%eax
595f15:	e8 d6 b5 04 00       	call   0x5e14f0
595f1a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
595f1f:	33 c4                	xor    %esp,%eax
595f21:	89 44 24 3c          	mov    %eax,0x3c(%esp)
595f25:	8b 54 24 48          	mov    0x48(%esp),%edx
595f29:	53                   	push   %ebx
595f2a:	8b 5c 24 50          	mov    0x50(%esp),%ebx
595f2e:	89 54 24 08          	mov    %edx,0x8(%esp)
595f32:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
595f39:	00
595f3a:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
595f41:	00
595f42:	55                   	push   %ebp
595f43:	8b 6c 24 4c          	mov    0x4c(%esp),%ebp
595f47:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
595f4b:	56                   	push   %esi
595f4c:	57                   	push   %edi
595f4d:	83 fb ff             	cmp    $0xffffffff,%ebx
595f50:	75 0e                	jne    0x595f60
595f52:	8b da                	mov    %edx,%ebx
595f54:	8d 4b 01             	lea    0x1(%ebx),%ecx
595f57:	8a 03                	mov    (%ebx),%al
595f59:	43                   	inc    %ebx
595f5a:	84 c0                	test   %al,%al
595f5c:	75 f9                	jne    0x595f57
595f5e:	2b d9                	sub    %ecx,%ebx
595f60:	8b 44 24 64          	mov    0x64(%esp),%eax
595f64:	b9 06 28 00 00       	mov    $0x2806,%ecx
595f69:	85 c0                	test   %eax,%eax
595f6b:	0f 44 c1             	cmove  %ecx,%eax
595f6e:	8b 4c 24 60          	mov    0x60(%esp),%ecx
595f72:	89 44 24 64          	mov    %eax,0x64(%esp)
595f76:	8d 81 00 f0 ff ff    	lea    -0x1000(%ecx),%eax
595f7c:	83 f8 04             	cmp    $0x4,%eax
595f7f:	0f 87 53 03 00 00    	ja     0x5962d8
595f85:	ff 24 85 0c 63 59 00 	jmp    *0x59630c(,%eax,4)
595f8c:	f6 c3 01             	test   $0x1,%bl
595f8f:	74 11                	je     0x595fa2
595f91:	6a 74                	push   $0x74
595f93:	68 a0 87 6c 00       	push   $0x6c87a0
595f98:	68 81 00 00 00       	push   $0x81
595f9d:	e9 45 03 00 00       	jmp    0x5962e7
595fa2:	8b f3                	mov    %ebx,%esi
595fa4:	d1 fe                	sar    $1,%esi
595fa6:	eb 59                	jmp    0x596001
595fa8:	f6 c3 03             	test   $0x3,%bl
595fab:	74 11                	je     0x595fbe
595fad:	6a 7d                	push   $0x7d
595faf:	68 a0 87 6c 00       	push   $0x6c87a0
595fb4:	68 85 00 00 00       	push   $0x85
595fb9:	e9 29 03 00 00       	jmp    0x5962e7
595fbe:	8b f3                	mov    %ebx,%esi
595fc0:	c1 fe 02             	sar    $0x2,%esi
595fc3:	eb 3c                	jmp    0x596001
595fc5:	33 f6                	xor    %esi,%esi
595fc7:	8b fb                	mov    %ebx,%edi
595fc9:	8b ea                	mov    %edx,%ebp
595fcb:	85 db                	test   %ebx,%ebx
595fcd:	74 2e                	je     0x595ffd
595fcf:	90                   	nop
595fd0:	8d 44 24 20          	lea    0x20(%esp),%eax
595fd4:	50                   	push   %eax
595fd5:	57                   	push   %edi
595fd6:	55                   	push   %ebp
595fd7:	e8 94 fa ff ff       	call   0x595a70
595fdc:	83 c4 0c             	add    $0xc,%esp
595fdf:	85 c0                	test   %eax,%eax
595fe1:	78 6d                	js     0x596050
595fe3:	2b f8                	sub    %eax,%edi
595fe5:	03 e8                	add    %eax,%ebp