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
405edd:	b8 e4 53 47 00       	mov    $0x4753e4,%eax
405ee2:	e8 7d cc ff ff       	call   0x402b64
405ee7:	e8 0c bc ff ff       	call   0x401af8
405eec:	33 c0                	xor    %eax,%eax
405eee:	5a                   	pop    %edx
405eef:	59                   	pop    %ecx
405ef0:	59                   	pop    %ecx
405ef1:	64 89 10             	mov    %edx,%fs:(%eax)
405ef4:	68 01 5f 40 00       	push   $0x405f01
405ef9:	c3                   	ret
405efa:	e9 55 db ff ff       	jmp    0x403a54
405eff:	eb f8                	jmp    0x405ef9
405f01:	5d                   	pop    %ebp
405f02:	c3                   	ret
405f03:	90                   	nop
405f04:	83 2d b8 55 47 00 01 	subl   $0x1,0x4755b8
405f0b:	0f 83 c5 00 00 00    	jae    0x405fd6
405f11:	c6 05 08 90 46 00 02 	movb   $0x2,0x469008
405f18:	c7 05 14 50 47 00 34 	movl   $0x401234,0x475014
405f1f:	12 40 00
405f22:	c7 05 18 50 47 00 3c 	movl   $0x40123c,0x475018
405f29:	12 40 00
405f2c:	c6 05 4a 50 47 00 02 	movb   $0x2,0x47504a
405f33:	c7 05 00 50 47 00 1c 	movl   $0x404e1c,0x475000
405f3a:	4e 40 00
405f3d:	e8 b6 d1 ff ff       	call   0x4030f8
405f42:	84 c0                	test   %al,%al
405f44:	74 05                	je     0x405f4b
405f46:	e8 dd d1 ff ff       	call   0x403128
405f4b:	e8 9c d2 ff ff       	call   0x4031ec
405f50:	66 c7 05 50 50 47 00 	movw   $0xd7b0,0x475050
405f57:	b0 d7
405f59:	66 c7 05 1c 52 47 00 	movw   $0xd7b0,0x47521c
405f60:	b0 d7
405f62:	66 c7 05 e8 53 47 00 	movw   $0xd7b0,0x4753e8
405f69:	b0 d7
405f6b:	e8 14 b3 ff ff       	call   0x401284
405f70:	a3 3c 50 47 00       	mov    %eax,0x47503c
405f75:	e8 ca b3 ff ff       	call   0x401344
405f7a:	a3 38 50 47 00       	mov    %eax,0x475038
405f7f:	e8 b8 b3 ff ff       	call   0x40133c
405f84:	25 00 00 00 80       	and    $0x80000000,%eax
405f89:	3d 00 00 00 80       	cmp    $0x80000000,%eax
405f8e:	74 2d                	je     0x405fbd
405f90:	e8 a7 b3 ff ff       	call   0x40133c
405f95:	25 ff 00 00 00       	and    $0xff,%eax
405f9a:	66 83 f8 04          	cmp    $0x4,%ax
405f9e:	76 0c                	jbe    0x405fac
405fa0:	c7 05 bc 55 47 00 03 	movl   $0x3,0x4755bc
405fa7:	00 00 00
405faa:	eb 20                	jmp    0x405fcc
405fac:	e8 03 b3 ff ff       	call   0x4012b4
405fb1:	e8 86 fe ff ff       	call   0x405e3c
405fb6:	a3 bc 55 47 00       	mov    %eax,0x4755bc
405fbb:	eb 0f                	jmp    0x405fcc
405fbd:	e8 f2 b2 ff ff       	call   0x4012b4
405fc2:	e8 75 fe ff ff       	call   0x405e3c
405fc7:	a3 bc 55 47 00       	mov    %eax,0x4755bc
405fcc:	e8 63 b3 ff ff       	call   0x401334
405fd1:	a3 30 50 47 00       	mov    %eax,0x475030
405fd6:	c3                   	ret
405fd7:	90                   	nop
405fd8:	ff 25 f8 61 47 00    	jmp    *0x4761f8
405fde:	8b c0                	mov    %eax,%eax
405fe0:	ff 25 f4 61 47 00    	jmp    *0x4761f4
405fe6:	8b c0                	mov    %eax,%eax
405fe8:	ff 25 f0 61 47 00    	jmp    *0x4761f0
405fee:	8b c0                	mov    %eax,%eax
405ff0:	ff 25 ec 61 47 00    	jmp    *0x4761ec
405ff6:	8b c0                	mov    %eax,%eax
405ff8:	50                   	push   %eax
405ff9:	6a 40                	push   $0x40
405ffb:	e8 e0 ff ff ff       	call   0x405fe0
406000:	c3                   	ret
406001:	8d 40 00             	lea    0x0(%eax),%eax
406004:	b8 10 00 00 00       	mov    $0x10,%eax
406009:	c3                   	ret
40600a:	8b c0                	mov    %eax,%eax
40600c:	53                   	push   %ebx
40600d:	e8 f2 ff ff ff       	call   0x406004
406012:	8b d8                	mov    %eax,%ebx
406014:	85 db                	test   %ebx,%ebx
406016:	74 36                	je     0x40604e
406018:	83 3d 9c 90 46 00 ff 	cmpl   $0xffffffff,0x46909c
40601f:	75 0a                	jne    0x40602b
406021:	b8 e2 00 00 00       	mov    $0xe2,%eax
406026:	e8 19 e0 ff ff       	call   0x404044
40602b:	8b c3                	mov    %ebx,%eax
40602d:	e8 c6 ff ff ff       	call   0x405ff8
406032:	85 c0                	test   %eax,%eax
406034:	75 0c                	jne    0x406042
406036:	b8 e2 00 00 00       	mov    $0xe2,%eax
40603b:	e8 04 e0 ff ff       	call   0x404044
406040:	eb 0c                	jmp    0x40604e
406042:	50                   	push   %eax
406043:	a1 9c 90 46 00       	mov    0x46909c,%eax
406048:	50                   	push   %eax
406049:	e8 a2 ff ff ff       	call   0x405ff0
40604e:	5b                   	pop    %ebx
40604f:	c3                   	ret
406050:	8a 0d 60 56 47 00    	mov    0x475660,%cl
406056:	a1 9c 90 46 00       	mov    0x46909c,%eax
40605b:	84 c9                	test   %cl,%cl
40605d:	75 26                	jne    0x406085
40605f:	64 8b 15 2c 00 00 00 	mov    %fs:0x2c,%edx
406066:	8b 04 82             	mov    (%edx,%eax,4),%eax
406069:	c3                   	ret
40606a:	e8 9d ff ff ff       	call   0x40600c
40606f:	a1 9c 90 46 00       	mov    0x46909c,%eax
406074:	50                   	push   %eax
406075:	e8 6e ff ff ff       	call   0x405fe8
40607a:	85 c0                	test   %eax,%eax
40607c:	74 01                	je     0x40607f
40607e:	c3                   	ret
40607f:	a1 6c 56 47 00       	mov    0x47566c,%eax
406084:	c3                   	ret
406085:	50                   	push   %eax
406086:	e8 5d ff ff ff       	call   0x405fe8
40608b:	85 c0                	test   %eax,%eax
40608d:	74 db                	je     0x40606a
40608f:	c3                   	ret
406090:	b8 a4 90 46 00       	mov    $0x4690a4,%eax
406095:	e8 06 f8 ff ff       	call   0x4058a0
40609a:	c3                   	ret
40609b:	90                   	nop
40609c:	53                   	push   %ebx
40609d:	8b d8                	mov    %eax,%ebx
40609f:	33 c0                	xor    %eax,%eax
4060a1:	a3 9c 90 46 00       	mov    %eax,0x46909c
4060a6:	6a 00                	push   $0x0
4060a8:	e8 2b ff ff ff       	call   0x405fd8
4060ad:	a3 64 56 47 00       	mov    %eax,0x475664
4060b2:	a1 64 56 47 00       	mov    0x475664,%eax
4060b7:	a3 a8 90 46 00       	mov    %eax,0x4690a8
4060bc:	33 c0                	xor    %eax,%eax
4060be:	a3 ac 90 46 00       	mov    %eax,0x4690ac
4060c3:	33 c0                	xor    %eax,%eax
4060c5:	a3 b0 90 46 00       	mov    %eax,0x4690b0
4060ca:	e8 c1 ff ff ff       	call   0x406090
4060cf:	ba a4 90 46 00       	mov    $0x4690a4,%edx
4060d4:	8b c3                	mov    %ebx,%eax
4060d6:	e8 bd dc ff ff       	call   0x403d98
4060db:	5b                   	pop    %ebx
4060dc:	c3                   	ret
4060dd:	8d 40 00             	lea    0x0(%eax),%eax
4060e0:	55                   	push   %ebp
4060e1:	8b ec                	mov    %esp,%ebp
4060e3:	33 c0                	xor    %eax,%eax
4060e5:	55                   	push   %ebp
4060e6:	68 05 61 40 00       	push   $0x406105
4060eb:	64 ff 30             	push   %fs:(%eax)
4060ee:	64 89 20             	mov    %esp,%fs:(%eax)
4060f1:	ff 05 68 56 47 00    	incl   0x475668
4060f7:	33 c0                	xor    %eax,%eax
4060f9:	5a                   	pop    %edx
4060fa:	59                   	pop    %ecx
4060fb:	59                   	pop    %ecx
4060fc:	64 89 10             	mov    %edx,%fs:(%eax)
4060ff:	68 0c 61 40 00       	push   $0x40610c
406104:	c3                   	ret
406105:	e9 4a d9 ff ff       	jmp    0x403a54
40610a:	eb f8                	jmp    0x406104
40610c:	5d                   	pop    %ebp
40610d:	c3                   	ret
40610e:	8b c0                	mov    %eax,%eax
406110:	83 2d 68 56 47 00 01 	subl   $0x1,0x475668
406117:	c3                   	ret
406118:	55                   	push   %ebp
406119:	8b ec                	mov    %esp,%ebp
40611b:	53                   	push   %ebx
40611c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40611f:	89 03                	mov    %eax,(%ebx)
406121:	89 53 04             	mov    %edx,0x4(%ebx)
406124:	8b 45 0c             	mov    0xc(%ebp),%eax
406127:	89 43 0c             	mov    %eax,0xc(%ebx)