404ea2:	a1 70 60 40 00       	mov    0x406070,%eax
404ea7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404eae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404eb1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404eb8:	59                   	pop    %ecx
404eb9:	5f                   	pop    %edi
404eba:	5e                   	pop    %esi
404ebb:	5b                   	pop    %ebx
404ebc:	c9                   	leave
404ebd:	c3                   	ret
404ebe:	8b ff                	mov    %edi,%edi
404ec0:	55                   	push   %ebp
404ec1:	8b ec                	mov    %esp,%ebp
404ec3:	56                   	push   %esi
404ec4:	8b 75 08             	mov    0x8(%ebp),%esi
404ec7:	33 c0                	xor    %eax,%eax
404ec9:	3b 75 0c             	cmp    0xc(%ebp),%esi
404ecc:	73 1e                	jae    0x404eec
404ece:	57                   	push   %edi
404ecf:	85 c0                	test   %eax,%eax
404ed1:	75 18                	jne    0x404eeb
404ed3:	8b 3e                	mov    (%esi),%edi
404ed5:	85 ff                	test   %edi,%edi
404ed7:	74 0a                	je     0x404ee3
404ed9:	8b cf                	mov    %edi,%ecx
404edb:	ff 15 d0 71 40 00    	call   *0x4071d0
404ee1:	ff d7                	call   *%edi
404ee3:	83 c6 04             	add    $0x4,%esi
404ee6:	3b 75 0c             	cmp    0xc(%ebp),%esi
404ee9:	72 e4                	jb     0x404ecf
404eeb:	5f                   	pop    %edi
404eec:	5e                   	pop    %esi
404eed:	5d                   	pop    %ebp
404eee:	c3                   	ret
404eef:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
404ef4:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
404efb:	75 55                	jne    0x404f52
404efd:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
404f03:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
404f0a:	45 00 00
404f0d:	75 43                	jne    0x404f52
404f0f:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
404f16:	ba 0b 01 00 00       	mov    $0x10b,%edx
404f1b:	66 3b c2             	cmp    %dx,%ax
404f1e:	74 1f                	je     0x404f3f
404f20:	ba 0b 02 00 00       	mov    $0x20b,%edx
404f25:	66 3b c2             	cmp    %dx,%ax
404f28:	75 28                	jne    0x404f52
404f2a:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
404f31:	76 1f                	jbe    0x404f52
404f33:	33 c0                	xor    %eax,%eax
404f35:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
404f3b:	0f 95 c0             	setne  %al
404f3e:	c3                   	ret
404f3f:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
404f46:	76 0a                	jbe    0x404f52
404f48:	33 c0                	xor    %eax,%eax
404f4a:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
404f50:	eb e9                	jmp    0x404f3b
404f52:	33 c0                	xor    %eax,%eax
404f54:	c3                   	ret
404f55:	cc                   	int3
404f56:	cc                   	int3
404f57:	cc                   	int3
404f58:	cc                   	int3
404f59:	cc                   	int3
404f5a:	cc                   	int3
404f5b:	cc                   	int3
404f5c:	cc                   	int3
404f5d:	cc                   	int3
404f5e:	cc                   	int3
404f5f:	cc                   	int3
404f60:	e8 c0 04 00 00       	call   0x405425
404f65:	e9 79 fd ff ff       	jmp    0x404ce3
404f6a:	cc                   	int3
404f6b:	cc                   	int3
404f6c:	cc                   	int3
404f6d:	cc                   	int3
404f6e:	cc                   	int3
404f6f:	cc                   	int3
404f70:	8b ff                	mov    %edi,%edi
404f72:	55                   	push   %ebp
404f73:	8b ec                	mov    %esp,%ebp
404f75:	ff 75 14             	push   0x14(%ebp)
404f78:	ff 75 10             	push   0x10(%ebp)
404f7b:	ff 75 0c             	push   0xc(%ebp)
404f7e:	ff 75 08             	push   0x8(%ebp)
404f81:	68 a0 4f 40 00       	push   $0x404fa0
404f86:	68 54 60 40 00       	push   $0x406054
404f8b:	e8 b3 05 00 00       	call   0x405543
404f90:	83 c4 18             	add    $0x18,%esp
404f93:	5d                   	pop    %ebp
404f94:	c3                   	ret
404f95:	cc                   	int3
404f96:	cc                   	int3
404f97:	cc                   	int3
404f98:	cc                   	int3
404f99:	cc                   	int3
404f9a:	cc                   	int3
404f9b:	cc                   	int3
404f9c:	cc                   	int3
404f9d:	cc                   	int3
404f9e:	cc                   	int3
404f9f:	cc                   	int3
404fa0:	3b 0d 54 60 40 00    	cmp    0x406054,%ecx
404fa6:	75 03                	jne    0x404fab
404fa8:	c2 00 00             	ret    $0x0
404fab:	e9 2c 00 00 00       	jmp    0x404fdc
404fb0:	8b ff                	mov    %edi,%edi
404fb2:	55                   	push   %ebp
404fb3:	8b ec                	mov    %esp,%ebp
404fb5:	6a 00                	push   $0x0
404fb7:	ff 15 48 70 40 00    	call   *0x407048
404fbd:	ff 75 08             	push   0x8(%ebp)
404fc0:	ff 15 44 70 40 00    	call   *0x407044
404fc6:	68 09 04 00 c0       	push   $0xc0000409
404fcb:	ff 15 b8 70 40 00    	call   *0x4070b8
404fd1:	50                   	push   %eax
404fd2:	ff 15 bc 70 40 00    	call   *0x4070bc
404fd8:	5d                   	pop    %ebp
404fd9:	c3                   	ret
404fda:	cc                   	int3
404fdb:	cc                   	int3
404fdc:	8b ff                	mov    %edi,%edi
404fde:	55                   	push   %ebp
404fdf:	8b ec                	mov    %esp,%ebp
404fe1:	81 ec 24 03 00 00    	sub    $0x324,%esp
404fe7:	a3 90 61 40 00       	mov    %eax,0x406190
404fec:	89 0d 8c 61 40 00    	mov    %ecx,0x40618c
404ff2:	89 15 88 61 40 00    	mov    %edx,0x406188
404ff8:	89 1d 84 61 40 00    	mov    %ebx,0x406184
404ffe:	89 35 80 61 40 00    	mov    %esi,0x406180
405004:	89 3d 7c 61 40 00    	mov    %edi,0x40617c
40500a:	66 8c 15 a8 61 40 00 	data16 mov %ss,0x4061a8
405011:	66 8c 0d 9c 61 40 00 	data16 mov %cs,0x40619c
405018:	66 8c 1d 78 61 40 00 	data16 mov %ds,0x406178
40501f:	66 8c 05 74 61 40 00 	data16 mov %es,0x406174
405026:	66 8c 25 70 61 40 00 	data16 mov %fs,0x406170
40502d:	66 8c 2d 6c 61 40 00 	data16 mov %gs,0x40616c
405034:	9c                   	pushf
405035:	8f 05 a0 61 40 00    	pop    0x4061a0
40503b:	8b 45 00             	mov    0x0(%ebp),%eax
40503e:	a3 94 61 40 00       	mov    %eax,0x406194
405043:	8b 45 04             	mov    0x4(%ebp),%eax
405046:	a3 98 61 40 00       	mov    %eax,0x406198
40504b:	8d 45 08             	lea    0x8(%ebp),%eax
40504e:	a3 a4 61 40 00       	mov    %eax,0x4061a4
405053:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
405059:	c7 05 e0 60 40 00 01 	movl   $0x10001,0x4060e0
405060:	00 01 00
405063:	a1 98 61 40 00       	mov    0x406198,%eax
405068:	a3 9c 60 40 00       	mov    %eax,0x40609c
40506d:	c7 05 90 60 40 00 09 	movl   $0xc0000409,0x406090
405074:	04 00 c0
405077:	c7 05 94 60 40 00 01 	movl   $0x1,0x406094
40507e:	00 00 00
405081:	c7 05 a0 60 40 00 03 	movl   $0x3,0x4060a0
405088:	00 00 00
40508b:	6a 04                	push   $0x4
40508d:	58                   	pop    %eax
40508e:	6b c0 00             	imul   $0x0,%eax,%eax
405091:	c7 80 a4 60 40 00 02 	movl   $0x2,0x4060a4(%eax)
405098:	00 00 00
40509b:	6a 04                	push   $0x4
40509d:	58                   	pop    %eax
40509e:	c1 e0 00             	shl    $0x0,%eax
4050a1:	8b 0d 54 60 40 00    	mov    0x406054,%ecx
4050a7:	89 88 a4 60 40 00    	mov    %ecx,0x4060a4(%eax)
4050ad:	6a 04                	push   $0x4
4050af:	58                   	pop    %eax
4050b0:	d1 e0                	shl    $1,%eax
4050b2:	8b 0d 58 60 40 00    	mov    0x406058,%ecx
4050b8:	89 88 a4 60 40 00    	mov    %ecx,0x4060a4(%eax)
4050be:	6a 04                	push   $0x4
4050c0:	58                   	pop    %eax
4050c1:	6b c0 00             	imul   $0x0,%eax,%eax
4050c4:	8b 0d 54 60 40 00    	mov    0x406054,%ecx
4050ca:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4050ce:	6a 04                	push   $0x4
4050d0:	58                   	pop    %eax
4050d1:	c1 e0 00             	shl    $0x0,%eax
4050d4:	8b 0d 58 60 40 00    	mov    0x406058,%ecx
4050da:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
4050de:	68 00 10 40 00       	push   $0x401000
4050e3:	e8 c8 fe ff ff       	call   0x404fb0
4050e8:	c9                   	leave
4050e9:	c3                   	ret
4050ea:	8b ff                	mov    %edi,%edi
4050ec:	55                   	push   %ebp
4050ed:	8b ec                	mov    %esp,%ebp
4050ef:	a3 90 61 40 00       	mov    %eax,0x406190
4050f4:	89 0d 8c 61 40 00    	mov    %ecx,0x40618c
4050fa:	89 15 88 61 40 00    	mov    %edx,0x406188
405100:	89 1d 84 61 40 00    	mov    %ebx,0x406184
405106:	89 35 80 61 40 00    	mov    %esi,0x406180
40510c:	89 3d 7c 61 40 00    	mov    %edi,0x40617c
405112:	66 8c 15 a8 61 40 00 	data16 mov %ss,0x4061a8
405119:	66 8c 0d 9c 61 40 00 	data16 mov %cs,0x40619c
405120:	66 8c 1d 78 61 40 00 	data16 mov %ds,0x406178
405127:	66 8c 05 74 61 40 00 	data16 mov %es,0x406174
40512e:	66 8c 25 70 61 40 00 	data16 mov %fs,0x406170
405135:	66 8c 2d 6c 61 40 00 	data16 mov %gs,0x40616c
40513c:	9c                   	pushf
40513d:	8f 05 a0 61 40 00    	pop    0x4061a0
405143:	c7 05 e0 60 40 00 01 	movl   $0x10001,0x4060e0
40514a:	00 01 00
40514d:	8b 45 04             	mov    0x4(%ebp),%eax
405150:	a3 98 61 40 00       	mov    %eax,0x406198
405155:	8d 45 04             	lea    0x4(%ebp),%eax
405158:	83 c0 04             	add    $0x4,%eax
40515b:	a3 a4 61 40 00       	mov    %eax,0x4061a4
405160:	a1 98 61 40 00       	mov    0x406198,%eax
405165:	a3 9c 60 40 00       	mov    %eax,0x40609c
40516a:	c7 05 90 60 40 00 09 	movl   $0xc0000409,0x406090
405171:	04 00 c0
405174:	c7 05 94 60 40 00 01 	movl   $0x1,0x406094
40517b:	00 00 00
40517e:	c7 05 a0 60 40 00 01 	movl   $0x1,0x4060a0
405185:	00 00 00
405188:	6a 04                	push   $0x4
40518a:	58                   	pop    %eax
40518b:	6b c0 00             	imul   $0x0,%eax,%eax
40518e:	c7 80 a4 60 40 00 08 	movl   $0x8,0x4060a4(%eax)
405195:	00 00 00
405198:	68 00 10 40 00       	push   $0x401000
40519d:	e8 0e fe ff ff       	call   0x404fb0
4051a2:	5d                   	pop    %ebp
4051a3:	c3                   	ret
4051a4:	ff 25 64 71 40 00    	jmp    *0x407164
4051aa:	ff 25 84 71 40 00    	jmp    *0x407184
4051b0:	ff 25 8c 71 40 00    	jmp    *0x40718c
4051b6:	cc                   	int3
4051b7:	cc                   	int3
4051b8:	cc                   	int3
4051b9:	cc                   	int3
4051ba:	cc                   	int3
4051bb:	cc                   	int3
4051bc:	cc                   	int3
4051bd:	cc                   	int3
4051be:	cc                   	int3
4051bf:	cc                   	int3
4051c0:	8b ff                	mov    %edi,%edi
4051c2:	55                   	push   %ebp
4051c3:	8b ec                	mov    %esp,%ebp
4051c5:	8b 45 08             	mov    0x8(%ebp),%eax
4051c8:	8b 00                	mov    (%eax),%eax
4051ca:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
4051d0:	75 2b                	jne    0x4051fd
4051d2:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
4051d6:	75 25                	jne    0x4051fd
4051d8:	8b 40 14             	mov    0x14(%eax),%eax
4051db:	3d 20 05 93 19       	cmp    $0x19930520,%eax
4051e0:	74 15                	je     0x4051f7
4051e2:	3d 21 05 93 19       	cmp    $0x19930521,%eax
4051e7:	74 0e                	je     0x4051f7
4051e9:	3d 22 05 93 19       	cmp    $0x19930522,%eax
4051ee:	74 07                	je     0x4051f7
4051f0:	3d 00 40 99 01       	cmp    $0x1994000,%eax
4051f5:	75 06                	jne    0x4051fd
4051f7:	ff 15 a4 71 40 00    	call   *0x4071a4
4051fd:	33 c0                	xor    %eax,%eax
4051ff:	5d                   	pop    %ebp
405200:	c2 04 00             	ret    $0x4
405203:	cc                   	int3
405204:	cc                   	int3
405205:	cc                   	int3
405206:	cc                   	int3
405207:	cc                   	int3
405208:	cc                   	int3
405209:	cc                   	int3
40520a:	cc                   	int3
40520b:	cc                   	int3
40520c:	cc                   	int3
40520d:	cc                   	int3
40520e:	cc                   	int3
40520f:	cc                   	int3
405210:	68 c0 51 40 00       	push   $0x4051c0
405215:	ff 15 48 70 40 00    	call   *0x407048
40521b:	33 c0                	xor    %eax,%eax
40521d:	c3                   	ret
40521e:	ff 25 9c 71 40 00    	jmp    *0x40719c
405224:	6a 0c                	push   $0xc
405226:	68 30 57 40 00       	push   $0x405730
40522b:	e8 a8 02 00 00       	call   0x4054d8
405230:	33 c9                	xor    %ecx,%ecx
405232:	8b 45 08             	mov    0x8(%ebp),%eax
405235:	85 c0                	test   %eax,%eax
405237:	74 4b                	je     0x405284
405239:	83 f8 ff             	cmp    $0xffffffff,%eax
40523c:	74 46                	je     0x405284
40523e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
405241:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
405246:	66 39 10             	cmp    %dx,(%eax)
405249:	75 32                	jne    0x40527d
40524b:	8b 50 3c             	mov    0x3c(%eax),%edx
40524e:	85 d2                	test   %edx,%edx
405250:	78 2b                	js     0x40527d
405252:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
405258:	73 23                	jae    0x40527d
40525a:	03 c2                	add    %edx,%eax
40525c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40525f:	8b 08                	mov    (%eax),%ecx
405261:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
405267:	f7 d9                	neg    %ecx
405269:	1b c9                	sbb    %ecx,%ecx
40526b:	f7 d1                	not    %ecx
40526d:	23 c8                	and    %eax,%ecx
40526f:	eb 09                	jmp    0x40527a
405271:	33 c0                	xor    %eax,%eax
405273:	40                   	inc    %eax
405274:	c3                   	ret
405275:	8b 65 e8             	mov    -0x18(%ebp),%esp
405278:	33 c9                	xor    %ecx,%ecx
40527a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40527d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405284:	8b c1                	mov    %ecx,%eax
405286:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405289:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405290:	59                   	pop    %ecx
405291:	5f                   	pop    %edi
405292:	5e                   	pop    %esi
405293:	5b                   	pop    %ebx
405294:	c9                   	leave
405295:	c2 04 00             	ret    $0x4
405298:	8b ff                	mov    %edi,%edi
40529a:	55                   	push   %ebp
40529b:	8b ec                	mov    %esp,%ebp
40529d:	6a 00                	push   $0x0
40529f:	ff 15 8c 70 40 00    	call   *0x40708c
4052a5:	85 c0                	test   %eax,%eax
4052a7:	74 20                	je     0x4052c9
4052a9:	50                   	push   %eax
4052aa:	e8 75 ff ff ff       	call   0x405224
4052af:	85 c0                	test   %eax,%eax
4052b1:	74 16                	je     0x4052c9
4052b3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
4052b7:	6a 02                	push   $0x2
4052b9:	58                   	pop    %eax
4052ba:	66 3b c8             	cmp    %ax,%cx
4052bd:	74 0d                	je     0x4052cc
4052bf:	83 f9 03             	cmp    $0x3,%ecx
4052c2:	75 05                	jne    0x4052c9
4052c4:	33 c0                	xor    %eax,%eax
4052c6:	40                   	inc    %eax
4052c7:	5d                   	pop    %ebp
4052c8:	c3                   	ret
4052c9:	8b 45 08             	mov    0x8(%ebp),%eax
4052cc:	5d                   	pop    %ebp
4052cd:	c3                   	ret
4052ce:	ff 25 98 71 40 00    	jmp    *0x407198