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
4052d4:	cc                   	int3
4052d5:	cc                   	int3
4052d6:	cc                   	int3
4052d7:	cc                   	int3
4052d8:	cc                   	int3
4052d9:	cc                   	int3
4052da:	cc                   	int3
4052db:	cc                   	int3
4052dc:	cc                   	int3
4052dd:	cc                   	int3
4052de:	cc                   	int3
4052df:	cc                   	int3
4052e0:	8b ff                	mov    %edi,%edi
4052e2:	55                   	push   %ebp
4052e3:	8b ec                	mov    %esp,%ebp
4052e5:	8b 45 08             	mov    0x8(%ebp),%eax
4052e8:	33 d2                	xor    %edx,%edx
4052ea:	53                   	push   %ebx
4052eb:	56                   	push   %esi
4052ec:	57                   	push   %edi
4052ed:	8b 48 3c             	mov    0x3c(%eax),%ecx
4052f0:	03 c8                	add    %eax,%ecx
4052f2:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
4052f6:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
4052fa:	83 c0 18             	add    $0x18,%eax
4052fd:	03 c1                	add    %ecx,%eax
4052ff:	85 db                	test   %ebx,%ebx
405301:	74 1b                	je     0x40531e
405303:	8b 7d 0c             	mov    0xc(%ebp),%edi
405306:	8b 70 0c             	mov    0xc(%eax),%esi
405309:	3b fe                	cmp    %esi,%edi
40530b:	72 09                	jb     0x405316
40530d:	8b 48 08             	mov    0x8(%eax),%ecx
405310:	03 ce                	add    %esi,%ecx
405312:	3b f9                	cmp    %ecx,%edi
405314:	72 0a                	jb     0x405320
405316:	42                   	inc    %edx
405317:	83 c0 28             	add    $0x28,%eax
40531a:	3b d3                	cmp    %ebx,%edx
40531c:	72 e8                	jb     0x405306
40531e:	33 c0                	xor    %eax,%eax
405320:	5f                   	pop    %edi
405321:	5e                   	pop    %esi
405322:	5b                   	pop    %ebx
405323:	5d                   	pop    %ebp
405324:	c3                   	ret
405325:	cc                   	int3
405326:	cc                   	int3
405327:	cc                   	int3
405328:	cc                   	int3
405329:	cc                   	int3
40532a:	cc                   	int3
40532b:	cc                   	int3
40532c:	cc                   	int3
40532d:	cc                   	int3
40532e:	cc                   	int3
40532f:	cc                   	int3
405330:	8b ff                	mov    %edi,%edi
405332:	55                   	push   %ebp
405333:	8b ec                	mov    %esp,%ebp
405335:	6a fe                	push   $0xfffffffe
405337:	68 50 57 40 00       	push   $0x405750
40533c:	68 70 4f 40 00       	push   $0x404f70
405341:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405347:	50                   	push   %eax
405348:	83 ec 08             	sub    $0x8,%esp
40534b:	53                   	push   %ebx
40534c:	56                   	push   %esi
40534d:	57                   	push   %edi
40534e:	a1 54 60 40 00       	mov    0x406054,%eax
405353:	31 45 f8             	xor    %eax,-0x8(%ebp)
405356:	33 c5                	xor    %ebp,%eax
405358:	50                   	push   %eax
405359:	8d 45 f0             	lea    -0x10(%ebp),%eax
40535c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405362:	89 65 e8             	mov    %esp,-0x18(%ebp)
405365:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40536c:	68 00 00 40 00       	push   $0x400000
405371:	e8 7a 00 00 00       	call   0x4053f0
405376:	83 c4 04             	add    $0x4,%esp
405379:	85 c0                	test   %eax,%eax
40537b:	74 54                	je     0x4053d1
40537d:	8b 45 08             	mov    0x8(%ebp),%eax
405380:	2d 00 00 40 00       	sub    $0x400000,%eax
405385:	50                   	push   %eax
405386:	68 00 00 40 00       	push   $0x400000
40538b:	e8 50 ff ff ff       	call   0x4052e0
405390:	83 c4 08             	add    $0x8,%esp
405393:	85 c0                	test   %eax,%eax
405395:	74 3a                	je     0x4053d1
405397:	8b 40 24             	mov    0x24(%eax),%eax
40539a:	c1 e8 1f             	shr    $0x1f,%eax
40539d:	f7 d0                	not    %eax
40539f:	83 e0 01             	and    $0x1,%eax
4053a2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4053a9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4053ac:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4053b3:	59                   	pop    %ecx
4053b4:	5f                   	pop    %edi
4053b5:	5e                   	pop    %esi
4053b6:	5b                   	pop    %ebx
4053b7:	8b e5                	mov    %ebp,%esp
4053b9:	5d                   	pop    %ebp
4053ba:	c3                   	ret
4053bb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4053be:	8b 00                	mov    (%eax),%eax
4053c0:	33 c9                	xor    %ecx,%ecx
4053c2:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
4053c8:	0f 94 c1             	sete   %cl
4053cb:	8b c1                	mov    %ecx,%eax
4053cd:	c3                   	ret
4053ce:	8b 65 e8             	mov    -0x18(%ebp),%esp
4053d1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4053d8:	33 c0                	xor    %eax,%eax
4053da:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4053dd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4053e4:	59                   	pop    %ecx
4053e5:	5f                   	pop    %edi
4053e6:	5e                   	pop    %esi
4053e7:	5b                   	pop    %ebx
4053e8:	8b e5                	mov    %ebp,%esp
4053ea:	5d                   	pop    %ebp
4053eb:	c3                   	ret
4053ec:	cc                   	int3
4053ed:	cc                   	int3
4053ee:	cc                   	int3
4053ef:	cc                   	int3
4053f0:	8b ff                	mov    %edi,%edi
4053f2:	55                   	push   %ebp
4053f3:	8b ec                	mov    %esp,%ebp
4053f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4053f8:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
4053fd:	66 39 01             	cmp    %ax,(%ecx)
405400:	75 1f                	jne    0x405421
405402:	8b 41 3c             	mov    0x3c(%ecx),%eax
405405:	03 c1                	add    %ecx,%eax
405407:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
40540d:	75 12                	jne    0x405421
40540f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
405414:	66 39 48 18          	cmp    %cx,0x18(%eax)
405418:	75 07                	jne    0x405421
40541a:	b8 01 00 00 00       	mov    $0x1,%eax
40541f:	5d                   	pop    %ebp
405420:	c3                   	ret
405421:	33 c0                	xor    %eax,%eax
405423:	5d                   	pop    %ebp
405424:	c3                   	ret
405425:	8b ff                	mov    %edi,%edi
405427:	55                   	push   %ebp
405428:	8b ec                	mov    %esp,%ebp
40542a:	83 ec 14             	sub    $0x14,%esp
40542d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
405431:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
405435:	a1 54 60 40 00       	mov    0x406054,%eax
40543a:	56                   	push   %esi
40543b:	57                   	push   %edi
40543c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
405441:	be 00 00 ff ff       	mov    $0xffff0000,%esi
405446:	3b c7                	cmp    %edi,%eax
405448:	74 04                	je     0x40544e
40544a:	85 c6                	test   %eax,%esi
40544c:	75 64                	jne    0x4054b2
40544e:	8d 45 f4             	lea    -0xc(%ebp),%eax
405451:	50                   	push   %eax
405452:	ff 15 58 71 40 00    	call   *0x407158
405458:	8b 45 f8             	mov    -0x8(%ebp),%eax
40545b:	33 45 f4             	xor    -0xc(%ebp),%eax
40545e:	89 45 fc             	mov    %eax,-0x4(%ebp)
405461:	ff 15 c8 70 40 00    	call   *0x4070c8
405467:	31 45 fc             	xor    %eax,-0x4(%ebp)
40546a:	ff 15 c0 70 40 00    	call   *0x4070c0
405470:	31 45 fc             	xor    %eax,-0x4(%ebp)
405473:	ff 15 54 71 40 00    	call   *0x407154
405479:	33 45 fc             	xor    -0x4(%ebp),%eax
40547c:	8d 4d fc             	lea    -0x4(%ebp),%ecx