405f38:	75 07                	jne    0x405f41
405f3a:	50                   	push   %eax
405f3b:	ff 15 d4 f0 40 00    	call   *0x40f0d4
405f41:	83 3d 24 e0 40 00 00 	cmpl   $0x0,0x40e024
405f48:	75 0b                	jne    0x405f55
405f4a:	ff 15 e8 f0 40 00    	call   *0x40f0e8
405f50:	a1 20 e0 40 00       	mov    0x40e020,%eax
405f55:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405f5c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405f5f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405f66:	59                   	pop    %ecx
405f67:	5f                   	pop    %edi
405f68:	5e                   	pop    %esi
405f69:	5b                   	pop    %ebx
405f6a:	c9                   	leave
405f6b:	c3                   	ret
405f6c:	8b ff                	mov    %edi,%edi
405f6e:	55                   	push   %ebp
405f6f:	8b ec                	mov    %esp,%ebp
405f71:	56                   	push   %esi
405f72:	8b 75 08             	mov    0x8(%ebp),%esi
405f75:	33 c0                	xor    %eax,%eax
405f77:	3b 75 0c             	cmp    0xc(%ebp),%esi
405f7a:	73 1e                	jae    0x405f9a
405f7c:	57                   	push   %edi
405f7d:	85 c0                	test   %eax,%eax
405f7f:	75 18                	jne    0x405f99
405f81:	8b 3e                	mov    (%esi),%edi
405f83:	85 ff                	test   %edi,%edi
405f85:	74 0a                	je     0x405f91
405f87:	8b cf                	mov    %edi,%ecx
405f89:	ff 15 4c f1 40 00    	call   *0x40f14c
405f8f:	ff d7                	call   *%edi
405f91:	83 c6 04             	add    $0x4,%esi
405f94:	3b 75 0c             	cmp    0xc(%ebp),%esi
405f97:	72 e4                	jb     0x405f7d
405f99:	5f                   	pop    %edi
405f9a:	5e                   	pop    %esi
405f9b:	5d                   	pop    %ebp
405f9c:	c3                   	ret
405f9d:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
405fa2:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
405fa9:	75 55                	jne    0x406000
405fab:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
405fb1:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
405fb8:	45 00 00
405fbb:	75 43                	jne    0x406000
405fbd:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
405fc4:	ba 0b 01 00 00       	mov    $0x10b,%edx
405fc9:	66 3b c2             	cmp    %dx,%ax
405fcc:	74 1f                	je     0x405fed
405fce:	ba 0b 02 00 00       	mov    $0x20b,%edx
405fd3:	66 3b c2             	cmp    %dx,%ax
405fd6:	75 28                	jne    0x406000
405fd8:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
405fdf:	76 1f                	jbe    0x406000
405fe1:	33 c0                	xor    %eax,%eax
405fe3:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
405fe9:	0f 95 c0             	setne  %al
405fec:	c3                   	ret
405fed:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
405ff4:	76 0a                	jbe    0x406000
405ff6:	33 c0                	xor    %eax,%eax
405ff8:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
405ffe:	eb e9                	jmp    0x405fe9
406000:	33 c0                	xor    %eax,%eax
406002:	c3                   	ret
406003:	cc                   	int3
406004:	cc                   	int3
406005:	cc                   	int3
406006:	cc                   	int3
406007:	cc                   	int3
406008:	cc                   	int3
406009:	cc                   	int3
40600a:	cc                   	int3
40600b:	cc                   	int3
40600c:	cc                   	int3
40600d:	cc                   	int3
40600e:	cc                   	int3
40600f:	cc                   	int3
406010:	e8 90 04 00 00       	call   0x4064a5
406015:	e9 d9 fd ff ff       	jmp    0x405df3
40601a:	cc                   	int3
40601b:	cc                   	int3
40601c:	cc                   	int3
40601d:	cc                   	int3
40601e:	cc                   	int3
40601f:	cc                   	int3
406020:	3b 0d 04 e0 40 00    	cmp    0x40e004,%ecx
406026:	75 03                	jne    0x40602b
406028:	c2 00 00             	ret    $0x0
40602b:	e9 2a 00 00 00       	jmp    0x40605a
406030:	8b ff                	mov    %edi,%edi
406032:	55                   	push   %ebp
406033:	8b ec                	mov    %esp,%ebp
406035:	6a 00                	push   $0x0
406037:	ff 15 48 f0 40 00    	call   *0x40f048
40603d:	ff 75 08             	push   0x8(%ebp)
406040:	ff 15 44 f0 40 00    	call   *0x40f044
406046:	68 09 04 00 c0       	push   $0xc0000409
40604b:	ff 15 90 f0 40 00    	call   *0x40f090
406051:	50                   	push   %eax
406052:	ff 15 8c f0 40 00    	call   *0x40f08c
406058:	5d                   	pop    %ebp
406059:	c3                   	ret
40605a:	8b ff                	mov    %edi,%edi
40605c:	55                   	push   %ebp
40605d:	8b ec                	mov    %esp,%ebp
40605f:	81 ec 24 03 00 00    	sub    $0x324,%esp
406065:	a3 40 e1 40 00       	mov    %eax,0x40e140
40606a:	89 0d 3c e1 40 00    	mov    %ecx,0x40e13c
406070:	89 15 38 e1 40 00    	mov    %edx,0x40e138
406076:	89 1d 34 e1 40 00    	mov    %ebx,0x40e134
40607c:	89 35 30 e1 40 00    	mov    %esi,0x40e130
406082:	89 3d 2c e1 40 00    	mov    %edi,0x40e12c
406088:	66 8c 15 58 e1 40 00 	data16 mov %ss,0x40e158
40608f:	66 8c 0d 4c e1 40 00 	data16 mov %cs,0x40e14c
406096:	66 8c 1d 28 e1 40 00 	data16 mov %ds,0x40e128
40609d:	66 8c 05 24 e1 40 00 	data16 mov %es,0x40e124
4060a4:	66 8c 25 20 e1 40 00 	data16 mov %fs,0x40e120
4060ab:	66 8c 2d 1c e1 40 00 	data16 mov %gs,0x40e11c
4060b2:	9c                   	pushf
4060b3:	8f 05 50 e1 40 00    	pop    0x40e150
4060b9:	8b 45 00             	mov    0x0(%ebp),%eax
4060bc:	a3 44 e1 40 00       	mov    %eax,0x40e144
4060c1:	8b 45 04             	mov    0x4(%ebp),%eax
4060c4:	a3 48 e1 40 00       	mov    %eax,0x40e148
4060c9:	8d 45 08             	lea    0x8(%ebp),%eax
4060cc:	a3 54 e1 40 00       	mov    %eax,0x40e154
4060d1:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
4060d7:	c7 05 90 e0 40 00 01 	movl   $0x10001,0x40e090
4060de:	00 01 00
4060e1:	a1 48 e1 40 00       	mov    0x40e148,%eax
4060e6:	a3 4c e0 40 00       	mov    %eax,0x40e04c
4060eb:	c7 05 40 e0 40 00 09 	movl   $0xc0000409,0x40e040
4060f2:	04 00 c0
4060f5:	c7 05 44 e0 40 00 01 	movl   $0x1,0x40e044
4060fc:	00 00 00
4060ff:	c7 05 50 e0 40 00 03 	movl   $0x3,0x40e050
406106:	00 00 00
406109:	6a 04                	push   $0x4
40610b:	58                   	pop    %eax
40610c:	6b c0 00             	imul   $0x0,%eax,%eax
40610f:	c7 80 54 e0 40 00 02 	movl   $0x2,0x40e054(%eax)
406116:	00 00 00
406119:	6a 04                	push   $0x4
40611b:	58                   	pop    %eax
40611c:	c1 e0 00             	shl    $0x0,%eax
40611f:	8b 0d 04 e0 40 00    	mov    0x40e004,%ecx
406125:	89 88 54 e0 40 00    	mov    %ecx,0x40e054(%eax)
40612b:	6a 04                	push   $0x4
40612d:	58                   	pop    %eax
40612e:	d1 e0                	shl    $1,%eax
406130:	8b 0d 08 e0 40 00    	mov    0x40e008,%ecx
406136:	89 88 54 e0 40 00    	mov    %ecx,0x40e054(%eax)
40613c:	6a 04                	push   $0x4
40613e:	58                   	pop    %eax
40613f:	6b c0 00             	imul   $0x0,%eax,%eax
406142:	8b 0d 04 e0 40 00    	mov    0x40e004,%ecx
406148:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40614c:	6a 04                	push   $0x4
40614e:	58                   	pop    %eax
40614f:	c1 e0 00             	shl    $0x0,%eax
406152:	8b 0d 08 e0 40 00    	mov    0x40e008,%ecx
406158:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40615c:	68 00 10 40 00       	push   $0x401000
406161:	e8 ca fe ff ff       	call   0x406030
406166:	c9                   	leave
406167:	c3                   	ret
406168:	8b ff                	mov    %edi,%edi
40616a:	55                   	push   %ebp
40616b:	8b ec                	mov    %esp,%ebp
40616d:	a3 40 e1 40 00       	mov    %eax,0x40e140
406172:	89 0d 3c e1 40 00    	mov    %ecx,0x40e13c
406178:	89 15 38 e1 40 00    	mov    %edx,0x40e138
40617e:	89 1d 34 e1 40 00    	mov    %ebx,0x40e134
406184:	89 35 30 e1 40 00    	mov    %esi,0x40e130
40618a:	89 3d 2c e1 40 00    	mov    %edi,0x40e12c
406190:	66 8c 15 58 e1 40 00 	data16 mov %ss,0x40e158
406197:	66 8c 0d 4c e1 40 00 	data16 mov %cs,0x40e14c
40619e:	66 8c 1d 28 e1 40 00 	data16 mov %ds,0x40e128
4061a5:	66 8c 05 24 e1 40 00 	data16 mov %es,0x40e124
4061ac:	66 8c 25 20 e1 40 00 	data16 mov %fs,0x40e120
4061b3:	66 8c 2d 1c e1 40 00 	data16 mov %gs,0x40e11c
4061ba:	9c                   	pushf
4061bb:	8f 05 50 e1 40 00    	pop    0x40e150
4061c1:	c7 05 90 e0 40 00 01 	movl   $0x10001,0x40e090
4061c8:	00 01 00
4061cb:	8b 45 04             	mov    0x4(%ebp),%eax
4061ce:	a3 48 e1 40 00       	mov    %eax,0x40e148
4061d3:	8d 45 04             	lea    0x4(%ebp),%eax
4061d6:	83 c0 04             	add    $0x4,%eax
4061d9:	a3 54 e1 40 00       	mov    %eax,0x40e154
4061de:	a1 48 e1 40 00       	mov    0x40e148,%eax
4061e3:	a3 4c e0 40 00       	mov    %eax,0x40e04c
4061e8:	c7 05 40 e0 40 00 09 	movl   $0xc0000409,0x40e040
4061ef:	04 00 c0
4061f2:	c7 05 44 e0 40 00 01 	movl   $0x1,0x40e044
4061f9:	00 00 00
4061fc:	c7 05 50 e0 40 00 01 	movl   $0x1,0x40e050
406203:	00 00 00
406206:	6a 04                	push   $0x4
406208:	58                   	pop    %eax
406209:	6b c0 00             	imul   $0x0,%eax,%eax
40620c:	c7 80 54 e0 40 00 08 	movl   $0x8,0x40e054(%eax)
406213:	00 00 00
406216:	68 00 10 40 00       	push   $0x401000
40621b:	e8 10 fe ff ff       	call   0x406030
406220:	5d                   	pop    %ebp
406221:	c3                   	ret
406222:	cc                   	int3
406223:	cc                   	int3
406224:	cc                   	int3
406225:	cc                   	int3
406226:	cc                   	int3
406227:	cc                   	int3
406228:	cc                   	int3
406229:	cc                   	int3
40622a:	cc                   	int3
40622b:	cc                   	int3
40622c:	cc                   	int3
40622d:	cc                   	int3
40622e:	cc                   	int3
40622f:	cc                   	int3
406230:	8b ff                	mov    %edi,%edi
406232:	55                   	push   %ebp
406233:	8b ec                	mov    %esp,%ebp
406235:	8b 45 08             	mov    0x8(%ebp),%eax
406238:	8b 00                	mov    (%eax),%eax
40623a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
406240:	75 2b                	jne    0x40626d
406242:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
406246:	75 25                	jne    0x40626d
406248:	8b 40 14             	mov    0x14(%eax),%eax
40624b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
406250:	74 15                	je     0x406267
406252:	3d 21 05 93 19       	cmp    $0x19930521,%eax
406257:	74 0e                	je     0x406267
406259:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40625e:	74 07                	je     0x406267
406260:	3d 00 40 99 01       	cmp    $0x1994000,%eax
406265:	75 06                	jne    0x40626d
406267:	ff 15 2c f1 40 00    	call   *0x40f12c
40626d:	33 c0                	xor    %eax,%eax
40626f:	5d                   	pop    %ebp
406270:	c2 04 00             	ret    $0x4
406273:	cc                   	int3
406274:	cc                   	int3
406275:	cc                   	int3
406276:	cc                   	int3
406277:	cc                   	int3
406278:	cc                   	int3
406279:	cc                   	int3
40627a:	cc                   	int3
40627b:	cc                   	int3
40627c:	cc                   	int3
40627d:	cc                   	int3
40627e:	cc                   	int3
40627f:	cc                   	int3
406280:	68 30 62 40 00       	push   $0x406230
406285:	ff 15 48 f0 40 00    	call   *0x40f048
40628b:	33 c0                	xor    %eax,%eax
40628d:	c3                   	ret
40628e:	ff 25 e4 f0 40 00    	jmp    *0x40f0e4
406294:	6a 0c                	push   $0xc
406296:	68 38 ce 40 00       	push   $0x40ce38
40629b:	e8 b8 02 00 00       	call   0x406558
4062a0:	33 c9                	xor    %ecx,%ecx
4062a2:	8b 45 08             	mov    0x8(%ebp),%eax
4062a5:	85 c0                	test   %eax,%eax
4062a7:	74 4b                	je     0x4062f4
4062a9:	83 f8 ff             	cmp    $0xffffffff,%eax
4062ac:	74 46                	je     0x4062f4
4062ae:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4062b1:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
4062b6:	66 39 10             	cmp    %dx,(%eax)
4062b9:	75 32                	jne    0x4062ed
4062bb:	8b 50 3c             	mov    0x3c(%eax),%edx
4062be:	85 d2                	test   %edx,%edx
4062c0:	78 2b                	js     0x4062ed
4062c2:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
4062c8:	73 23                	jae    0x4062ed
4062ca:	03 c2                	add    %edx,%eax
4062cc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4062cf:	8b 08                	mov    (%eax),%ecx
4062d1:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
4062d7:	f7 d9                	neg    %ecx
4062d9:	1b c9                	sbb    %ecx,%ecx
4062db:	f7 d1                	not    %ecx
4062dd:	23 c8                	and    %eax,%ecx
4062df:	eb 09                	jmp    0x4062ea
4062e1:	33 c0                	xor    %eax,%eax
4062e3:	40                   	inc    %eax
4062e4:	c3                   	ret
4062e5:	8b 65 e8             	mov    -0x18(%ebp),%esp
4062e8:	33 c9                	xor    %ecx,%ecx
4062ea:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4062ed:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4062f4:	8b c1                	mov    %ecx,%eax
4062f6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4062f9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406300:	59                   	pop    %ecx
406301:	5f                   	pop    %edi
406302:	5e                   	pop    %esi
406303:	5b                   	pop    %ebx
406304:	c9                   	leave
406305:	c2 04 00             	ret    $0x4
406308:	8b ff                	mov    %edi,%edi
40630a:	55                   	push   %ebp
40630b:	8b ec                	mov    %esp,%ebp
40630d:	6a 00                	push   $0x0
40630f:	ff 15 70 f0 40 00    	call   *0x40f070
406315:	85 c0                	test   %eax,%eax
406317:	74 20                	je     0x406339
406319:	50                   	push   %eax
40631a:	e8 75 ff ff ff       	call   0x406294
40631f:	85 c0                	test   %eax,%eax
406321:	74 16                	je     0x406339
406323:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
406327:	6a 02                	push   $0x2
406329:	58                   	pop    %eax
40632a:	66 3b c8             	cmp    %ax,%cx
40632d:	74 0d                	je     0x40633c
40632f:	83 f9 03             	cmp    $0x3,%ecx
406332:	75 05                	jne    0x406339
406334:	33 c0                	xor    %eax,%eax
406336:	40                   	inc    %eax
406337:	5d                   	pop    %ebp
406338:	c3                   	ret
406339:	8b 45 08             	mov    0x8(%ebp),%eax
40633c:	5d                   	pop    %ebp
40633d:	c3                   	ret
40633e:	ff 25 f0 f0 40 00    	jmp    *0x40f0f0
406344:	cc                   	int3
406345:	cc                   	int3
406346:	cc                   	int3
406347:	cc                   	int3
406348:	cc                   	int3
406349:	cc                   	int3
40634a:	cc                   	int3
40634b:	cc                   	int3
40634c:	cc                   	int3
40634d:	cc                   	int3
40634e:	cc                   	int3
40634f:	cc                   	int3
406350:	33 c0                	xor    %eax,%eax
406352:	c3                   	ret
406353:	cc                   	int3
406354:	cc                   	int3
406355:	cc                   	int3