401256:	d4 23                	aam    $0x23
401258:	01 00                	add    %eax,(%eax)
40125a:	00 00                	add    %al,(%eax)
40125c:	50                   	push   %eax
40125d:	72 69                	jb     0x4012c8
40125f:	6e                   	outsb  %ds:(%esi),(%dx)
401260:	74 55                	je     0x4012b7
401262:	49                   	dec    %ecx
401263:	2e 70 64             	jo,pn  0x4012ca
401266:	62 00                	bound  %eax,(%eax)
401268:	47                   	inc    %edi
401269:	43                   	inc    %ebx
40126a:	54                   	push   %esp
40126b:	4c                   	dec    %esp
40126c:	00 10                	add    %dl,(%eax)
40126e:	00 00                	add    %al,(%eax)
401270:	b4 00                	mov    $0x0,%ah
401272:	00 00                	add    %al,(%eax)
401274:	2e 72 64             	jb,pn  0x4012db
401277:	61                   	popa
401278:	74 61                	je     0x4012db
40127a:	24 62                	and    $0x62,%al
40127c:	72 63                	jb     0x4012e1
40127e:	00 00                	add    %al,(%eax)
401280:	b4 10                	mov    $0x10,%ah
401282:	00 00                	add    %al,(%eax)
401284:	04 00                	add    $0x0,%al
401286:	00 00                	add    %al,(%eax)
401288:	2e 43                	cs inc %ebx
40128a:	52                   	push   %edx
40128b:	54                   	push   %esp
40128c:	24 58                	and    $0x58,%al
40128e:	43                   	inc    %ebx
40128f:	41                   	inc    %ecx
401290:	00 00                	add    %al,(%eax)
401292:	00 00                	add    %al,(%eax)
401294:	b8 10 00 00 04       	mov    $0x4000010,%eax
401299:	00 00                	add    %al,(%eax)
40129b:	00 2e                	add    %ch,(%esi)
40129d:	43                   	inc    %ebx
40129e:	52                   	push   %edx
40129f:	54                   	push   %esp
4012a0:	24 58                	and    $0x58,%al
4012a2:	43                   	inc    %ebx
4012a3:	41                   	inc    %ecx
4012a4:	41                   	inc    %ecx
4012a5:	00 00                	add    %al,(%eax)
4012a7:	00 bc 10 00 00 04 00 	add    %bh,0x40000(%eax,%edx,1)
4012ae:	00 00                	add    %al,(%eax)
4012b0:	2e 43                	cs inc %ebx
4012b2:	52                   	push   %edx
4012b3:	54                   	push   %esp
4012b4:	24 58                	and    $0x58,%al
4012b6:	43                   	inc    %ebx
4012b7:	5a                   	pop    %edx
4012b8:	00 00                	add    %al,(%eax)
4012ba:	00 00                	add    %al,(%eax)
4012bc:	c0 10 00             	rclb   $0x0,(%eax)
4012bf:	00 04 00             	add    %al,(%eax,%eax,1)
4012c2:	00 00                	add    %al,(%eax)
4012c4:	2e 43                	cs inc %ebx
4012c6:	52                   	push   %edx
4012c7:	54                   	push   %esp
4012c8:	24 58                	and    $0x58,%al
4012ca:	49                   	dec    %ecx
4012cb:	41                   	inc    %ecx
4012cc:	00 00                	add    %al,(%eax)
4012ce:	00 00                	add    %al,(%eax)
4012d0:	c4 10                	les    (%eax),%edx
4012d2:	00 00                	add    %al,(%eax)
4012d4:	04 00                	add    $0x0,%al
4012d6:	00 00                	add    %al,(%eax)
4012d8:	2e 43                	cs inc %ebx
4012da:	52                   	push   %edx
4012db:	54                   	push   %esp
4012dc:	24 58                	and    $0x58,%al
4012de:	49                   	dec    %ecx
4012df:	41                   	inc    %ecx
4012e0:	41                   	inc    %ecx
4012e1:	00 00                	add    %al,(%eax)
4012e3:	00 c8                	add    %cl,%al
4012e5:	10 00                	adc    %al,(%eax)
4012e7:	00 04 00             	add    %al,(%eax,%eax,1)
4012ea:	00 00                	add    %al,(%eax)
4012ec:	2e 43                	cs inc %ebx
4012ee:	52                   	push   %edx
4012ef:	54                   	push   %esp
4012f0:	24 58                	and    $0x58,%al
4012f2:	49                   	dec    %ecx
4012f3:	59                   	pop    %ecx
4012f4:	00 00                	add    %al,(%eax)
4012f6:	00 00                	add    %al,(%eax)
4012f8:	cc                   	int3
4012f9:	10 00                	adc    %al,(%eax)
4012fb:	00 04 00             	add    %al,(%eax,%eax,1)
4012fe:	00 00                	add    %al,(%eax)
401300:	2e 43                	cs inc %ebx
401302:	52                   	push   %edx
401303:	54                   	push   %esp
401304:	24 58                	and    $0x58,%al
401306:	49                   	dec    %ecx
401307:	5a                   	pop    %edx
401308:	00 00                	add    %al,(%eax)
40130a:	00 00                	add    %al,(%eax)
40130c:	d0 10                	rclb   $1,(%eax)
40130e:	00 00                	add    %al,(%eax)
401310:	24 00                	and    $0x0,%al
401312:	00 00                	add    %al,(%eax)
401314:	2e 67 66 69 64 73 00 	imul   $0x0,%cs:0x73(%si),%sp
40131b:	00
40131c:	f4                   	hlt
40131d:	10 00                	adc    %al,(%eax)
40131f:	00 0c 00             	add    %cl,(%eax,%eax,1)
401322:	00 00                	add    %al,(%eax)
401324:	2e 67 69 61 74 73 00 	imul   $0x73,%cs:0x74(%bx,%di),%esp
40132b:	00 00
40132d:	11 00                	adc    %eax,(%eax)
40132f:	00 40 01             	add    %al,0x1(%eax)
401332:	00 00                	add    %al,(%eax)
401334:	2e 72 64             	jb,pn  0x40139b
401337:	61                   	popa
401338:	74 61                	je     0x40139b
40133a:	00 00                	add    %al,(%eax)
40133c:	40                   	inc    %eax
40133d:	12 00                	adc    (%eax),%al
40133f:	00 04 00             	add    %al,(%eax,%eax,1)
401342:	00 00                	add    %al,(%eax)
401344:	2e 72 64             	jb,pn  0x4013ab
401347:	61                   	popa
401348:	74 61                	je     0x4013ab
40134a:	24 73                	and    $0x73,%al
40134c:	78 64                	js     0x4013b2
40134e:	61                   	popa
40134f:	74 61                	je     0x4013b2
401351:	00 00                	add    %al,(%eax)
401353:	00 44 12 00          	add    %al,0x0(%edx,%edx,1)
401357:	00 3c 02             	add    %bh,(%edx,%eax,1)
40135a:	00 00                	add    %al,(%eax)
40135c:	2e 72 64             	jb,pn  0x4013c3
40135f:	61                   	popa
401360:	74 61                	je     0x4013c3
401362:	24 7a                	and    $0x7a,%al
401364:	7a 7a                	jp     0x4013e0
401366:	64 62 67 00          	bound  %esp,%fs:0x0(%edi)
40136a:	00 00                	add    %al,(%eax)
40136c:	80 14 00 00          	adcb   $0x0,(%eax,%eax,1)
401370:	78 0b                	js     0x40137d
401372:	00 00                	add    %al,(%eax)
401374:	2e 74 65             	je,pn  0x4013dc
401377:	78 74                	js     0x4013ed
401379:	24 6d                	and    $0x6d,%al
40137b:	6e                   	outsb  %ds:(%esi),(%dx)
40137c:	00 00                	add    %al,(%eax)
40137e:	00 00                	add    %al,(%eax)
401380:	f8                   	clc
401381:	1f                   	pop    %ds
401382:	00 00                	add    %al,(%eax)
401384:	5c                   	pop    %esp
401385:	00 00                	add    %al,(%eax)
401387:	00 2e                	add    %ch,(%esi)
401389:	78 64                	js     0x4013ef
40138b:	61                   	popa
40138c:	74 61                	je     0x4013ef
40138e:	24 78                	and    $0x78,%al
401390:	00 00                	add    %al,(%eax)
401392:	00 00                	add    %al,(%eax)
401394:	00 30                	add    %dh,(%eax)
401396:	00 00                	add    %al,(%eax)
401398:	10 00                	adc    %al,(%eax)
40139a:	00 00                	add    %al,(%eax)
40139c:	2e 64 61             	cs fs popa
40139f:	74 61                	je     0x401402
4013a1:	00 00                	add    %al,(%eax)
4013a3:	00 10                	add    %dl,(%eax)
4013a5:	30 00                	xor    %al,(%eax)
4013a7:	00 60 03             	add    %ah,0x3(%eax)
4013aa:	00 00                	add    %al,(%eax)
4013ac:	2e 62 73 73          	bound  %esi,%cs:0x73(%ebx)
4013b0:	00 00                	add    %al,(%eax)
4013b2:	00 00                	add    %al,(%eax)
4013b4:	00 40 00             	add    %al,0x0(%eax)
4013b7:	00 d0                	add    %dl,%al
4013b9:	00 00                	add    %al,(%eax)
4013bb:	00 2e                	add    %ch,(%esi)
4013bd:	69 64 61 74 61 24 35 	imul   $0x352461,0x74(%ecx,%eiz,2),%esp
4013c4:	00
4013c5:	00 00                	add    %al,(%eax)
4013c7:	00 d0                	add    %dl,%al
4013c9:	40                   	inc    %eax
4013ca:	00 00                	add    %al,(%eax)
4013cc:	04 00                	add    $0x0,%al
4013ce:	00 00                	add    %al,(%eax)
4013d0:	2e 30 30             	xor    %dh,%cs:(%eax)
4013d3:	63 66 67             	arpl   %esp,0x67(%esi)
4013d6:	00 00                	add    %al,(%eax)
4013d8:	d4 40                	aam    $0x40
4013da:	00 00                	add    %al,(%eax)
4013dc:	64 00 00             	add    %al,%fs:(%eax)
4013df:	00 2e                	add    %ch,(%esi)
4013e1:	69 64 61 74 61 24 32 	imul   $0x322461,0x74(%ecx,%eiz,2),%esp
4013e8:	00
4013e9:	00 00                	add    %al,(%eax)
4013eb:	00 38                	add    %bh,(%eax)
4013ed:	41                   	inc    %ecx
4013ee:	00 00                	add    %al,(%eax)
4013f0:	14 00                	adc    $0x0,%al
4013f2:	00 00                	add    %al,(%eax)
4013f4:	2e 69 64 61 74 61 24 	imul   $0x332461,%cs:0x74(%ecx,%eiz,2),%esp
4013fb:	33 00
4013fd:	00 00                	add    %al,(%eax)
4013ff:	00 4c 41 00          	add    %cl,0x0(%ecx,%eax,2)
401403:	00 d0                	add    %dl,%al
401405:	00 00                	add    %al,(%eax)
401407:	00 2e                	add    %ch,(%esi)
401409:	69 64 61 74 61 24 34 	imul   $0x342461,0x74(%ecx,%eiz,2),%esp
401410:	00
401411:	00 00                	add    %al,(%eax)
401413:	00 1c 42             	add    %bl,(%edx,%eax,2)
401416:	00 00                	add    %al,(%eax)
401418:	70 03                	jo     0x40141d
40141a:	00 00                	add    %al,(%eax)
40141c:	2e 69 64 61 74 61 24 	imul   $0x362461,%cs:0x74(%ecx,%eiz,2),%esp
401423:	36 00
401425:	00 00                	add    %al,(%eax)
401427:	00 00                	add    %al,(%eax)
401429:	50                   	push   %eax
40142a:	00 00                	add    %al,(%eax)
40142c:	30 03                	xor    %al,(%ebx)
40142e:	00 00                	add    %al,(%eax)
401430:	2e 72 73             	jb,pn  0x4014a6
401433:	72 63                	jb     0x401498
401435:	24 30                	and    $0x30,%al
401437:	31 00                	xor    %eax,(%eax)
401439:	00 00                	add    %al,(%eax)
40143b:	00 30                	add    %dh,(%eax)
40143d:	53                   	push   %ebx
40143e:	00 00                	add    %al,(%eax)
401440:	b8 cf 00 00 2e       	mov    $0x2e0000cf,%eax
401445:	72 73                	jb     0x4014ba
401447:	72 63                	jb     0x4014ac
401449:	24 30                	and    $0x30,%al
40144b:	32 00                	xor    (%eax),%al
40144d:	00 00                	add    %al,(%eax)
40144f:	00 20                	add    %ah,(%eax)
401451:	00 00                	add    %al,(%eax)
401453:	00 f3                	add    %dh,%bl
401455:	e3 a5                	jecxz  0x4013fc
401457:	09 23                	or     %esp,(%ebx)
401459:	75 47                	jne    0x4014a2
40145b:	de ef                	fsubrp %st,%st(7)
40145d:	ab                   	stos   %eax,%es:(%edi)
40145e:	87 cf                	xchg   %ecx,%edi
401460:	03 e1                	add    %ecx,%esp
401462:	d4 23                	aam    $0x23
401464:	71 f9                	jno    0x40145f
401466:	34 cd                	xor    $0xcd,%al
401468:	7c da                	jl     0x401444
40146a:	df 4d 48             	fisttps 0x48(%ebp)
40146d:	3c 06                	cmp    $0x6,%al
40146f:	df f4                	fcomip %st(4),%st
401471:	b6 06                	mov    $0x6,%dh
401473:	80 00 00             	addb   $0x0,(%eax)
40147e:	00 00                	add    %al,(%eax)
401480:	8b ff                	mov    %edi,%edi
401482:	55                   	push   %ebp
401483:	8b ec                	mov    %esp,%ebp
401485:	83 ec 10             	sub    $0x10,%esp
401488:	8d 45 fc             	lea    -0x4(%ebp),%eax
40148b:	53                   	push   %ebx
40148c:	56                   	push   %esi
40148d:	33 f6                	xor    %esi,%esi
40148f:	8b d9                	mov    %ecx,%ebx
401491:	56                   	push   %esi
401492:	50                   	push   %eax
401493:	56                   	push   %esi
401494:	68 1f 00 02 00       	push   $0x2001f
401499:	56                   	push   %esi
40149a:	56                   	push   %esi
40149b:	56                   	push   %esi
40149c:	68 08 11 40 00       	push   $0x401108
4014a1:	68 01 00 00 80       	push   $0x80000001
4014a6:	ff 15 10 40 40 00    	call   *0x404010
4014ac:	85 c0                	test   %eax,%eax
4014ae:	0f 85 85 00 00 00    	jne    0x401539
4014b4:	57                   	push   %edi
4014b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4014b8:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
4014bf:	50                   	push   %eax
4014c0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4014c3:	8b fe                	mov    %esi,%edi
4014c5:	50                   	push   %eax
4014c6:	8d 45 f0             	lea    -0x10(%ebp),%eax
4014c9:	50                   	push   %eax
4014ca:	56                   	push   %esi
4014cb:	68 84 11 40 00       	push   $0x401184
4014d0:	ff 75 fc             	push   -0x4(%ebp)
4014d3:	ff 15 00 40 40 00    	call   *0x404000
4014d9:	85 c0                	test   %eax,%eax
4014db:	75 10                	jne    0x4014ed
4014dd:	83 7d f0 04          	cmpl   $0x4,-0x10(%ebp)
4014e1:	75 0f                	jne    0x4014f2
4014e3:	8b 7d f8             	mov    -0x8(%ebp),%edi
4014e6:	83 ff 0d             	cmp    $0xd,%edi
4014e9:	7d 19                	jge    0x401504
4014eb:	eb 13                	jmp    0x401500
4014ed:	83 f8 02             	cmp    $0x2,%eax
4014f0:	74 12                	je     0x401504
4014f2:	68 84 11 40 00       	push   $0x401184
4014f7:	ff 75 fc             	push   -0x4(%ebp)
4014fa:	ff 15 04 40 40 00    	call   *0x404004
401500:	85 ff                	test   %edi,%edi
401502:	75 29                	jne    0x40152d
401504:	6a 04                	push   $0x4
401506:	8d 45 f8             	lea    -0x8(%ebp),%eax
401509:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40150c:	50                   	push   %eax
40150d:	6a 04                	push   $0x4
40150f:	56                   	push   %esi
401510:	68 84 11 40 00       	push   $0x401184
401515:	ff 75 fc             	push   -0x4(%ebp)
401518:	ff 15 0c 40 40 00    	call   *0x40400c
40151e:	8b f0                	mov    %eax,%esi
401520:	85 f6                	test   %esi,%esi
401522:	7e 09                	jle    0x40152d
401524:	0f b7 f6             	movzwl %si,%esi
401527:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40152d:	ff 75 fc             	push   -0x4(%ebp)
401530:	ff 15 18 40 40 00    	call   *0x404018
401536:	5f                   	pop    %edi
401537:	eb 1e                	jmp    0x401557
401539:	ff 15 38 40 40 00    	call   *0x404038
40153f:	8b f0                	mov    %eax,%esi
401541:	85 f6                	test   %esi,%esi
401543:	7e 0b                	jle    0x401550
401545:	0f b7 f6             	movzwl %si,%esi
401548:	81 ce 00 00 07 80    	or     $0x80070000,%esi
40154e:	85 f6                	test   %esi,%esi
401550:	78 05                	js     0x401557
401552:	be 05 40 00 80       	mov    $0x80004005,%esi
401557:	8b c6                	mov    %esi,%eax
401559:	5e                   	pop    %esi
40155a:	5b                   	pop    %ebx
40155b:	c9                   	leave
40155c:	c3                   	ret
40155d:	8b ff                	mov    %edi,%edi
40155f:	55                   	push   %ebp
401560:	8b ec                	mov    %esp,%ebp
401562:	83 ec 10             	sub    $0x10,%esp
401565:	8d 45 fc             	lea    -0x4(%ebp),%eax
401568:	53                   	push   %ebx