4013af:	00 2e                	add    %ch,(%esi)
4013b1:	74 65                	je     0x401418
4013b3:	78 74                	js     0x401429
4013b5:	24 78                	and    $0x78,%al
4013b7:	00 b8 23 00 00 b4    	add    %bh,-0x4bffffdd(%eax)
4013bd:	00 00                	add    %al,(%eax)
4013bf:	00 2e                	add    %ch,(%esi)
4013c1:	78 64                	js     0x401427
4013c3:	61                   	popa
4013c4:	74 61                	je     0x401427
4013c6:	24 78                	and    $0x78,%al
4013c8:	00 00                	add    %al,(%eax)
4013ca:	00 00                	add    %al,(%eax)
4013cc:	00 30                	add    %dh,(%eax)
4013ce:	00 00                	add    %al,(%eax)
4013d0:	10 00                	adc    %al,(%eax)
4013d2:	00 00                	add    %al,(%eax)
4013d4:	2e 64 61             	cs fs popa
4013d7:	74 61                	je     0x40143a
4013d9:	00 00                	add    %al,(%eax)
4013db:	00 10                	add    %dl,(%eax)
4013dd:	30 00                	xor    %al,(%eax)
4013df:	00 80 07 00 00 2e    	add    %al,0x2e000007(%eax)
4013e5:	62 73 73             	bound  %esi,0x73(%ebx)
4013e8:	00 00                	add    %al,(%eax)
4013ea:	00 00                	add    %al,(%eax)
4013ec:	00 40 00             	add    %al,0x0(%eax)
4013ef:	00 b4 00 00 00 2e 69 	add    %dh,0x692e0000(%eax,%eax,1)
4013f6:	64 61                	fs popa
4013f8:	74 61                	je     0x40145b
4013fa:	24 35                	and    $0x35,%al
4013fc:	00 00                	add    %al,(%eax)
4013fe:	00 00                	add    %al,(%eax)
401400:	b4 40                	mov    $0x40,%ah
401402:	00 00                	add    %al,(%eax)
401404:	04 00                	add    $0x0,%al
401406:	00 00                	add    %al,(%eax)
401408:	2e 30 30             	xor    %dh,%cs:(%eax)
40140b:	63 66 67             	arpl   %esp,0x67(%esi)
40140e:	00 00                	add    %al,(%eax)
401410:	b8 40 00 00 50       	mov    $0x50000040,%eax
401415:	00 00                	add    %al,(%eax)
401417:	00 2e                	add    %ch,(%esi)
401419:	69 64 61 74 61 24 32 	imul   $0x322461,0x74(%ecx,%eiz,2),%esp
401420:	00
401421:	00 00                	add    %al,(%eax)
401423:	00 08                	add    %cl,(%eax)
401425:	41                   	inc    %ecx
401426:	00 00                	add    %al,(%eax)
401428:	14 00                	adc    $0x0,%al
40142a:	00 00                	add    %al,(%eax)
40142c:	2e 69 64 61 74 61 24 	imul   $0x332461,%cs:0x74(%ecx,%eiz,2),%esp
401433:	33 00
401435:	00 00                	add    %al,(%eax)
401437:	00 1c 41             	add    %bl,(%ecx,%eax,2)
40143a:	00 00                	add    %al,(%eax)
40143c:	b4 00                	mov    $0x0,%ah
40143e:	00 00                	add    %al,(%eax)
401440:	2e 69 64 61 74 61 24 	imul   $0x342461,%cs:0x74(%ecx,%eiz,2),%esp
401447:	34 00
401449:	00 00                	add    %al,(%eax)
40144b:	00 d0                	add    %dl,%al
40144d:	41                   	inc    %ecx
40144e:	00 00                	add    %al,(%eax)
401450:	06                   	push   %es
401451:	03 00                	add    (%eax),%eax
401453:	00 2e                	add    %ch,(%esi)
401455:	69 64 61 74 61 24 36 	imul   $0x362461,0x74(%ecx,%eiz,2),%esp
40145c:	00
40145d:	00 00                	add    %al,(%eax)
40145f:	00 00                	add    %al,(%eax)
401461:	50                   	push   %eax
401462:	00 00                	add    %al,(%eax)
401464:	f0 00 00             	lock add %al,(%eax)
401467:	00 2e                	add    %ch,(%esi)
401469:	72 73                	jb     0x4014de
40146b:	72 63                	jb     0x4014d0
40146d:	24 30                	and    $0x30,%al
40146f:	31 00                	xor    %eax,(%eax)
401471:	00 00                	add    %al,(%eax)
401473:	00 f0                	add    %dh,%al
401475:	50                   	push   %eax
401476:	00 00                	add    %al,(%eax)
401478:	e0 06                	loopne 0x401480
40147a:	00 00                	add    %al,(%eax)
40147c:	2e 72 73             	jb,pn  0x4014f2
40147f:	72 63                	jb     0x4014e4
401481:	24 30                	and    $0x30,%al
401483:	32 00                	xor    (%eax),%al
401485:	00 00                	add    %al,(%eax)
401487:	00 20                	add    %ah,(%eax)
401489:	00 00                	add    %al,(%eax)
40148b:	00 88 b3 5c f6 e5    	add    %cl,-0x1a09a34d(%eax)
401491:	39 14 55 52 8a 1e 4e 	cmp    %edx,0x4e1e8a52(,%edx,2)
401498:	ae                   	scas   %es:(%edi),%al
401499:	48                   	dec    %eax
40149a:	bf 2f 5b 5c e9       	mov    $0xe95c5b2f,%edi
40149f:	74 0c                	je     0x4014ad
4014a1:	00 a6 0f 40 4a 17    	add    %ah,0x174a400f(%esi)
4014a7:	49                   	dec    %ecx
4014a8:	76 11                	jbe    0x4014bb
4014aa:	21 f7                	and    %esi,%edi
4014ac:	00 00                	add    %al,(%eax)
4014ae:	00 00                	add    %al,(%eax)
4014b0:	8b ff                	mov    %edi,%edi
4014b2:	55                   	push   %ebp
4014b3:	8b ec                	mov    %esp,%ebp
4014b5:	8b 45 0c             	mov    0xc(%ebp),%eax
4014b8:	56                   	push   %esi
4014b9:	33 f6                	xor    %esi,%esi
4014bb:	85 c0                	test   %eax,%eax
4014bd:	74 07                	je     0x4014c6
4014bf:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
4014c4:	76 05                	jbe    0x4014cb
4014c6:	be 57 00 07 80       	mov    $0x80070057,%esi
4014cb:	85 f6                	test   %esi,%esi
4014cd:	78 37                	js     0x401506
4014cf:	53                   	push   %ebx
4014d0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4014d3:	33 f6                	xor    %esi,%esi
4014d5:	57                   	push   %edi
4014d6:	8d 78 ff             	lea    -0x1(%eax),%edi
4014d9:	8d 45 14             	lea    0x14(%ebp),%eax
4014dc:	50                   	push   %eax
4014dd:	ff 75 10             	push   0x10(%ebp)
4014e0:	57                   	push   %edi
4014e1:	53                   	push   %ebx
4014e2:	ff 15 74 40 40 00    	call   *0x404074
4014e8:	83 c4 10             	add    $0x10,%esp
4014eb:	85 c0                	test   %eax,%eax
4014ed:	78 08                	js     0x4014f7
4014ef:	3b c7                	cmp    %edi,%eax
4014f1:	77 04                	ja     0x4014f7
4014f3:	75 0d                	jne    0x401502
4014f5:	eb 05                	jmp    0x4014fc
4014f7:	be 7a 00 07 80       	mov    $0x8007007a,%esi
4014fc:	33 c0                	xor    %eax,%eax
4014fe:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
401502:	5f                   	pop    %edi
401503:	5b                   	pop    %ebx
401504:	eb 0c                	jmp    0x401512
401506:	85 c0                	test   %eax,%eax
401508:	74 08                	je     0x401512
40150a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40150d:	33 c0                	xor    %eax,%eax
40150f:	66 89 01             	mov    %ax,(%ecx)
401512:	8b c6                	mov    %esi,%eax
401514:	5e                   	pop    %esi
401515:	5d                   	pop    %ebp
401516:	c3                   	ret
401517:	68 4c 04 00 00       	push   $0x44c
40151c:	b8 8a 23 40 00       	mov    $0x40238a,%eax
401521:	e8 2b 0e 00 00       	call   0x402351
401526:	8b 45 0c             	mov    0xc(%ebp),%eax
401529:	89 85 bc fb ff ff    	mov    %eax,-0x444(%ebp)
40152f:	33 f6                	xor    %esi,%esi
401531:	56                   	push   %esi
401532:	56                   	push   %esi
401533:	6a 01                	push   $0x1
401535:	56                   	push   %esi
401536:	ff 15 5c 40 40 00    	call   *0x40405c
40153c:	89 b5 c8 fb ff ff    	mov    %esi,-0x438(%ebp)
401542:	89 b5 a8 fb ff ff    	mov    %esi,-0x458(%ebp)
401548:	89 75 fc             	mov    %esi,-0x4(%ebp)
40154b:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
401551:	e8 cb 05 00 00       	call   0x401b21
401556:	85 c0                	test   %eax,%eax
401558:	75 14                	jne    0x40156e
40155a:	b8 03 00 07 80       	mov    $0x80070003,%eax
40155f:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
401565:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401569:	e9 b2 01 00 00       	jmp    0x401720
40156e:	8b 95 c8 fb ff ff    	mov    -0x438(%ebp),%edx
401574:	85 d2                	test   %edx,%edx
401576:	74 16                	je     0x40158e
401578:	8b ca                	mov    %edx,%ecx
40157a:	8d 79 02             	lea    0x2(%ecx),%edi
40157d:	66 8b 01             	mov    (%ecx),%ax
401580:	83 c1 02             	add    $0x2,%ecx
401583:	66 3b c6             	cmp    %si,%ax
401586:	75 f5                	jne    0x40157d
401588:	2b cf                	sub    %edi,%ecx
40158a:	d1 f9                	sar    $1,%ecx
40158c:	eb 02                	jmp    0x401590
40158e:	8b ce                	mov    %esi,%ecx
401590:	81 f9 04 01 00 00    	cmp    $0x104,%ecx
401596:	7e 07                	jle    0x40159f
401598:	b8 a1 00 07 80       	mov    $0x800700a1,%eax
40159d:	eb c0                	jmp    0x40155f
40159f:	bb fe ff ff 7f       	mov    $0x7ffffffe,%ebx
4015a4:	89 9d ac fb ff ff    	mov    %ebx,-0x454(%ebp)
4015aa:	89 95 b0 fb ff ff    	mov    %edx,-0x450(%ebp)
4015b0:	c7 85 cc fb ff ff 05 	movl   $0x105,-0x434(%ebp)
4015b7:	01 00 00
4015ba:	b9 60 33 40 00       	mov    $0x403360,%ecx
4015bf:	89 8d c4 fb ff ff    	mov    %ecx,-0x43c(%ebp)
4015c5:	8b c6                	mov    %esi,%eax
4015c7:	8b fe                	mov    %esi,%edi
4015c9:	89 bd c0 fb ff ff    	mov    %edi,-0x440(%ebp)
4015cf:	39 85 cc fb ff ff    	cmp    %eax,-0x434(%ebp)
4015d5:	74 42                	je     0x401619
4015d7:	85 db                	test   %ebx,%ebx
4015d9:	74 53                	je     0x40162e
4015db:	0f b7 32             	movzwl (%edx),%esi
4015de:	89 b5 b8 fb ff ff    	mov    %esi,-0x448(%ebp)
4015e4:	66 85 f6             	test   %si,%si
4015e7:	6a 00                	push   $0x0
4015e9:	5e                   	pop    %esi
4015ea:	74 42                	je     0x40162e
4015ec:	8b b5 b8 fb ff ff    	mov    -0x448(%ebp),%esi
4015f2:	66 89 31             	mov    %si,(%ecx)
4015f5:	83 c1 02             	add    $0x2,%ecx
4015f8:	89 8d c4 fb ff ff    	mov    %ecx,-0x43c(%ebp)
4015fe:	83 c2 02             	add    $0x2,%edx
401601:	89 95 b0 fb ff ff    	mov    %edx,-0x450(%ebp)
401607:	ff 8d cc fb ff ff    	decl   -0x434(%ebp)
40160d:	4b                   	dec    %ebx
40160e:	89 9d ac fb ff ff    	mov    %ebx,-0x454(%ebp)
401614:	47                   	inc    %edi
401615:	33 f6                	xor    %esi,%esi
401617:	eb b0                	jmp    0x4015c9
401619:	83 e9 02             	sub    $0x2,%ecx
40161c:	89 8d c4 fb ff ff    	mov    %ecx,-0x43c(%ebp)
401622:	4f                   	dec    %edi
401623:	89 bd c0 fb ff ff    	mov    %edi,-0x440(%ebp)
401629:	b8 7a 00 07 80       	mov    $0x8007007a,%eax
40162e:	33 d2                	xor    %edx,%edx
401630:	66 89 11             	mov    %dx,(%ecx)
401633:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
401639:	85 c0                	test   %eax,%eax
40163b:	0f 85 24 ff ff ff    	jne    0x401565
401641:	8d 8d b4 fb ff ff    	lea    -0x44c(%ebp),%ecx
401647:	e8 23 03 00 00       	call   0x40196f
40164c:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
401652:	85 c0                	test   %eax,%eax
401654:	0f 85 0b ff ff ff    	jne    0x401565
40165a:	8b bd b8 fb ff ff    	mov    -0x448(%ebp),%edi
401660:	57                   	push   %edi
401661:	8b 9d b4 fb ff ff    	mov    -0x44c(%ebp),%ebx
401667:	53                   	push   %ebx
401668:	68 60 33 40 00       	push   $0x403360
40166d:	68 00 11 40 00       	push   $0x401100
401672:	68 05 01 00 00       	push   $0x105
401677:	8d 85 d4 fb ff ff    	lea    -0x42c(%ebp),%eax
40167d:	50                   	push   %eax
40167e:	e8 2d fe ff ff       	call   0x4014b0
401683:	83 c4 18             	add    $0x18,%esp
401686:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
40168c:	85 c0                	test   %eax,%eax
40168e:	0f 88 d1 fe ff ff    	js     0x401565
401694:	83 c3 01             	add    $0x1,%ebx
401697:	13 fe                	adc    %esi,%edi
401699:	57                   	push   %edi
40169a:	53                   	push   %ebx
40169b:	68 60 33 40 00       	push   $0x403360
4016a0:	68 00 11 40 00       	push   $0x401100
4016a5:	68 05 01 00 00       	push   $0x105
4016aa:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
4016b0:	50                   	push   %eax
4016b1:	e8 fa fd ff ff       	call   0x4014b0
4016b6:	83 c4 18             	add    $0x18,%esp
4016b9:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
4016bf:	85 c0                	test   %eax,%eax
4016c1:	0f 88 9e fe ff ff    	js     0x401565
4016c7:	8b bd bc fb ff ff    	mov    -0x444(%ebp),%edi
4016cd:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
4016d1:	7e 0c                	jle    0x4016df
4016d3:	ff 77 04             	push   0x4(%edi)
4016d6:	ff 15 78 40 40 00    	call   *0x404078
4016dc:	59                   	pop    %ecx
4016dd:	eb 06                	jmp    0x4016e5
4016df:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
4016e5:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
4016e9:	7e 03                	jle    0x4016ee
4016eb:	8b 77 08             	mov    0x8(%edi),%esi
4016ee:	56                   	push   %esi
4016ef:	50                   	push   %eax
4016f0:	8d 95 e0 fd ff ff    	lea    -0x220(%ebp),%edx
4016f6:	8d 8d d4 fb ff ff    	lea    -0x42c(%ebp),%ecx
4016fc:	e8 27 00 00 00       	call   0x401728
401701:	e9 59 fe ff ff       	jmp    0x40155f
401706:	c7 85 d0 fb ff ff 28 	movl   $0x80070428,-0x430(%ebp)
40170d:	04 07 80
401710:	b8 16 17 40 00       	mov    $0x401716,%eax
401715:	c3                   	ret
401716:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40171a:	8b 85 d0 fb ff ff    	mov    -0x430(%ebp),%eax
401720:	50                   	push   %eax
401721:	ff 15 54 40 40 00    	call   *0x404054
401727:	cc                   	int3
401728:	8b ff                	mov    %edi,%edi
40172a:	55                   	push   %ebp
40172b:	8b ec                	mov    %esp,%ebp
40172d:	81 ec 90 00 00 00    	sub    $0x90,%esp
401733:	a1 04 30 40 00       	mov    0x403004,%eax
401738:	33 c5                	xor    %ebp,%eax
40173a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40173d:	8b 45 0c             	mov    0xc(%ebp),%eax
401740:	83 65 80 00          	andl   $0x0,-0x80(%ebp)
401744:	83 a5 7c ff ff ff 00 	andl   $0x0,-0x84(%ebp)
40174b:	53                   	push   %ebx
40174c:	56                   	push   %esi
40174d:	57                   	push   %edi
40174e:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
401754:	8b da                	mov    %edx,%ebx
401756:	8d 45 80             	lea    -0x80(%ebp),%eax
401759:	50                   	push   %eax
40175a:	6a 01                	push   $0x1
40175c:	51                   	push   %ecx
40175d:	ff 15 14 40 40 00    	call   *0x404014
401763:	8b f8                	mov    %eax,%edi
401765:	85 ff                	test   %edi,%edi
401767:	0f 88 32 01 00 00    	js     0x40189f
40176d:	8b 45 80             	mov    -0x80(%ebp),%eax
401770:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
401773:	51                   	push   %ecx
401774:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40177a:	51                   	push   %ecx
40177b:	8b 30                	mov    (%eax),%esi
40177d:	6a 05                	push   $0x5
40177f:	50                   	push   %eax
401780:	8b b6 bc 00 00 00    	mov    0xbc(%esi),%esi
401786:	8b ce                	mov    %esi,%ecx
401788:	ff 15 b4 40 40 00    	call   *0x4040b4
40178e:	ff d6                	call   *%esi
401790:	8b f8                	mov    %eax,%edi
401792:	85 ff                	test   %edi,%edi
401794:	0f 88 05 01 00 00    	js     0x40189f
40179a:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
4017a0:	33 c9                	xor    %ecx,%ecx
4017a2:	85 d2                	test   %edx,%edx
4017a4:	0f 8e f0 00 00 00    	jle    0x40189a
4017aa:	8d 7d 84             	lea    -0x7c(%ebp),%edi
4017ad:	33 f6                	xor    %esi,%esi
4017af:	8b 04 b7             	mov    (%edi,%esi,4),%eax
4017b2:	ba 24 11 40 00       	mov    $0x401124,%edx
4017b7:	3b 04 b2             	cmp    (%edx,%esi,4),%eax
4017ba:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
4017c0:	75 08                	jne    0x4017ca
4017c2:	46                   	inc    %esi
4017c3:	83 fe 04             	cmp    $0x4,%esi
4017c6:	75 e7                	jne    0x4017af
4017c8:	eb 08                	jmp    0x4017d2
4017ca:	41                   	inc    %ecx
4017cb:	83 c7 18             	add    $0x18,%edi
4017ce:	3b ca                	cmp    %edx,%ecx
4017d0:	7c db                	jl     0x4017ad
4017d2:	3b ca                	cmp    %edx,%ecx
4017d4:	0f 8d c0 00 00 00    	jge    0x40189a
4017da:	6b c9 18             	imul   $0x18,%ecx,%ecx