40d151:	c3                   	ret
40d152:	8b c0                	mov    %eax,%eax
40d154:	53                   	push   %ebx
40d155:	56                   	push   %esi
40d156:	57                   	push   %edi
40d157:	8b f9                	mov    %ecx,%edi
40d159:	8b f2                	mov    %edx,%esi
40d15b:	8b d8                	mov    %eax,%ebx
40d15d:	85 db                	test   %ebx,%ebx
40d15f:	74 0b                	je     0x40d16c
40d161:	57                   	push   %edi
40d162:	56                   	push   %esi
40d163:	53                   	push   %ebx
40d164:	8b 03                	mov    (%ebx),%eax
40d166:	ff 10                	call   *(%eax)
40d168:	85 c0                	test   %eax,%eax
40d16a:	74 04                	je     0x40d170
40d16c:	33 c0                	xor    %eax,%eax
40d16e:	eb 02                	jmp    0x40d172
40d170:	b0 01                	mov    $0x1,%al
40d172:	5f                   	pop    %edi
40d173:	5e                   	pop    %esi
40d174:	5b                   	pop    %ebx
40d175:	c3                   	ret
40d176:	8b c0                	mov    %eax,%eax
40d178:	55                   	push   %ebp
40d179:	8b ec                	mov    %esp,%ebp
40d17b:	6a 00                	push   $0x0
40d17d:	53                   	push   %ebx
40d17e:	56                   	push   %esi
40d17f:	57                   	push   %edi
40d180:	8b f9                	mov    %ecx,%edi
40d182:	8b f2                	mov    %edx,%esi
40d184:	8b d8                	mov    %eax,%ebx
40d186:	33 c0                	xor    %eax,%eax
40d188:	55                   	push   %ebp
40d189:	68 ef d1 40 00       	push   $0x40d1ef
40d18e:	64 ff 30             	push   %fs:(%eax)
40d191:	64 89 20             	mov    %esp,%fs:(%eax)
40d194:	85 db                	test   %ebx,%ebx
40d196:	74 39                	je     0x40d1d1
40d198:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d19b:	e8 bc 84 ff ff       	call   0x40565c
40d1a0:	8b c8                	mov    %eax,%ecx
40d1a2:	ba 00 d2 40 00       	mov    $0x40d200,%edx
40d1a7:	8b c3                	mov    %ebx,%eax
40d1a9:	e8 72 61 ff ff       	call   0x403320
40d1ae:	84 c0                	test   %al,%al
40d1b0:	74 10                	je     0x40d1c2
40d1b2:	8b cf                	mov    %edi,%ecx
40d1b4:	8b d6                	mov    %esi,%edx
40d1b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d1b9:	e8 96 ff ff ff       	call   0x40d154
40d1be:	84 c0                	test   %al,%al
40d1c0:	75 13                	jne    0x40d1d5
40d1c2:	8b cf                	mov    %edi,%ecx
40d1c4:	8b d6                	mov    %esi,%edx
40d1c6:	8b c3                	mov    %ebx,%eax
40d1c8:	e8 53 61 ff ff       	call   0x403320
40d1cd:	84 c0                	test   %al,%al
40d1cf:	75 04                	jne    0x40d1d5
40d1d1:	33 c0                	xor    %eax,%eax
40d1d3:	eb 02                	jmp    0x40d1d7
40d1d5:	b0 01                	mov    $0x1,%al
40d1d7:	8b d8                	mov    %eax,%ebx
40d1d9:	33 c0                	xor    %eax,%eax
40d1db:	5a                   	pop    %edx
40d1dc:	59                   	pop    %ecx
40d1dd:	59                   	pop    %ecx
40d1de:	64 89 10             	mov    %edx,%fs:(%eax)
40d1e1:	68 f6 d1 40 00       	push   $0x40d1f6
40d1e6:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d1e9:	e8 6e 84 ff ff       	call   0x40565c
40d1ee:	c3                   	ret
40d1ef:	e9 cc 67 ff ff       	jmp    0x4039c0
40d1f4:	eb f0                	jmp    0x40d1e6
40d1f6:	8b c3                	mov    %ebx,%eax
40d1f8:	5f                   	pop    %edi
40d1f9:	5e                   	pop    %esi
40d1fa:	5b                   	pop    %ebx
40d1fb:	59                   	pop    %ecx
40d1fc:	5d                   	pop    %ebp
40d1fd:	c3                   	ret
40d206:	00 00                	add    %al,(%eax)
40d208:	c0 00 00             	rolb   $0x0,(%eax)
40d20b:	00 00                	add    %al,(%eax)
40d20d:	00 00                	add    %al,(%eax)
40d20f:	46                   	inc    %esi
40d210:	55                   	push   %ebp
40d211:	8b ec                	mov    %esp,%ebp
40d213:	83 c4 f4             	add    $0xfffffff4,%esp
40d216:	53                   	push   %ebx
40d217:	8b d8                	mov    %eax,%ebx
40d219:	52                   	push   %edx
40d21a:	e8 69 8f ff ff       	call   0x406188
40d21f:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d222:	33 c0                	xor    %eax,%eax
40d224:	55                   	push   %ebp
40d225:	68 82 d2 40 00       	push   $0x40d282
40d22a:	64 ff 30             	push   %fs:(%eax)
40d22d:	64 89 20             	mov    %esp,%fs:(%eax)
40d230:	d9 7d fe             	fnstcw -0x2(%ebp)
40d233:	33 c0                	xor    %eax,%eax
40d235:	55                   	push   %ebp
40d236:	68 64 d2 40 00       	push   $0x40d264
40d23b:	64 ff 30             	push   %fs:(%eax)
40d23e:	64 89 20             	mov    %esp,%fs:(%eax)
40d241:	8b c3                	mov    %ebx,%eax
40d243:	e8 34 72 ff ff       	call   0x40447c
40d248:	50                   	push   %eax
40d249:	e8 02 8f ff ff       	call   0x406150
40d24e:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d251:	33 c0                	xor    %eax,%eax
40d253:	5a                   	pop    %edx
40d254:	59                   	pop    %ecx
40d255:	59                   	pop    %ecx
40d256:	64 89 10             	mov    %edx,%fs:(%eax)
40d259:	68 6b d2 40 00       	push   $0x40d26b
40d25e:	db e2                	fnclex
40d260:	d9 6d fe             	fldcw  -0x2(%ebp)
40d263:	c3                   	ret
40d264:	e9 57 67 ff ff       	jmp    0x4039c0
40d269:	eb f3                	jmp    0x40d25e
40d26b:	33 c0                	xor    %eax,%eax
40d26d:	5a                   	pop    %edx
40d26e:	59                   	pop    %ecx
40d26f:	59                   	pop    %ecx
40d270:	64 89 10             	mov    %edx,%fs:(%eax)
40d273:	68 89 d2 40 00       	push   $0x40d289
40d278:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d27b:	50                   	push   %eax
40d27c:	e8 07 8f ff ff       	call   0x406188
40d281:	c3                   	ret
40d282:	e9 39 67 ff ff       	jmp    0x4039c0
40d287:	eb ef                	jmp    0x40d278
40d289:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d28c:	5b                   	pop    %ebx
40d28d:	8b e5                	mov    %ebp,%esp
40d28f:	5d                   	pop    %ebp
40d290:	c3                   	ret
40d291:	8d 40 00             	lea    0x0(%eax),%eax
40d294:	1d 00 00 00 04       	sbb    $0x4000000,%eax
40d299:	d3 45 00             	roll   %cl,0x0(%ebp)
40d29c:	00 7f 46             	add    %bh,0x46(%edi)
40d29f:	00 fc                	add    %bh,%ah
40d2a1:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2a4:	20 7e 46             	and    %bh,0x46(%esi)
40d2a7:	00 f4                	add    %dh,%ah
40d2a9:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2ac:	a0 7c 46 00 ec       	mov    0xec00467c,%al
40d2b1:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2b4:	4c                   	dec    %esp
40d2b5:	7f 46                	jg     0x40d2fd
40d2b7:	00 e4                	add    %ah,%ah
40d2b9:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2bc:	7c 7f                	jl     0x40d33d
40d2be:	46                   	inc    %esi
40d2bf:	00 dc                	add    %bl,%ah
40d2c1:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2c4:	54                   	push   %esp
40d2c5:	7d 46                	jge    0x40d30d
40d2c7:	00 d4                	add    %dl,%ah
40d2c9:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2cc:	08 7e 46             	or     %bh,0x46(%esi)
40d2cf:	00 cc                	add    %cl,%ah
40d2d1:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2d4:	58                   	pop    %eax
40d2d5:	7c 46                	jl     0x40d31d
40d2d7:	00 c4                	add    %al,%ah
40d2d9:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d2dc:	58                   	pop    %eax
40d2dd:	7e 46                	jle    0x40d325
40d2df:	00 bc d2 45 00 a4 7e 	add    %bh,0x7ea40045(%edx,%edx,8)
40d2e6:	46                   	inc    %esi
40d2e7:	00 b4 d2 45 00 dc 7d 	add    %dh,0x7ddc0045(%edx,%edx,8)
40d2ee:	46                   	inc    %esi
40d2ef:	00 ac d2 45 00 e4 7d 	add    %ch,0x7de40045(%edx,%edx,8)
40d2f6:	46                   	inc    %esi
40d2f7:	00 a4 d2 45 00 f4 7f 	add    %ah,0x7ff40045(%edx,%edx,8)
40d2fe:	46                   	inc    %esi
40d2ff:	00 9c d2 45 00 e0 7d 	add    %bl,0x7de00045(%edx,%edx,8)
40d306:	46                   	inc    %esi
40d307:	00 94 d2 45 00 64 80 	add    %dl,-0x7f9bffbb(%edx,%edx,8)
40d30e:	46                   	inc    %esi
40d30f:	00 8c d2 45 00 dc 7e 	add    %cl,0x7edc0045(%edx,%edx,8)
40d316:	46                   	inc    %esi
40d317:	00 84 d2 45 00 bc 7e 	add    %al,0x7ebc0045(%edx,%edx,8)
40d31e:	46                   	inc    %esi
40d31f:	00 7c d2 45          	add    %bh,0x45(%edx,%edx,8)
40d323:	00 78 80             	add    %bh,-0x80(%eax)
40d326:	46                   	inc    %esi
40d327:	00 74 d2 45          	add    %dh,0x45(%edx,%edx,8)
40d32b:	00 30                	add    %dh,(%eax)
40d32d:	80 46 00 6c          	addb   $0x6c,0x0(%esi)
40d331:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d334:	f4                   	hlt
40d335:	7d 46                	jge    0x40d37d
40d337:	00 64 d2 45          	add    %ah,0x45(%edx,%edx,8)
40d33b:	00 fc                	add    %bh,%ah
40d33d:	7f 46                	jg     0x40d385
40d33f:	00 5c d2 45          	add    %bl,0x45(%edx,%edx,8)
40d343:	00 0c 80             	add    %cl,(%eax,%eax,4)
40d346:	46                   	inc    %esi
40d347:	00 54 d2 45          	add    %dl,0x45(%edx,%edx,8)
40d34b:	00 40 7d             	add    %al,0x7d(%eax)
40d34e:	46                   	inc    %esi
40d34f:	00 4c d2 45          	add    %cl,0x45(%edx,%edx,8)
40d353:	00 04 7d 46 00 44 d2 	add    %al,-0x2dbbffba(,%edi,2)
40d35a:	45                   	inc    %ebp
40d35b:	00 b8 7e 46 00 3c    	add    %bh,0x3c00467e(%eax)
40d361:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d364:	44                   	inc    %esp
40d365:	7f 46                	jg     0x40d3ad
40d367:	00 34 d2             	add    %dh,(%edx,%edx,8)
40d36a:	45                   	inc    %ebp
40d36b:	00 64 7c 46          	add    %ah,0x46(%esp,%edi,2)
40d36f:	00 2c d2             	add    %ch,(%edx,%edx,8)
40d372:	45                   	inc    %ebp
40d373:	00 f0                	add    %dh,%al
40d375:	7f 46                	jg     0x40d3bd
40d377:	00 24 d2             	add    %ah,(%edx,%edx,8)
40d37a:	45                   	inc    %ebp
40d37b:	00 f0                	add    %dh,%al
40d37d:	7d 46                	jge    0x40d3c5
40d37f:	00 28                	add    %ch,(%eax)
40d381:	00 00                	add    %al,(%eax)
40d383:	00 1c d2             	add    %bl,(%edx,%edx,8)
40d386:	45                   	inc    %ebp
40d387:	00 d0                	add    %dl,%al
40d389:	7f 46                	jg     0x40d3d1
40d38b:	00 00                	add    %al,(%eax)
40d38d:	00 00                	add    %al,(%eax)
40d38f:	00 18                	add    %bl,(%eax)
40d391:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d394:	ac                   	lods   %ds:(%esi),%al
40d395:	7c 46                	jl     0x40d3dd
40d397:	00 00                	add    %al,(%eax)
40d399:	00 00                	add    %al,(%eax)
40d39b:	00 14 d2             	add    %dl,(%edx,%edx,8)
40d39e:	45                   	inc    %ebp
40d39f:	00 30                	add    %dh,(%eax)
40d3a1:	7f 46                	jg     0x40d3e9
40d3a3:	00 00                	add    %al,(%eax)
40d3a5:	00 00                	add    %al,(%eax)
40d3a7:	00 10                	add    %dl,(%eax)
40d3a9:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d3ac:	70 7c                	jo     0x40d42a
40d3ae:	46                   	inc    %esi
40d3af:	00 00                	add    %al,(%eax)
40d3b1:	00 00                	add    %al,(%eax)
40d3b3:	00 0c d2             	add    %cl,(%edx,%edx,8)
40d3b6:	45                   	inc    %ebp
40d3b7:	00 1c 7d 46 00 00 00 	add    %bl,0x46(,%edi,2)
40d3be:	00 00                	add    %al,(%eax)
40d3c0:	08 d2                	or     %dl,%dl
40d3c2:	45                   	inc    %ebp
40d3c3:	00 14 7d 46 00 00 00 	add    %dl,0x46(,%edi,2)
40d3ca:	00 00                	add    %al,(%eax)
40d3cc:	04 d2                	add    $0xd2,%al
40d3ce:	45                   	inc    %ebp
40d3cf:	00 c4                	add    %al,%ah
40d3d1:	7c 46                	jl     0x40d419
40d3d3:	00 00                	add    %al,(%eax)
40d3d5:	00 00                	add    %al,(%eax)
40d3d7:	00 00                	add    %al,(%eax)
40d3d9:	d2 45 00             	rolb   %cl,0x0(%ebp)
40d3dc:	ec                   	in     (%dx),%al
40d3dd:	7d 46                	jge    0x40d425
40d3df:	00 00                	add    %al,(%eax)
40d3e1:	00 00                	add    %al,(%eax)
40d3e3:	00 fc                	add    %bh,%ah
40d3e5:	d1 45 00             	roll   $1,0x0(%ebp)
40d3e8:	d8 7e 46             	fdivrs 0x46(%esi)
40d3eb:	00 00                	add    %al,(%eax)
40d3ed:	00 00                	add    %al,(%eax)
40d3ef:	00 f8                	add    %bh,%al
40d3f1:	d1 45 00             	roll   $1,0x0(%ebp)
40d3f4:	18 7d 46             	sbb    %bh,0x46(%ebp)
40d3f7:	00 00                	add    %al,(%eax)
40d3f9:	00 00                	add    %al,(%eax)
40d3fb:	00 f4                	add    %dh,%ah
40d3fd:	d1 45 00             	roll   $1,0x0(%ebp)
40d400:	b0 7e                	mov    $0x7e,%al
40d402:	46                   	inc    %esi
40d403:	00 00                	add    %al,(%eax)
40d405:	00 00                	add    %al,(%eax)
40d407:	00 f0                	add    %dh,%al
40d409:	d1 45 00             	roll   $1,0x0(%ebp)
40d40c:	78 7f                	js     0x40d48d
40d40e:	46                   	inc    %esi
40d40f:	00 00                	add    %al,(%eax)
40d411:	00 00                	add    %al,(%eax)
40d413:	00 ec                	add    %ch,%ah
40d415:	d1 45 00             	roll   $1,0x0(%ebp)
40d418:	68 7f 46 00 00       	push   $0x467f
40d41d:	00 00                	add    %al,(%eax)
40d41f:	00 e8                	add    %ch,%al
40d421:	d1 45 00             	roll   $1,0x0(%ebp)
40d424:	f0 7e 46             	lock jle 0x40d46d
40d427:	00 00                	add    %al,(%eax)
40d429:	00 00                	add    %al,(%eax)
40d42b:	00 e4                	add    %ah,%ah
40d42d:	d1 45 00             	roll   $1,0x0(%ebp)
40d430:	d8 7d 46             	fdivrs 0x46(%ebp)
40d433:	00 00                	add    %al,(%eax)
40d435:	00 00                	add    %al,(%eax)
40d437:	00 e0                	add    %ah,%al
40d439:	d1 45 00             	roll   $1,0x0(%ebp)
40d43c:	88 7d 46             	mov    %bh,0x46(%ebp)
40d43f:	00 00                	add    %al,(%eax)
40d441:	00 00                	add    %al,(%eax)
40d443:	00 dc                	add    %bl,%ah
40d445:	d1 45 00             	roll   $1,0x0(%ebp)
40d448:	6c                   	insb   (%dx),%es:(%edi)
40d449:	7c 46                	jl     0x40d491
40d44b:	00 00                	add    %al,(%eax)
40d44d:	00 00                	add    %al,(%eax)
40d44f:	00 d8                	add    %bl,%al
40d451:	d1 45 00             	roll   $1,0x0(%ebp)
40d454:	64 7f 46             	fs jg  0x40d49d
40d457:	00 00                	add    %al,(%eax)
40d459:	00 00                	add    %al,(%eax)
40d45b:	00 d4                	add    %dl,%ah
40d45d:	d1 45 00             	roll   $1,0x0(%ebp)
40d460:	80 7e 46 00          	cmpb   $0x0,0x46(%esi)
40d464:	00 00                	add    %al,(%eax)
40d466:	00 00                	add    %al,(%eax)
40d468:	d0 d1                	rcl    $1,%cl
40d46a:	45                   	inc    %ebp
40d46b:	00 78 7d             	add    %bh,0x7d(%eax)
40d46e:	46                   	inc    %esi
40d46f:	00 00                	add    %al,(%eax)
40d471:	00 00                	add    %al,(%eax)
40d473:	00 cc                	add    %cl,%ah
40d475:	d1 45 00             	roll   $1,0x0(%ebp)
40d478:	54                   	push   %esp
40d479:	7e 46                	jle    0x40d4c1
40d47b:	00 00                	add    %al,(%eax)
40d47d:	00 00                	add    %al,(%eax)
40d47f:	00 c8                	add    %cl,%al
40d481:	d1 45 00             	roll   $1,0x0(%ebp)
40d484:	c4 7e 46             	les    0x46(%esi),%edi
40d487:	00 00                	add    %al,(%eax)
40d489:	00 00                	add    %al,(%eax)
40d48b:	00 c4                	add    %al,%ah
40d48d:	d1 45 00             	roll   $1,0x0(%ebp)
40d490:	6c                   	insb   (%dx),%es:(%edi)
40d491:	7e 46                	jle    0x40d4d9
40d493:	00 00                	add    %al,(%eax)
40d495:	00 00                	add    %al,(%eax)