405d0b:	6e                   	outsb  %ds:(%esi),(%dx)
405d0c:	76 69                	jbe    0x405d77
405d0e:	72 6f                	jb     0x405d7f
405d10:	6e                   	outsb  %ds:(%esi),(%dx)
405d11:	6d                   	insl   (%dx),%es:(%edi)
405d12:	65 6e                	outsb  %gs:(%esi),(%dx)
405d14:	74 56                	je     0x405d6c
405d16:	61                   	popa
405d17:	72 69                	jb     0x405d82
405d19:	61                   	popa
405d1a:	62 6c 65 57          	bound  %ebp,0x57(%ebp,%eiz,2)
405d1e:	00 47 65             	add    %al,0x65(%edi)
405d21:	74 54                	je     0x405d77
405d23:	69 63 6b 43 6f 75 6e 	imul   $0x6e756f43,0x6b(%ebx),%esp
405d2a:	74 00                	je     0x405d2c
405d2c:	00 61 00             	add    %ah,0x0(%ecx)
405d2f:	64 00 76 00          	add    %dh,%fs:0x0(%esi)
405d33:	61                   	popa
405d34:	00 70 00             	add    %dh,0x0(%eax)
405d37:	69 00 33 00 32 00    	imul   $0x320033,(%eax),%eax
405d3d:	00 00                	add    %al,(%eax)
405d3f:	52                   	push   %edx
405d40:	65 67 4f             	gs addr16 dec %edi
405d43:	70 65                	jo     0x405daa
405d45:	6e                   	outsb  %ds:(%esi),(%dx)
405d46:	4b                   	dec    %ebx
405d47:	65 79 45             	gs jns 0x405d8f
405d4a:	78 57                	js     0x405da3
405d4c:	00 52 65             	add    %dl,0x65(%edx)
405d4f:	67 51                	addr16 push %ecx
405d51:	75 65                	jne    0x405db8
405d53:	72 79                	jb     0x405dce
405d55:	56                   	push   %esi
405d56:	61                   	popa
405d57:	6c                   	insb   (%dx),%es:(%edi)
405d58:	75 65                	jne    0x405dbf
405d5a:	45                   	inc    %ebp
405d5b:	78 57                	js     0x405db4
405d5d:	00 52 65             	add    %dl,0x65(%edx)
405d60:	67 43                	addr16 inc %ebx
405d62:	6c                   	insb   (%dx),%es:(%edi)
405d63:	6f                   	outsl  %ds:(%esi),(%dx)
405d64:	73 65                	jae    0x405dcb
405d66:	4b                   	dec    %ebx
405d67:	65 79 00             	gs jns 0x405d6a
405d6a:	43                   	inc    %ebx
405d6b:	72 79                	jb     0x405de6
405d6d:	70 74                	jo     0x405de3
405d6f:	41                   	inc    %ecx
405d70:	63 71 75             	arpl   %esi,0x75(%ecx)
405d73:	69 72 65 43 6f 6e 74 	imul   $0x746e6f43,0x65(%edx),%esi
405d7a:	65 78 74             	gs js  0x405df1
405d7d:	57                   	push   %edi
405d7e:	00 43 72             	add    %al,0x72(%ebx)
405d81:	79 70                	jns    0x405df3
405d83:	74 43                	je     0x405dc8
405d85:	72 65                	jb     0x405dec
405d87:	61                   	popa
405d88:	74 65                	je     0x405def
405d8a:	48                   	dec    %eax
405d8b:	61                   	popa
405d8c:	73 68                	jae    0x405df6
405d8e:	00 43 72             	add    %al,0x72(%ebx)
405d91:	79 70                	jns    0x405e03
405d93:	74 48                	je     0x405ddd
405d95:	61                   	popa
405d96:	73 68                	jae    0x405e00
405d98:	44                   	inc    %esp
405d99:	61                   	popa
405d9a:	74 61                	je     0x405dfd
405d9c:	00 43 72             	add    %al,0x72(%ebx)
405d9f:	79 70                	jns    0x405e11
405da1:	74 44                	je     0x405de7
405da3:	65 72 69             	gs jb  0x405e0f
405da6:	76 65                	jbe    0x405e0d
405da8:	4b                   	dec    %ebx
405da9:	65 79 00             	gs jns 0x405dac
405dac:	43                   	inc    %ebx
405dad:	72 79                	jb     0x405e28
405daf:	70 74                	jo     0x405e25
405db1:	44                   	inc    %esp
405db2:	65 63 72 79          	arpl   %esi,%gs:0x79(%edx)
405db6:	70 74                	jo     0x405e2c
405db8:	00 43 72             	add    %al,0x72(%ebx)
405dbb:	79 70                	jns    0x405e2d
405dbd:	74 45                	je     0x405e04
405dbf:	6e                   	outsb  %ds:(%esi),(%dx)
405dc0:	63 72 79             	arpl   %esi,0x79(%edx)
405dc3:	70 74                	jo     0x405e39
405dc5:	00 43 72             	add    %al,0x72(%ebx)
405dc8:	79 70                	jns    0x405e3a
405dca:	74 44                	je     0x405e10
405dcc:	65 73 74             	gs jae 0x405e43
405dcf:	72 6f                	jb     0x405e40
405dd1:	79 4b                	jns    0x405e1e
405dd3:	65 79 00             	gs jns 0x405dd6
405dd6:	43                   	inc    %ebx
405dd7:	72 79                	jb     0x405e52
405dd9:	70 74                	jo     0x405e4f
405ddb:	44                   	inc    %esp
405ddc:	65 73 74             	gs jae 0x405e53
405ddf:	72 6f                	jb     0x405e50
405de1:	79 48                	jns    0x405e2b
405de3:	61                   	popa
405de4:	73 68                	jae    0x405e4e
405de6:	00 43 72             	add    %al,0x72(%ebx)
405de9:	79 70                	jns    0x405e5b
405deb:	74 52                	je     0x405e3f
405ded:	65 6c                	gs insb (%dx),%es:(%edi)
405def:	65 61                	gs popa
405df1:	73 65                	jae    0x405e58
405df3:	43                   	inc    %ebx
405df4:	6f                   	outsl  %ds:(%esi),(%dx)
405df5:	6e                   	outsb  %ds:(%esi),(%dx)
405df6:	74 65                	je     0x405e5d
405df8:	78 74                	js     0x405e6e
405dfa:	00 00                	add    %al,(%eax)
405dfc:	75 00                	jne    0x405dfe
405dfe:	73 00                	jae    0x405e00
405e00:	65 00 72 00          	add    %dh,%gs:0x0(%edx)
405e04:	33 00                	xor    (%eax),%eax
405e06:	32 00                	xor    (%eax),%al
405e08:	00 00                	add    %al,(%eax)
405e0a:	43                   	inc    %ebx
405e0b:	61                   	popa
405e0c:	6c                   	insb   (%dx),%es:(%edi)
405e0d:	6c                   	insb   (%dx),%es:(%edi)
405e0e:	57                   	push   %edi
405e0f:	69 6e 64 6f 77 50 72 	imul   $0x7250776f,0x64(%esi),%ebp
405e16:	6f                   	outsl  %ds:(%esi),(%dx)
405e17:	63 57 00             	arpl   %edx,0x0(%edi)
405e1a:	00 6f 00             	add    %ch,0x0(%edi)
405e1d:	6c                   	insb   (%dx),%es:(%edi)
405e1e:	00 65 00             	add    %ah,0x0(%ebp)
405e21:	33 00                	xor    (%eax),%eax
405e23:	32 00                	xor    (%eax),%al
405e25:	00 00                	add    %al,(%eax)
405e27:	43                   	inc    %ebx
405e28:	6f                   	outsl  %ds:(%esi),(%dx)
405e29:	54                   	push   %esp
405e2a:	61                   	popa
405e2b:	73 6b                	jae    0x405e98
405e2d:	4d                   	dec    %ebp
405e2e:	65 6d                	gs insl (%dx),%es:(%edi)
405e30:	41                   	inc    %ecx
405e31:	6c                   	insb   (%dx),%es:(%edi)
405e32:	6c                   	insb   (%dx),%es:(%edi)
405e33:	6f                   	outsl  %ds:(%esi),(%dx)
405e34:	63 00                	arpl   %eax,(%eax)
405e36:	00 53 00             	add    %dl,0x0(%ebx)
405e39:	68 00 65 00 6c       	push   $0x6c006500
405e3e:	00 6c 00 33          	add    %ch,0x33(%eax,%eax,1)
405e42:	00 32                	add    %dh,(%edx)
405e44:	00 00                	add    %al,(%eax)
405e46:	00 53 68             	add    %dl,0x68(%ebx)
405e49:	65 6c                	gs insb (%dx),%es:(%edi)
405e4b:	6c                   	insb   (%dx),%es:(%edi)
405e4c:	45                   	inc    %ebp
405e4d:	78 65                	js     0x405eb4
405e4f:	63 75 74             	arpl   %esi,0x74(%ebp)
405e52:	65 57                	gs push %edi
405e54:	00 00                	add    %al,(%eax)
405e56:	4f                   	dec    %edi
405e57:	00 6c 00 65          	add    %ch,0x65(%eax,%eax,1)
405e5b:	00 41 00             	add    %al,0x0(%ecx)
405e5e:	75 00                	jne    0x405e60
405e60:	74 00                	je     0x405e62
405e62:	33 00                	xor    (%eax),%eax
405e64:	32 00                	xor    (%eax),%al
405e66:	00 00                	add    %al,(%eax)
405e68:	53                   	push   %ebx
405e69:	79 73                	jns    0x405ede
405e6b:	41                   	inc    %ecx
405e6c:	6c                   	insb   (%dx),%es:(%edi)
405e6d:	6c                   	insb   (%dx),%es:(%edi)
405e6e:	6f                   	outsl  %ds:(%esi),(%dx)
405e6f:	63 53 74             	arpl   %edx,0x74(%ebx)
405e72:	72 69                	jb     0x405edd
405e74:	6e                   	outsb  %ds:(%esi),(%dx)
405e75:	67 42                	addr16 inc %edx
405e77:	79 74                	jns    0x405eed
405e79:	65 4c                	gs dec %esp
405e7b:	65 6e                	outsb  %gs:(%esi),(%dx)
405e7d:	00 00                	add    %al,(%eax)
405e7f:	00 00                	add    %al,(%eax)
405e81:	55                   	push   %ebp
405e82:	89 e5                	mov    %esp,%ebp
405e84:	83 ec 24             	sub    $0x24,%esp
405e87:	56                   	push   %esi
405e88:	57                   	push   %edi
405e89:	52                   	push   %edx
405e8a:	53                   	push   %ebx
405e8b:	c7 45 f0 00 01 00 00 	movl   $0x100,-0x10(%ebp)
405e92:	c7 45 f8 05 00 00 00 	movl   $0x5,-0x8(%ebp)
405e99:	68 ee 5b 40 00       	push   $0x405bee
405e9e:	e8 c0 04 00 00       	call   0x406363
405ea3:	96                   	xchg   %eax,%esi
405ea4:	68 4c 5b 40 00       	push   $0x405b4c
405ea9:	56                   	push   %esi
405eaa:	e8 55 04 00 00       	call   0x406304
405eaf:	89 45 dc             	mov    %eax,-0x24(%ebp)
405eb2:	68 7d 5b 40 00       	push   $0x405b7d
405eb7:	56                   	push   %esi
405eb8:	e8 47 04 00 00       	call   0x406304
405ebd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405ec0:	68 63 5b 40 00       	push   $0x405b63
405ec5:	56                   	push   %esi
405ec6:	e8 39 04 00 00       	call   0x406304
405ecb:	89 45 e0             	mov    %eax,-0x20(%ebp)
405ece:	89 45 f4             	mov    %eax,-0xc(%ebp)
405ed1:	83 3d b0 10 46 00 00 	cmpl   $0x0,0x4610b0
405ed8:	75 23                	jne    0x405efd
405eda:	6a 40                	push   $0x40
405edc:	68 00 30 00 00       	push   $0x3000
405ee1:	8d 55 f0             	lea    -0x10(%ebp),%edx
405ee4:	52                   	push   %edx
405ee5:	6a 00                	push   $0x0
405ee7:	8d 15 b0 10 46 00    	lea    0x4610b0,%edx
405eed:	52                   	push   %edx
405eee:	6a ff                	push   $0xffffffff
405ef0:	ff 55 e4             	call   *-0x1c(%ebp)
405ef3:	83 f8 00             	cmp    $0x0,%eax
405ef6:	73 05                	jae    0x405efd
405ef8:	e9 23 01 00 00       	jmp    0x406020
405efd:	a1 b0 10 46 00       	mov    0x4610b0,%eax
405f02:	03 05 b4 10 46 00    	add    0x4610b4,%eax
405f08:	89 45 e8             	mov    %eax,-0x18(%ebp)
405f0b:	8d 55 fc             	lea    -0x4(%ebp),%edx
405f0e:	52                   	push   %edx
405f0f:	6a 40                	push   $0x40
405f11:	8d 55 f8             	lea    -0x8(%ebp),%edx
405f14:	52                   	push   %edx
405f15:	8d 55 f4             	lea    -0xc(%ebp),%edx
405f18:	52                   	push   %edx
405f19:	6a ff                	push   $0xffffffff
405f1b:	ff 55 dc             	call   *-0x24(%ebp)
405f1e:	83 f8 00             	cmp    $0x0,%eax
405f21:	73 05                	jae    0x405f28
405f23:	e9 f8 00 00 00       	jmp    0x406020
405f28:	31 db                	xor    %ebx,%ebx
405f2a:	8b 7d e8             	mov    -0x18(%ebp),%edi
405f2d:	8b 75 e0             	mov    -0x20(%ebp),%esi
405f30:	83 fb 05             	cmp    $0x5,%ebx
405f33:	0f 83 88 00 00 00    	jae    0x405fc1
405f39:	8d 55 ec             	lea    -0x14(%ebp),%edx
405f3c:	52                   	push   %edx
405f3d:	56                   	push   %esi
405f3e:	e8 ef fa ff ff       	call   0x405a32
405f43:	89 c1                	mov    %eax,%ecx
405f45:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
405f47:	01 c3                	add    %eax,%ebx
405f49:	8b 55 ec             	mov    -0x14(%ebp),%edx
405f4c:	66 8b 0a             	mov    (%edx),%cx
405f4f:	80 f9 e9             	cmp    $0xe9,%cl
405f52:	74 05                	je     0x405f59
405f54:	80 f9 e8             	cmp    $0xe8,%cl
405f57:	75 0d                	jne    0x405f66
405f59:	8b 42 01             	mov    0x1(%edx),%eax
405f5c:	8d 04 30             	lea    (%eax,%esi,1),%eax
405f5f:	29 f8                	sub    %edi,%eax
405f61:	89 47 fc             	mov    %eax,-0x4(%edi)
405f64:	eb 56                	jmp    0x405fbc
405f66:	80 f9 eb             	cmp    $0xeb,%cl
405f69:	75 16                	jne    0x405f81
405f6b:	0f be 42 01          	movsbl 0x1(%edx),%eax
405f6f:	8d 44 30 fd          	lea    -0x3(%eax,%esi,1),%eax
405f73:	29 f8                	sub    %edi,%eax
405f75:	c6 47 fe e9          	movb   $0xe9,-0x2(%edi)
405f79:	89 47 ff             	mov    %eax,-0x1(%edi)
405f7c:	83 c7 03             	add    $0x3,%edi
405f7f:	eb 3b                	jmp    0x405fbc
405f81:	80 f9 70             	cmp    $0x70,%cl
405f84:	72 1c                	jb     0x405fa2
405f86:	80 f9 7f             	cmp    $0x7f,%cl
405f89:	77 17                	ja     0x405fa2
405f8b:	0f be 42 01          	movsbl 0x1(%edx),%eax
405f8f:	8d 44 30 fc          	lea    -0x4(%eax,%esi,1),%eax
405f93:	29 f8                	sub    %edi,%eax
405f95:	c6 47 fe 0f          	movb   $0xf,-0x2(%edi)
405f99:	80 c1 10             	add    $0x10,%cl
405f9c:	88 4f ff             	mov    %cl,-0x1(%edi)
405f9f:	ab                   	stos   %eax,%es:(%edi)
405fa0:	eb 1a                	jmp    0x405fbc
405fa2:	80 f9 0f             	cmp    $0xf,%cl
405fa5:	75 15                	jne    0x405fbc
405fa7:	80 fd 80             	cmp    $0x80,%ch
405faa:	72 10                	jb     0x405fbc
405fac:	80 fd 8f             	cmp    $0x8f,%ch
405faf:	77 0b                	ja     0x405fbc
405fb1:	8b 42 02             	mov    0x2(%edx),%eax
405fb4:	8d 04 30             	lea    (%eax,%esi,1),%eax
405fb7:	29 f8                	sub    %edi,%eax
405fb9:	89 47 fc             	mov    %eax,-0x4(%edi)
405fbc:	e9 6f ff ff ff       	jmp    0x405f30
405fc1:	83 c3 05             	add    $0x5,%ebx
405fc4:	01 1d b4 10 46 00    	add    %ebx,0x4610b4
405fca:	b0 e9                	mov    $0xe9,%al
405fcc:	aa                   	stos   %al,%es:(%edi)
405fcd:	8d 47 04             	lea    0x4(%edi),%eax
405fd0:	29 f0                	sub    %esi,%eax
405fd2:	f7 d8                	neg    %eax
405fd4:	ab                   	stos   %eax,%es:(%edi)
405fd5:	8b 7d e0             	mov    -0x20(%ebp),%edi
405fd8:	89 3d a4 10 46 00    	mov    %edi,0x4610a4
405fde:	b0 e9                	mov    $0xe9,%al
405fe0:	aa                   	stos   %al,%es:(%edi)
405fe1:	8d 47 04             	lea    0x4(%edi),%eax
405fe4:	c7 05 a8 10 46 00 26 	movl   $0x406026,0x4610a8
405feb:	60 40 00
405fee:	2d 26 60 40 00       	sub    $0x406026,%eax
405ff3:	f7 d8                	neg    %eax
405ff5:	ab                   	stos   %eax,%es:(%edi)
405ff6:	8b 7d e8             	mov    -0x18(%ebp),%edi
405ff9:	89 3d ac 10 46 00    	mov    %edi,0x4610ac
405fff:	c7 45 f8 05 00 00 00 	movl   $0x5,-0x8(%ebp)
406006:	8d 55 fc             	lea    -0x4(%ebp),%edx
406009:	52                   	push   %edx
40600a:	ff 75 fc             	push   -0x4(%ebp)
40600d:	8d 55 f8             	lea    -0x8(%ebp),%edx
406010:	52                   	push   %edx
406011:	8d 55 e0             	lea    -0x20(%ebp),%edx
406014:	52                   	push   %edx
406015:	6a ff                	push   $0xffffffff
406017:	ff 55 dc             	call   *-0x24(%ebp)
40601a:	ff 05 b8 10 46 00    	incl   0x4610b8
406020:	5b                   	pop    %ebx
406021:	5a                   	pop    %edx
406022:	5f                   	pop    %edi
406023:	5e                   	pop    %esi
406024:	c9                   	leave
406025:	c3                   	ret
406026:	55                   	push   %ebp
406027:	89 e5                	mov    %esp,%ebp
406029:	83 7d 0c 22          	cmpl   $0x22,0xc(%ebp)
40602d:	75 2d                	jne    0x40605c
40602f:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
406033:	75 27                	jne    0x40605c
406035:	83 7d 14 04          	cmpl   $0x4,0x14(%ebp)
406039:	72 0d                	jb     0x406048
40603b:	8b 45 10             	mov    0x10(%ebp),%eax
40603e:	c7 00 30 00 00 00    	movl   $0x30,(%eax)
406044:	31 c0                	xor    %eax,%eax
406046:	eb 05                	jmp    0x40604d
406048:	b8 04 00 00 c0       	mov    $0xc0000004,%eax
40604d:	8b 4d 18             	mov    0x18(%ebp),%ecx
406050:	85 c9                	test   %ecx,%ecx
406052:	74 06                	je     0x40605a
406054:	c7 01 04 00 00 00    	movl   $0x4,(%ecx)
40605a:	eb 15                	jmp    0x406071
40605c:	ff 75 18             	push   0x18(%ebp)