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
401569:	56                   	push   %esi
40156a:	57                   	push   %edi
40156b:	50                   	push   %eax
40156c:	68 1f 00 02 00       	push   $0x2001f
401571:	33 f6                	xor    %esi,%esi
401573:	8b f9                	mov    %ecx,%edi
401575:	56                   	push   %esi
401576:	bb 08 11 40 00       	mov    $0x401108,%ebx
40157b:	53                   	push   %ebx
40157c:	68 01 00 00 80       	push   $0x80000001
401581:	89 37                	mov    %esi,(%edi)
401583:	ff 15 08 40 40 00    	call   *0x404008
401589:	85 c0                	test   %eax,%eax
40158b:	75 4f                	jne    0x4015dc
40158d:	8d 45 f8             	lea    -0x8(%ebp),%eax
401590:	c7 45 f8 04 00 00 00 	movl   $0x4,-0x8(%ebp)
401597:	50                   	push   %eax
401598:	8d 45 f0             	lea    -0x10(%ebp),%eax
40159b:	50                   	push   %eax
40159c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40159f:	50                   	push   %eax
4015a0:	56                   	push   %esi
4015a1:	68 84 11 40 00       	push   $0x401184
4015a6:	ff 75 fc             	push   -0x4(%ebp)
4015a9:	ff 15 00 40 40 00    	call   *0x404000
4015af:	85 c0                	test   %eax,%eax
4015b1:	75 10                	jne    0x4015c3
4015b3:	83 7d f4 04          	cmpl   $0x4,-0xc(%ebp)
4015b7:	75 0a                	jne    0x4015c3
4015b9:	8b 45 f0             	mov    -0x10(%ebp),%eax
4015bc:	83 f8 0d             	cmp    $0xd,%eax
4015bf:	7d 02                	jge    0x4015c3
4015c1:	89 07                	mov    %eax,(%edi)
4015c3:	ff 75 fc             	push   -0x4(%ebp)
4015c6:	ff 15 18 40 40 00    	call   *0x404018
4015cc:	56                   	push   %esi
4015cd:	56                   	push   %esi
4015ce:	53                   	push   %ebx
4015cf:	68 01 00 00 80       	push   $0x80000001
4015d4:	ff 15 14 40 40 00    	call   *0x404014
4015da:	eb 1e                	jmp    0x4015fa
4015dc:	ff 15 38 40 40 00    	call   *0x404038
4015e2:	8b f0                	mov    %eax,%esi
4015e4:	85 f6                	test   %esi,%esi
4015e6:	7e 0b                	jle    0x4015f3
4015e8:	0f b7 f6             	movzwl %si,%esi
4015eb:	81 ce 00 00 07 80    	or     $0x80070000,%esi
4015f1:	85 f6                	test   %esi,%esi
4015f3:	78 05                	js     0x4015fa
4015f5:	be 05 40 00 80       	mov    $0x80004005,%esi
4015fa:	5f                   	pop    %edi
4015fb:	8b c6                	mov    %esi,%eax
4015fd:	5e                   	pop    %esi
4015fe:	5b                   	pop    %ebx
4015ff:	c9                   	leave
401600:	c3                   	ret
401601:	8b ff                	mov    %edi,%edi
401603:	56                   	push   %esi
401604:	8b f1                	mov    %ecx,%esi
401606:	85 f6                	test   %esi,%esi
401608:	0f 84 9c 00 00 00    	je     0x4016aa
40160e:	57                   	push   %edi
40160f:	6a 02                	push   $0x2
401611:	5f                   	pop    %edi
401612:	0f b7 06             	movzwl (%esi),%eax
401615:	33 c9                	xor    %ecx,%ecx
401617:	66 3b c8             	cmp    %ax,%cx
40161a:	74 10                	je     0x40162c
40161c:	50                   	push   %eax
40161d:	ff 15 b0 40 40 00    	call   *0x4040b0
401623:	59                   	pop    %ecx
401624:	85 c0                	test   %eax,%eax
401626:	74 04                	je     0x40162c
401628:	03 f7                	add    %edi,%esi
40162a:	75 e6                	jne    0x401612
40162c:	85 f6                	test   %esi,%esi
40162e:	74 79                	je     0x4016a9
401630:	0f b7 06             	movzwl (%esi),%eax
401633:	53                   	push   %ebx
401634:	6a 22                	push   $0x22
401636:	5b                   	pop    %ebx
401637:	66 3b d8             	cmp    %ax,%bx
40163a:	75 2f                	jne    0x40166b
40163c:	03 f7                	add    %edi,%esi
40163e:	0f b7 06             	movzwl (%esi),%eax
401641:	8b c8                	mov    %eax,%ecx
401643:	66 3b d8             	cmp    %ax,%bx
401646:	74 1a                	je     0x401662
401648:	8b d0                	mov    %eax,%edx
40164a:	33 c0                	xor    %eax,%eax
40164c:	0f b7 ca             	movzwl %dx,%ecx
40164f:	66 3b c2             	cmp    %dx,%ax
401652:	74 0e                	je     0x401662
401654:	03 f7                	add    %edi,%esi
401656:	0f b7 06             	movzwl (%esi),%eax
401659:	8b d0                	mov    %eax,%edx
40165b:	8b c8                	mov    %eax,%ecx
40165d:	66 3b d8             	cmp    %ax,%bx
401660:	75 e8                	jne    0x40164a
401662:	66 3b d9             	cmp    %cx,%bx
401665:	75 23                	jne    0x40168a
401667:	03 f7                	add    %edi,%esi
401669:	eb 1f                	jmp    0x40168a
40166b:	33 c9                	xor    %ecx,%ecx
40166d:	66 3b c8             	cmp    %ax,%cx
401670:	74 18                	je     0x40168a
401672:	03 f7                	add    %edi,%esi
401674:	0f b7 06             	movzwl (%esi),%eax
401677:	50                   	push   %eax
401678:	ff 15 b0 40 40 00    	call   *0x4040b0
40167e:	59                   	pop    %ecx
40167f:	85 c0                	test   %eax,%eax
401681:	75 07                	jne    0x40168a
401683:	03 f7                	add    %edi,%esi
401685:	66 3b 06             	cmp    (%esi),%ax
401688:	75 e8                	jne    0x401672
40168a:	5b                   	pop    %ebx
40168b:	85 f6                	test   %esi,%esi
40168d:	74 1a                	je     0x4016a9
40168f:	0f b7 06             	movzwl (%esi),%eax
401692:	33 c9                	xor    %ecx,%ecx
401694:	66 3b c8             	cmp    %ax,%cx
401697:	74 10                	je     0x4016a9
401699:	50                   	push   %eax
40169a:	ff 15 b0 40 40 00    	call   *0x4040b0
4016a0:	59                   	pop    %ecx
4016a1:	85 c0                	test   %eax,%eax
4016a3:	74 04                	je     0x4016a9
4016a5:	03 f7                	add    %edi,%esi
4016a7:	75 e6                	jne    0x40168f
4016a9:	5f                   	pop    %edi
4016aa:	8b c6                	mov    %esi,%eax
4016ac:	5e                   	pop    %esi
4016ad:	c3                   	ret
4016ae:	8b ff                	mov    %edi,%edi
4016b0:	55                   	push   %ebp
4016b1:	8b ec                	mov    %esp,%ebp
4016b3:	83 ec 2c             	sub    $0x2c,%esp
4016b6:	53                   	push   %ebx
4016b7:	56                   	push   %esi
4016b8:	57                   	push   %edi
4016b9:	33 ff                	xor    %edi,%edi
4016bb:	57                   	push   %edi
4016bc:	57                   	push   %edi
4016bd:	6a 01                	push   $0x1
4016bf:	57                   	push   %edi
4016c0:	ff 15 28 40 40 00    	call   *0x404028
4016c6:	a1 78 40 40 00       	mov    0x404078,%eax
4016cb:	68 00 7f 00 00       	push   $0x7f00
4016d0:	57                   	push   %edi
4016d1:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4016d4:	89 7d dc             	mov    %edi,-0x24(%ebp)
4016d7:	89 7d e0             	mov    %edi,-0x20(%ebp)
4016da:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4016dd:	89 7d e8             	mov    %edi,-0x18(%ebp)
4016e0:	89 7d f4             	mov    %edi,-0xc(%ebp)
4016e3:	89 45 d8             	mov    %eax,-0x28(%ebp)
4016e6:	ff 15 80 40 40 00    	call   *0x404080
4016ec:	57                   	push   %edi
4016ed:	89 45 ec             	mov    %eax,-0x14(%ebp)
4016f0:	ff 15 20 40 40 00    	call   *0x404020
4016f6:	89 45 f0             	mov    %eax,-0x10(%ebp)
4016f9:	be 94 11 40 00       	mov    $0x401194,%esi
4016fe:	8d 45 d4             	lea    -0x2c(%ebp),%eax
401701:	89 75 f8             	mov    %esi,-0x8(%ebp)
401704:	50                   	push   %eax
401705:	ff 15 84 40 40 00    	call   *0x404084
40170b:	57                   	push   %edi
40170c:	57                   	push   %edi
40170d:	57                   	push   %edi
40170e:	57                   	push   %edi
40170f:	57                   	push   %edi
401710:	57                   	push   %edi
401711:	b8 00 00 00 80       	mov    $0x80000000,%eax
401716:	50                   	push   %eax