4144f1:	e8 4f bb ff ff       	call   0x410045
4144f6:	8b 75 08             	mov    0x8(%ebp),%esi
4144f9:	83 c4 20             	add    $0x20,%esp
4144fc:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
414502:	85 c0                	test   %eax,%eax
414504:	74 51                	je     0x414557
414506:	33 db                	xor    %ebx,%ebx
414508:	85 c0                	test   %eax,%eax
41450a:	74 35                	je     0x414541
41450c:	6a 00                	push   $0x0
41450e:	8d 8d ec eb ff ff    	lea    -0x1414(%ebp),%ecx
414514:	2b c3                	sub    %ebx,%eax
414516:	51                   	push   %ecx
414517:	50                   	push   %eax
414518:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
41451e:	03 c3                	add    %ebx,%eax
414520:	50                   	push   %eax
414521:	ff b5 f0 eb ff ff    	push   -0x1410(%ebp)
414527:	ff 15 80 c0 41 00    	call   *0x41c080
41452d:	85 c0                	test   %eax,%eax
41452f:	74 26                	je     0x414557
414531:	03 9d ec eb ff ff    	add    -0x1414(%ebp),%ebx
414537:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
41453d:	3b d8                	cmp    %eax,%ebx
41453f:	72 cb                	jb     0x41450c
414541:	8b c7                	mov    %edi,%eax
414543:	2b 45 10             	sub    0x10(%ebp),%eax
414546:	89 46 04             	mov    %eax,0x4(%esi)
414549:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
41454f:	0f 82 46 ff ff ff    	jb     0x41449b
414555:	eb 08                	jmp    0x41455f
414557:	ff 15 48 c1 41 00    	call   *0x41c148
41455d:	89 06                	mov    %eax,(%esi)
41455f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414562:	8b c6                	mov    %esi,%eax
414564:	5f                   	pop    %edi
414565:	5e                   	pop    %esi
414566:	33 cd                	xor    %ebp,%ecx
414568:	5b                   	pop    %ebx
414569:	e8 87 46 ff ff       	call   0x408bf5
41456e:	c9                   	leave
41456f:	c3                   	ret
414570:	6a 10                	push   $0x10
414572:	68 e0 40 42 00       	push   $0x4240e0
414577:	e8 54 44 ff ff       	call   0x4089d0
41457c:	8b 75 08             	mov    0x8(%ebp),%esi
41457f:	83 fe fe             	cmp    $0xfffffffe,%esi
414582:	75 18                	jne    0x41459c
414584:	e8 37 a7 ff ff       	call   0x40ecc0
414589:	83 20 00             	andl   $0x0,(%eax)
41458c:	e8 42 a7 ff ff       	call   0x40ecd3
414591:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
414597:	e9 b3 00 00 00       	jmp    0x41464f
41459c:	85 f6                	test   %esi,%esi
41459e:	0f 88 93 00 00 00    	js     0x414637
4145a4:	3b 35 18 72 42 00    	cmp    0x427218,%esi
4145aa:	0f 83 87 00 00 00    	jae    0x414637
4145b0:	8b de                	mov    %esi,%ebx
4145b2:	c1 fb 06             	sar    $0x6,%ebx
4145b5:	8b c6                	mov    %esi,%eax
4145b7:	83 e0 3f             	and    $0x3f,%eax
4145ba:	6b c8 38             	imul   $0x38,%eax,%ecx
4145bd:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4145c0:	8b 04 9d 18 70 42 00 	mov    0x427018(,%ebx,4),%eax
4145c7:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
4145cc:	74 69                	je     0x414637
4145ce:	56                   	push   %esi
4145cf:	e8 13 be ff ff       	call   0x4103e7
4145d4:	59                   	pop    %ecx
4145d5:	83 cf ff             	or     $0xffffffff,%edi
4145d8:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4145db:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4145df:	8b 04 9d 18 70 42 00 	mov    0x427018(,%ebx,4),%eax
4145e6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4145e9:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
4145ee:	75 15                	jne    0x414605
4145f0:	e8 de a6 ff ff       	call   0x40ecd3
4145f5:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4145fb:	e8 c0 a6 ff ff       	call   0x40ecc0
414600:	83 20 00             	andl   $0x0,(%eax)
414603:	eb 14                	jmp    0x414619
414605:	ff 75 10             	push   0x10(%ebp)
414608:	ff 75 0c             	push   0xc(%ebp)
41460b:	56                   	push   %esi
41460c:	e8 51 00 00 00       	call   0x414662
414611:	83 c4 0c             	add    $0xc,%esp
414614:	8b f8                	mov    %eax,%edi
414616:	89 7d e4             	mov    %edi,-0x1c(%ebp)
414619:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
414620:	e8 0a 00 00 00       	call   0x41462f
414625:	8b c7                	mov    %edi,%eax
414627:	eb 29                	jmp    0x414652
414629:	8b 75 08             	mov    0x8(%ebp),%esi
41462c:	8b 7d e4             	mov    -0x1c(%ebp),%edi
41462f:	56                   	push   %esi
414630:	e8 d5 bd ff ff       	call   0x41040a
414635:	59                   	pop    %ecx
414636:	c3                   	ret
414637:	e8 84 a6 ff ff       	call   0x40ecc0
41463c:	83 20 00             	andl   $0x0,(%eax)
41463f:	e8 8f a6 ff ff       	call   0x40ecd3
414644:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41464a:	e8 c7 a5 ff ff       	call   0x40ec16
41464f:	83 c8 ff             	or     $0xffffffff,%eax
414652:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414655:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41465c:	59                   	pop    %ecx
41465d:	5f                   	pop    %edi
41465e:	5e                   	pop    %esi
41465f:	5b                   	pop    %ebx
414660:	c9                   	leave
414661:	c3                   	ret
414662:	8b ff                	mov    %edi,%edi
414664:	55                   	push   %ebp
414665:	8b ec                	mov    %esp,%ebp
414667:	83 ec 28             	sub    $0x28,%esp
41466a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41466d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414670:	53                   	push   %ebx
414671:	56                   	push   %esi
414672:	8b 75 08             	mov    0x8(%ebp),%esi
414675:	57                   	push   %edi
414676:	8b 7d 0c             	mov    0xc(%ebp),%edi
414679:	89 7d f4             	mov    %edi,-0xc(%ebp)
41467c:	85 c9                	test   %ecx,%ecx
41467e:	0f 84 b1 01 00 00    	je     0x414835
414684:	85 ff                	test   %edi,%edi
414686:	75 20                	jne    0x4146a8
414688:	e8 33 a6 ff ff       	call   0x40ecc0
41468d:	83 20 00             	andl   $0x0,(%eax)
414690:	e8 3e a6 ff ff       	call   0x40ecd3
414695:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41469b:	e8 76 a5 ff ff       	call   0x40ec16
4146a0:	83 c8 ff             	or     $0xffffffff,%eax
4146a3:	e9 8f 01 00 00       	jmp    0x414837
4146a8:	8b c6                	mov    %esi,%eax
4146aa:	8b d6                	mov    %esi,%edx
4146ac:	c1 fa 06             	sar    $0x6,%edx
4146af:	83 e0 3f             	and    $0x3f,%eax
4146b2:	6b c0 38             	imul   $0x38,%eax,%eax
4146b5:	89 55 f0             	mov    %edx,-0x10(%ebp)
4146b8:	8b 14 95 18 70 42 00 	mov    0x427018(,%edx,4),%edx
4146bf:	89 45 f8             	mov    %eax,-0x8(%ebp)
4146c2:	8a 5c 02 29          	mov    0x29(%edx,%eax,1),%bl
4146c6:	80 fb 02             	cmp    $0x2,%bl
4146c9:	74 05                	je     0x4146d0
4146cb:	80 fb 01             	cmp    $0x1,%bl
4146ce:	75 0b                	jne    0x4146db
4146d0:	8b c1                	mov    %ecx,%eax
4146d2:	f7 d0                	not    %eax
4146d4:	a8 01                	test   $0x1,%al
4146d6:	74 b0                	je     0x414688
4146d8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4146db:	f6 44 02 28 20       	testb  $0x20,0x28(%edx,%eax,1)
4146e0:	74 0f                	je     0x4146f1
4146e2:	6a 02                	push   $0x2
4146e4:	6a 00                	push   $0x0
4146e6:	6a 00                	push   $0x0
4146e8:	56                   	push   %esi
4146e9:	e8 df 21 00 00       	call   0x4168cd
4146ee:	83 c4 10             	add    $0x10,%esp
4146f1:	56                   	push   %esi
4146f2:	e8 12 fb ff ff       	call   0x414209
4146f7:	59                   	pop    %ecx
4146f8:	84 c0                	test   %al,%al
4146fa:	74 39                	je     0x414735
4146fc:	84 db                	test   %bl,%bl
4146fe:	74 22                	je     0x414722
414700:	fe cb                	dec    %bl
414702:	80 fb 01             	cmp    $0x1,%bl
414705:	0f 87 f4 00 00 00    	ja     0x4147ff
41470b:	ff 75 fc             	push   -0x4(%ebp)
41470e:	8d 45 d8             	lea    -0x28(%ebp),%eax
414711:	57                   	push   %edi
414712:	50                   	push   %eax
414713:	e8 89 fa ff ff       	call   0x4141a1
414718:	83 c4 0c             	add    $0xc,%esp
41471b:	8b f0                	mov    %eax,%esi
41471d:	e9 9c 00 00 00       	jmp    0x4147be
414722:	ff 75 fc             	push   -0x4(%ebp)
414725:	8d 45 d8             	lea    -0x28(%ebp),%eax
414728:	57                   	push   %edi
414729:	56                   	push   %esi
41472a:	50                   	push   %eax
41472b:	e8 c5 f6 ff ff       	call   0x413df5
414730:	83 c4 10             	add    $0x10,%esp
414733:	eb e6                	jmp    0x41471b
414735:	8b 45 f0             	mov    -0x10(%ebp),%eax
414738:	8b 0c 85 18 70 42 00 	mov    0x427018(,%eax,4),%ecx
41473f:	8b 45 f8             	mov    -0x8(%ebp),%eax
414742:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
414747:	7d 46                	jge    0x41478f
414749:	0f be c3             	movsbl %bl,%eax
41474c:	83 e8 00             	sub    $0x0,%eax
41474f:	74 2e                	je     0x41477f
414751:	83 e8 01             	sub    $0x1,%eax
414754:	74 19                	je     0x41476f
414756:	83 e8 01             	sub    $0x1,%eax
414759:	0f 85 a0 00 00 00    	jne    0x4147ff
41475f:	ff 75 fc             	push   -0x4(%ebp)
414762:	8d 45 d8             	lea    -0x28(%ebp),%eax
414765:	57                   	push   %edi
414766:	56                   	push   %esi
414767:	50                   	push   %eax
414768:	e8 e8 fb ff ff       	call   0x414355
41476d:	eb c1                	jmp    0x414730
41476f:	ff 75 fc             	push   -0x4(%ebp)
414772:	8d 45 d8             	lea    -0x28(%ebp),%eax
414775:	57                   	push   %edi
414776:	56                   	push   %esi
414777:	50                   	push   %eax
414778:	e8 c1 fc ff ff       	call   0x41443e
41477d:	eb b1                	jmp    0x414730
41477f:	ff 75 fc             	push   -0x4(%ebp)
414782:	8d 45 d8             	lea    -0x28(%ebp),%eax
414785:	57                   	push   %edi
414786:	56                   	push   %esi
414787:	50                   	push   %eax
414788:	e8 ed fa ff ff       	call   0x41427a
41478d:	eb a1                	jmp    0x414730
41478f:	8b 4c 01 18          	mov    0x18(%ecx,%eax,1),%ecx
414793:	8d 7d d8             	lea    -0x28(%ebp),%edi
414796:	33 c0                	xor    %eax,%eax
414798:	ab                   	stos   %eax,%es:(%edi)
414799:	6a 00                	push   $0x0
41479b:	ab                   	stos   %eax,%es:(%edi)
41479c:	ab                   	stos   %eax,%es:(%edi)
41479d:	8d 45 dc             	lea    -0x24(%ebp),%eax
4147a0:	50                   	push   %eax
4147a1:	ff 75 fc             	push   -0x4(%ebp)
4147a4:	ff 75 f4             	push   -0xc(%ebp)
4147a7:	51                   	push   %ecx
4147a8:	ff 15 80 c0 41 00    	call   *0x41c080
4147ae:	85 c0                	test   %eax,%eax
4147b0:	75 09                	jne    0x4147bb
4147b2:	ff 15 48 c1 41 00    	call   *0x41c148
4147b8:	89 45 d8             	mov    %eax,-0x28(%ebp)
4147bb:	8d 75 d8             	lea    -0x28(%ebp),%esi
4147be:	8d 7d e4             	lea    -0x1c(%ebp),%edi
4147c1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4147c2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4147c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4147c4:	8b 45 e8             	mov    -0x18(%ebp),%eax
4147c7:	85 c0                	test   %eax,%eax
4147c9:	75 65                	jne    0x414830
4147cb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4147ce:	85 c0                	test   %eax,%eax
4147d0:	74 2a                	je     0x4147fc
4147d2:	6a 05                	push   $0x5
4147d4:	5e                   	pop    %esi
4147d5:	3b c6                	cmp    %esi,%eax
4147d7:	75 17                	jne    0x4147f0
4147d9:	e8 f5 a4 ff ff       	call   0x40ecd3
4147de:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4147e4:	e8 d7 a4 ff ff       	call   0x40ecc0
4147e9:	89 30                	mov    %esi,(%eax)
4147eb:	e9 b0 fe ff ff       	jmp    0x4146a0
4147f0:	50                   	push   %eax
4147f1:	e8 a7 a4 ff ff       	call   0x40ec9d
4147f6:	59                   	pop    %ecx
4147f7:	e9 a4 fe ff ff       	jmp    0x4146a0
4147fc:	8b 7d f4             	mov    -0xc(%ebp),%edi
4147ff:	8b 45 f0             	mov    -0x10(%ebp),%eax
414802:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414805:	8b 04 85 18 70 42 00 	mov    0x427018(,%eax,4),%eax
41480c:	f6 44 08 28 40       	testb  $0x40,0x28(%eax,%ecx,1)
414811:	74 05                	je     0x414818
414813:	80 3f 1a             	cmpb   $0x1a,(%edi)
414816:	74 1d                	je     0x414835
414818:	e8 b6 a4 ff ff       	call   0x40ecd3
41481d:	c7 00 1c 00 00 00    	movl   $0x1c,(%eax)
414823:	e8 98 a4 ff ff       	call   0x40ecc0
414828:	83 20 00             	andl   $0x0,(%eax)
41482b:	e9 70 fe ff ff       	jmp    0x4146a0
414830:	2b 45 ec             	sub    -0x14(%ebp),%eax
414833:	eb 02                	jmp    0x414837
414835:	33 c0                	xor    %eax,%eax
414837:	5f                   	pop    %edi
414838:	5e                   	pop    %esi
414839:	5b                   	pop    %ebx
41483a:	c9                   	leave
41483b:	c3                   	ret
41483c:	6a 10                	push   $0x10
41483e:	68 00 41 42 00       	push   $0x424100
414843:	e8 88 41 ff ff       	call   0x4089d0
414848:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41484c:	6a 08                	push   $0x8
41484e:	e8 ae b9 ff ff       	call   0x410201
414853:	59                   	pop    %ecx
414854:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414858:	6a 03                	push   $0x3
41485a:	5e                   	pop    %esi
41485b:	89 75 e0             	mov    %esi,-0x20(%ebp)
41485e:	3b 35 18 73 42 00    	cmp    0x427318,%esi
414864:	74 59                	je     0x4148bf
414866:	a1 1c 73 42 00       	mov    0x42731c,%eax
41486b:	8b 04 b0             	mov    (%eax,%esi,4),%eax
41486e:	85 c0                	test   %eax,%eax
414870:	74 4a                	je     0x4148bc
414872:	8b 40 0c             	mov    0xc(%eax),%eax
414875:	90                   	nop
414876:	c1 e8 0d             	shr    $0xd,%eax
414879:	a8 01                	test   $0x1,%al
41487b:	74 16                	je     0x414893
41487d:	a1 1c 73 42 00       	mov    0x42731c,%eax
414882:	ff 34 b0             	push   (%eax,%esi,4)
414885:	e8 07 21 00 00       	call   0x416991
41488a:	59                   	pop    %ecx
41488b:	83 f8 ff             	cmp    $0xffffffff,%eax
41488e:	74 03                	je     0x414893
414890:	ff 45 e4             	incl   -0x1c(%ebp)
414893:	a1 1c 73 42 00       	mov    0x42731c,%eax
414898:	8b 04 b0             	mov    (%eax,%esi,4),%eax
41489b:	83 c0 20             	add    $0x20,%eax
41489e:	50                   	push   %eax
41489f:	ff 15 38 c1 41 00    	call   *0x41c138
4148a5:	a1 1c 73 42 00       	mov    0x42731c,%eax
4148aa:	ff 34 b0             	push   (%eax,%esi,4)
4148ad:	e8 91 a4 ff ff       	call   0x40ed43
4148b2:	59                   	pop    %ecx
4148b3:	a1 1c 73 42 00       	mov    0x42731c,%eax
4148b8:	83 24 b0 00          	andl   $0x0,(%eax,%esi,4)
4148bc:	46                   	inc    %esi
4148bd:	eb 9c                	jmp    0x41485b
4148bf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4148c6:	e8 13 00 00 00       	call   0x4148de
4148cb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4148ce:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4148d1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4148d8:	59                   	pop    %ecx
4148d9:	5f                   	pop    %edi
4148da:	5e                   	pop    %esi
4148db:	5b                   	pop    %ebx
4148dc:	c9                   	leave
4148dd:	c3                   	ret
4148de:	6a 08                	push   $0x8
4148e0:	e8 6c b9 ff ff       	call   0x410251
4148e5:	59                   	pop    %ecx
4148e6:	c3                   	ret
4148e7:	8b ff                	mov    %edi,%edi
4148e9:	55                   	push   %ebp
4148ea:	8b ec                	mov    %esp,%ebp
4148ec:	56                   	push   %esi
4148ed:	8b 75 08             	mov    0x8(%ebp),%esi
4148f0:	57                   	push   %edi
4148f1:	8d 7e 0c             	lea    0xc(%esi),%edi
4148f4:	8b 07                	mov    (%edi),%eax
4148f6:	90                   	nop
4148f7:	c1 e8 0d             	shr    $0xd,%eax
4148fa:	a8 01                	test   $0x1,%al