4013bd:	48                   	dec    %eax
4013be:	8b ce                	mov    %esi,%ecx
4013c0:	8b f0                	mov    %eax,%esi
4013c2:	2b c1                	sub    %ecx,%eax
4013c4:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4013c9:	74 2f                	je     0x4013fa
4013cb:	01 05 2c 92 42 00    	add    %eax,0x42922c
4013d1:	6a 00                	push   $0x0
4013d3:	ff 35 14 92 42 00    	push   0x429214
4013d9:	68 30 75 00 00       	push   $0x7530
4013de:	ff 35 2c 92 42 00    	push   0x42922c
4013e4:	ff 15 54 81 40 00    	call   *0x408154
4013ea:	50                   	push   %eax
4013eb:	68 02 04 00 00       	push   $0x402
4013f0:	ff 74 24 18          	push   0x18(%esp)
4013f4:	ff 15 18 82 40 00    	call   *0x408218
4013fa:	85 f6                	test   %esi,%esi
4013fc:	7d 92                	jge    0x401390
4013fe:	33 c0                	xor    %eax,%eax
401400:	5e                   	pop    %esi
401401:	c2 08 00             	ret    $0x8
401404:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
401409:	eb f5                	jmp    0x401400
40140b:	8b 44 24 04          	mov    0x4(%esp),%eax
40140f:	8b 0d 54 a2 42 00    	mov    0x42a254,%ecx
401415:	6a 00                	push   $0x0
401417:	ff 74 81 6c          	push   0x6c(%ecx,%eax,4)
40141b:	e8 69 ff ff ff       	call   0x401389
401420:	c2 04 00             	ret    $0x4
401423:	68 d8 ad 40 00       	push   $0x40add8
401428:	ff 74 24 08          	push   0x8(%esp)
40142c:	e8 1f 40 00 00       	call   0x405450
401431:	c2 04 00             	ret    $0x4
401434:	55                   	push   %ebp
401435:	8b ec                	mov    %esp,%ebp
401437:	81 ec d4 02 00 00    	sub    $0x2d4,%esp
40143d:	53                   	push   %ebx
40143e:	56                   	push   %esi
40143f:	8b 75 08             	mov    0x8(%ebp),%esi
401442:	57                   	push   %edi
401443:	a1 48 a2 42 00       	mov    0x42a248,%eax
401448:	6a 07                	push   $0x7
40144a:	59                   	pop    %ecx
40144b:	8d 7d d4             	lea    -0x2c(%ebp),%edi
40144e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
401450:	8b 4d dc             	mov    -0x24(%ebp),%ecx
401453:	8b 55 d4             	mov    -0x2c(%ebp),%edx
401456:	bf 00 b0 42 00       	mov    $0x42b000,%edi
40145b:	89 45 f8             	mov    %eax,-0x8(%ebp)
40145e:	8b 45 d8             	mov    -0x28(%ebp),%eax
401461:	33 db                	xor    %ebx,%ebx
401463:	c1 e1 0b             	shl    $0xb,%ecx
401466:	03 cf                	add    %edi,%ecx
401468:	8b f0                	mov    %eax,%esi
40146a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40146d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401470:	c1 e6 0b             	shl    $0xb,%esi
401473:	89 0d 34 ce 40 00    	mov    %ecx,0x40ce34
401479:	8d 4a fe             	lea    -0x2(%edx),%ecx
40147c:	03 f7                	add    %edi,%esi
40147e:	83 f9 43             	cmp    $0x43,%ecx
401481:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401484:	0f 87 3b 16 00 00    	ja     0x402ac5
40148a:	ff 24 8d d7 2a 40 00 	jmp    *0x402ad7(,%ecx,4)
401491:	53                   	push   %ebx
401492:	50                   	push   %eax
401493:	e8 b8 3f 00 00       	call   0x405450
401498:	e9 5a 0e 00 00       	jmp    0x4022f7
40149d:	ff 05 0c 92 42 00    	incl   0x42920c
4014a3:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
4014a6:	0f 84 4b 0e 00 00    	je     0x4022f7
4014ac:	53                   	push   %ebx
4014ad:	ff 15 94 82 40 00    	call   *0x408294
4014b3:	e9 3f 0e 00 00       	jmp    0x4022f7
4014b8:	50                   	push   %eax
4014b9:	e8 af fe ff ff       	call   0x40136d
4014be:	48                   	dec    %eax
4014bf:	53                   	push   %ebx
4014c0:	50                   	push   %eax
4014c1:	e8 c3 fe ff ff       	call   0x401389
4014c6:	e9 05 16 00 00       	jmp    0x402ad0
4014cb:	53                   	push   %ebx
4014cc:	50                   	push   %eax
4014cd:	e8 7e 3f 00 00       	call   0x405450
4014d2:	e9 ee 15 00 00       	jmp    0x402ac5
4014d7:	53                   	push   %ebx
4014d8:	e8 42 17 00 00       	call   0x402c1f
4014dd:	83 f8 01             	cmp    $0x1,%eax
4014e0:	59                   	pop    %ecx
4014e1:	89 55 b4             	mov    %edx,-0x4c(%ebp)
4014e4:	7f 03                	jg     0x4014e9
4014e6:	33 c0                	xor    %eax,%eax
4014e8:	40                   	inc    %eax
4014e9:	50                   	push   %eax
4014ea:	ff 15 78 80 40 00    	call   *0x408078
4014f0:	e9 d0 15 00 00       	jmp    0x402ac5
4014f5:	ff 75 f8             	push   -0x8(%ebp)
4014f8:	ff 15 64 82 40 00    	call   *0x408264
4014fe:	e9 c2 15 00 00       	jmp    0x402ac5
401503:	c1 e0 02             	shl    $0x2,%eax
401506:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
401509:	75 26                	jne    0x401531
40150b:	8b 88 e0 a2 42 00    	mov    0x42a2e0(%eax),%ecx
401511:	6a 01                	push   $0x1
401513:	89 88 20 a3 42 00    	mov    %ecx,0x42a320(%eax)
401519:	e8 01 17 00 00       	call   0x402c1f
40151e:	59                   	pop    %ecx
40151f:	89 55 b4             	mov    %edx,-0x4c(%ebp)
401522:	8b 4d d8             	mov    -0x28(%ebp),%ecx
401525:	89 04 8d e0 a2 42 00 	mov    %eax,0x42a2e0(,%ecx,4)
40152c:	e9 94 15 00 00       	jmp    0x402ac5
401531:	8b 88 20 a3 42 00    	mov    0x42a320(%eax),%ecx
401537:	89 88 e0 a2 42 00    	mov    %ecx,0x42a2e0(%eax)
40153d:	e9 83 15 00 00       	jmp    0x402ac5
401542:	8b 45 e0             	mov    -0x20(%ebp),%eax
401545:	8d 34 85 e0 a2 42 00 	lea    0x42a2e0(,%eax,4),%esi
40154c:	33 c0                	xor    %eax,%eax
40154e:	8b 0e                	mov    (%esi),%ecx
401550:	3b cb                	cmp    %ebx,%ecx
401552:	0f 94 c0             	sete   %al
401555:	23 4d e4             	and    -0x1c(%ebp),%ecx
401558:	8b 44 85 d8          	mov    -0x28(%ebp,%eax,4),%eax
40155c:	89 0e                	mov    %ecx,(%esi)
40155e:	e9 6d 15 00 00       	jmp    0x402ad0
401563:	8b 45 dc             	mov    -0x24(%ebp),%eax
401566:	ff 34 85 e0 a2 42 00 	push   0x42a2e0(,%eax,4)
40156d:	56                   	push   %esi
40156e:	e9 f8 14 00 00       	jmp    0x402a6b
401573:	8b 0d 10 92 42 00    	mov    0x429210,%ecx
401579:	8b 35 68 82 40 00    	mov    0x408268,%esi
40157f:	3b cb                	cmp    %ebx,%ecx
401581:	74 09                	je     0x40158c
401583:	ff 75 dc             	push   -0x24(%ebp)
401586:	51                   	push   %ecx
401587:	ff d6                	call   *%esi
401589:	8b 45 d8             	mov    -0x28(%ebp),%eax
40158c:	8b 0d 24 92 42 00    	mov    0x429224,%ecx
401592:	3b cb                	cmp    %ebx,%ecx
401594:	0f 84 2b 15 00 00    	je     0x402ac5
40159a:	50                   	push   %eax
40159b:	51                   	push   %ecx
40159c:	ff d6                	call   *%esi
40159e:	e9 22 15 00 00       	jmp    0x402ac5
4015a3:	6a f0                	push   $0xfffffff0
4015a5:	e8 97 16 00 00       	call   0x402c41
4015aa:	ff 75 dc             	push   -0x24(%ebp)
4015ad:	50                   	push   %eax
4015ae:	ff 15 74 80 40 00    	call   *0x408074
4015b4:	85 c0                	test   %eax,%eax
4015b6:	0f 85 09 15 00 00    	jne    0x402ac5
4015bc:	e9 ca 12 00 00       	jmp    0x40288b
4015c1:	6a f0                	push   $0xfffffff0
4015c3:	e8 79 16 00 00       	call   0x402c41
4015c8:	50                   	push   %eax
4015c9:	89 45 08             	mov    %eax,0x8(%ebp)
4015cc:	e8 97 47 00 00       	call   0x405d68
4015d1:	8b f0                	mov    %eax,%esi
4015d3:	3b f3                	cmp    %ebx,%esi
4015d5:	74 5a                	je     0x401631
4015d7:	6a 5c                	push   $0x5c
4015d9:	56                   	push   %esi
4015da:	e8 0b 47 00 00       	call   0x405cea
4015df:	8b f0                	mov    %eax,%esi
4015e1:	66 8b 3e             	mov    (%esi),%di
4015e4:	66 89 1e             	mov    %bx,(%esi)
4015e7:	66 3b fb             	cmp    %bx,%di
4015ea:	75 18                	jne    0x401604
4015ec:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
4015ef:	74 13                	je     0x401604
4015f1:	e8 c3 43 00 00       	call   0x4059b9
4015f6:	85 c0                	test   %eax,%eax
4015f8:	74 0a                	je     0x401604
4015fa:	ff 75 08             	push   0x8(%ebp)
4015fd:	e8 1d 43 00 00       	call   0x40591f
401602:	eb 08                	jmp    0x40160c
401604:	ff 75 08             	push   0x8(%ebp)
401607:	e8 90 43 00 00       	call   0x40599c
40160c:	3b c3                	cmp    %ebx,%eax
40160e:	74 17                	je     0x401627
401610:	3d b7 00 00 00       	cmp    $0xb7,%eax
401615:	75 0d                	jne    0x401624
401617:	ff 75 08             	push   0x8(%ebp)
40161a:	ff 15 94 80 40 00    	call   *0x408094
401620:	a8 10                	test   $0x10,%al
401622:	75 03                	jne    0x401627
401624:	ff 45 fc             	incl   -0x4(%ebp)
401627:	66 89 3e             	mov    %di,(%esi)
40162a:	46                   	inc    %esi
40162b:	46                   	inc    %esi
40162c:	66 3b fb             	cmp    %bx,%di
40162f:	75 a6                	jne    0x4015d7
401631:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
401634:	74 2d                	je     0x401663
401636:	6a e6                	push   $0xffffffe6
401638:	e8 e6 fd ff ff       	call   0x401423
40163d:	ff 75 08             	push   0x8(%ebp)
401640:	68 00 60 43 00       	push   $0x436000
401645:	e8 9e 4d 00 00       	call   0x4063e8
40164a:	ff 75 08             	push   0x8(%ebp)
40164d:	ff 15 90 80 40 00    	call   *0x408090
401653:	85 c0                	test   %eax,%eax
401655:	0f 85 6a 14 00 00    	jne    0x402ac5
40165b:	ff 45 fc             	incl   -0x4(%ebp)
40165e:	e9 62 14 00 00       	jmp    0x402ac5
401663:	6a f5                	push   $0xfffffff5
401665:	e9 e1 0b 00 00       	jmp    0x40224b
40166a:	53                   	push   %ebx
40166b:	e8 d1 15 00 00       	call   0x402c41
401670:	50                   	push   %eax
401671:	e8 b5 50 00 00       	call   0x40672b
401676:	e9 89 06 00 00       	jmp    0x401d04
40167b:	6a d0                	push   $0xffffffd0
40167d:	e8 bf 15 00 00       	call   0x402c41
401682:	6a df                	push   $0xffffffdf
401684:	8b f0                	mov    %eax,%esi
401686:	e8 b6 15 00 00       	call   0x402c41
40168b:	6a 13                	push   $0x13
40168d:	8b f8                	mov    %eax,%edi
40168f:	e8 ad 15 00 00       	call   0x402c41
401694:	57                   	push   %edi
401695:	56                   	push   %esi
401696:	ff 15 08 81 40 00    	call   *0x408108
40169c:	85 c0                	test   %eax,%eax
40169e:	74 07                	je     0x4016a7
4016a0:	6a e3                	push   $0xffffffe3
4016a2:	e9 a4 0b 00 00       	jmp    0x40224b
4016a7:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
4016aa:	0f 84 db 11 00 00    	je     0x40288b
4016b0:	56                   	push   %esi
4016b1:	e8 75 50 00 00       	call   0x40672b
4016b6:	85 c0                	test   %eax,%eax
4016b8:	0f 84 cd 11 00 00    	je     0x40288b
4016be:	57                   	push   %edi
4016bf:	56                   	push   %esi
4016c0:	e8 e9 4a 00 00       	call   0x4061ae
4016c5:	6a e4                	push   $0xffffffe4
4016c7:	e9 7f 0b 00 00       	jmp    0x40224b
4016cc:	53                   	push   %ebx
4016cd:	e8 6f 15 00 00       	call   0x402c41
4016d2:	8b 7d f4             	mov    -0xc(%ebp),%edi
4016d5:	8b f0                	mov    %eax,%esi
4016d7:	8d 45 08             	lea    0x8(%ebp),%eax
4016da:	50                   	push   %eax
4016db:	57                   	push   %edi
4016dc:	68 00 04 00 00       	push   $0x400
4016e1:	56                   	push   %esi
4016e2:	ff 15 0c 81 40 00    	call   *0x40810c
4016e8:	85 c0                	test   %eax,%eax
4016ea:	74 24                	je     0x401710
4016ec:	8b 45 08             	mov    0x8(%ebp),%eax
4016ef:	3b c6                	cmp    %esi,%eax
4016f1:	76 27                	jbe    0x40171a
4016f3:	66 39 18             	cmp    %bx,(%eax)
4016f6:	74 22                	je     0x40171a
4016f8:	56                   	push   %esi
4016f9:	e8 2d 50 00 00       	call   0x40672b
4016fe:	3b c3                	cmp    %ebx,%eax
401700:	74 0e                	je     0x401710
401702:	83 c0 2c             	add    $0x2c,%eax
401705:	50                   	push   %eax
401706:	ff 75 08             	push   0x8(%ebp)
401709:	e8 da 4c 00 00       	call   0x4063e8
40170e:	eb 0a                	jmp    0x40171a
401710:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
401717:	66 89 1f             	mov    %bx,(%edi)
40171a:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
40171d:	0f 85 a2 13 00 00    	jne    0x402ac5
401723:	68 00 04 00 00       	push   $0x400
401728:	57                   	push   %edi
401729:	57                   	push   %edi
40172a:	ff 15 bc 80 40 00    	call   *0x4080bc
401730:	e9 90 13 00 00       	jmp    0x402ac5
401735:	6a ff                	push   $0xffffffff
401737:	e8 05 15 00 00       	call   0x402c41
40173c:	8d 4d 08             	lea    0x8(%ebp),%ecx
40173f:	51                   	push   %ecx
401740:	56                   	push   %esi
401741:	68 00 04 00 00       	push   $0x400
401746:	53                   	push   %ebx
401747:	50                   	push   %eax
401748:	53                   	push   %ebx
401749:	ff 15 14 81 40 00    	call   *0x408114
40174f:	85 c0                	test   %eax,%eax
401751:	0f 85 6e 13 00 00    	jne    0x402ac5
401757:	e9 fd 10 00 00       	jmp    0x402859
40175c:	6a ef                	push   $0xffffffef
40175e:	e8 de 14 00 00       	call   0x402c41
401763:	50                   	push   %eax
401764:	56                   	push   %esi
401765:	e8 a3 47 00 00       	call   0x405f0d
40176a:	e9 45 fe ff ff       	jmp    0x4015b4
40176f:	6a 31                	push   $0x31
401771:	e8 cb 14 00 00       	call   0x402c41
401776:	89 45 f8             	mov    %eax,-0x8(%ebp)
401779:	8b 45 d8             	mov    -0x28(%ebp),%eax
40177c:	ff 75 f8             	push   -0x8(%ebp)
40177f:	83 e0 07             	and    $0x7,%eax
401782:	89 45 08             	mov    %eax,0x8(%ebp)
401785:	e8 aa 45 00 00       	call   0x405d34
40178a:	ff 75 f8             	push   -0x8(%ebp)
40178d:	be d8 a5 40 00       	mov    $0x40a5d8,%esi
401792:	85 c0                	test   %eax,%eax
401794:	74 08                	je     0x40179e
401796:	56                   	push   %esi
401797:	e8 4c 4c 00 00       	call   0x4063e8
40179c:	eb 17                	jmp    0x4017b5
40179e:	68 00 60 43 00       	push   $0x436000
4017a3:	56                   	push   %esi
4017a4:	e8 3f 4c 00 00       	call   0x4063e8
4017a9:	50                   	push   %eax
4017aa:	e8 0e 45 00 00       	call   0x405cbd
4017af:	50                   	push   %eax
4017b0:	e8 4f 4c 00 00       	call   0x406404
4017b5:	56                   	push   %esi
4017b6:	e8 c1 4e 00 00       	call   0x40667c
4017bb:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
4017bf:	7c 31                	jl     0x4017f2
4017c1:	56                   	push   %esi
4017c2:	e8 64 4f 00 00       	call   0x40672b
4017c7:	33 c9                	xor    %ecx,%ecx
4017c9:	3b c3                	cmp    %ebx,%eax
4017cb:	74 10                	je     0x4017dd
4017cd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4017d0:	83 c0 14             	add    $0x14,%eax
4017d3:	51                   	push   %ecx
4017d4:	50                   	push   %eax
4017d5:	ff 15 18 81 40 00    	call   *0x408118
4017db:	8b c8                	mov    %eax,%ecx
4017dd:	8b 45 08             	mov    0x8(%ebp),%eax
4017e0:	83 c0 fd             	add    $0xfffffffd,%eax
4017e3:	0d 00 00 00 80       	or     $0x80000000,%eax
4017e8:	23 c1                	and    %ecx,%eax
4017ea:	f7 d8                	neg    %eax
4017ec:	1b c0                	sbb    %eax,%eax
4017ee:	40                   	inc    %eax
4017ef:	89 45 08             	mov    %eax,0x8(%ebp)
4017f2:	39 5d 08             	cmp    %ebx,0x8(%ebp)
4017f5:	75 06                	jne    0x4017fd
4017f7:	56                   	push   %esi
4017f8:	e8 bc 46 00 00       	call   0x405eb9
4017fd:	33 c0                	xor    %eax,%eax
4017ff:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
401803:	0f 95 c0             	setne  %al
401806:	40                   	inc    %eax
401807:	50                   	push   %eax
401808:	68 00 00 00 40       	push   $0x40000000
40180d:	56                   	push   %esi
40180e:	e8 cb 46 00 00       	call   0x405ede
401813:	83 f8 ff             	cmp    $0xffffffff,%eax
401816:	89 45 d0             	mov    %eax,-0x30(%ebp)