41547c:	ff 75 0c             	push   0xc(%ebp)
41547f:	ff 75 08             	push   0x8(%ebp)
415482:	e8 ba fe ff ff       	call   0x415341
415487:	83 c4 10             	add    $0x10,%esp
41548a:	5e                   	pop    %esi
41548b:	5d                   	pop    %ebp
41548c:	c3                   	ret
41548d:	cc                   	int3
41548e:	cc                   	int3
41548f:	cc                   	int3
415490:	8b 44 24 08          	mov    0x8(%esp),%eax
415494:	8b 4c 24 10          	mov    0x10(%esp),%ecx
415498:	0b c8                	or     %eax,%ecx
41549a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41549e:	75 09                	jne    0x4154a9
4154a0:	8b 44 24 04          	mov    0x4(%esp),%eax
4154a4:	f7 e1                	mul    %ecx
4154a6:	c2 10 00             	ret    $0x10
4154a9:	53                   	push   %ebx
4154aa:	f7 e1                	mul    %ecx
4154ac:	8b d8                	mov    %eax,%ebx
4154ae:	8b 44 24 08          	mov    0x8(%esp),%eax
4154b2:	f7 64 24 14          	mull   0x14(%esp)
4154b6:	03 d8                	add    %eax,%ebx
4154b8:	8b 44 24 08          	mov    0x8(%esp),%eax
4154bc:	f7 e1                	mul    %ecx
4154be:	03 d3                	add    %ebx,%edx
4154c0:	5b                   	pop    %ebx
4154c1:	c2 10 00             	ret    $0x10
4154c4:	6a 02                	push   $0x2
4154c6:	e8 7b 83 ff ff       	call   0x40d846
4154cb:	59                   	pop    %ecx
4154cc:	c3                   	ret
4154cd:	55                   	push   %ebp
4154ce:	8b ec                	mov    %esp,%ebp
4154d0:	83 ec 14             	sub    $0x14,%esp
4154d3:	56                   	push   %esi
4154d4:	57                   	push   %edi
4154d5:	ff 75 08             	push   0x8(%ebp)
4154d8:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4154db:	e8 e4 34 ff ff       	call   0x4089c4
4154e0:	8b 45 10             	mov    0x10(%ebp),%eax
4154e3:	8b 75 0c             	mov    0xc(%ebp),%esi
4154e6:	33 ff                	xor    %edi,%edi
4154e8:	3b c7                	cmp    %edi,%eax
4154ea:	74 02                	je     0x4154ee
4154ec:	89 30                	mov    %esi,(%eax)
4154ee:	3b f7                	cmp    %edi,%esi
4154f0:	75 2c                	jne    0x41551e
4154f2:	e8 03 3f ff ff       	call   0x4093fa
4154f7:	57                   	push   %edi
4154f8:	57                   	push   %edi
4154f9:	57                   	push   %edi
4154fa:	57                   	push   %edi
4154fb:	57                   	push   %edi
4154fc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415502:	e8 49 21 ff ff       	call   0x407650
415507:	83 c4 14             	add    $0x14,%esp
41550a:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
41550e:	74 07                	je     0x415517
415510:	8b 45 f4             	mov    -0xc(%ebp),%eax
415513:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
415517:	33 c0                	xor    %eax,%eax
415519:	e9 d6 01 00 00       	jmp    0x4156f4
41551e:	39 7d 14             	cmp    %edi,0x14(%ebp)
415521:	74 0c                	je     0x41552f
415523:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
415527:	7c c9                	jl     0x4154f2
415529:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
41552d:	7f c3                	jg     0x4154f2
41552f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415532:	53                   	push   %ebx
415533:	8a 1e                	mov    (%esi),%bl
415535:	89 7d fc             	mov    %edi,-0x4(%ebp)
415538:	8d 7e 01             	lea    0x1(%esi),%edi
41553b:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
415542:	7e 17                	jle    0x41555b
415544:	8d 45 ec             	lea    -0x14(%ebp),%eax
415547:	50                   	push   %eax
415548:	0f b6 c3             	movzbl %bl,%eax
41554b:	6a 08                	push   $0x8
41554d:	50                   	push   %eax
41554e:	e8 29 b1 ff ff       	call   0x41067c
415553:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415556:	83 c4 0c             	add    $0xc,%esp
415559:	eb 10                	jmp    0x41556b
41555b:	8b 91 c8 00 00 00    	mov    0xc8(%ecx),%edx
415561:	0f b6 c3             	movzbl %bl,%eax
415564:	0f b6 04 42          	movzbl (%edx,%eax,2),%eax
415568:	83 e0 08             	and    $0x8,%eax
41556b:	85 c0                	test   %eax,%eax
41556d:	74 05                	je     0x415574
41556f:	8a 1f                	mov    (%edi),%bl
415571:	47                   	inc    %edi
415572:	eb c7                	jmp    0x41553b
415574:	80 fb 2d             	cmp    $0x2d,%bl
415577:	75 06                	jne    0x41557f
415579:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
41557d:	eb 05                	jmp    0x415584
41557f:	80 fb 2b             	cmp    $0x2b,%bl
415582:	75 03                	jne    0x415587
415584:	8a 1f                	mov    (%edi),%bl
415586:	47                   	inc    %edi
415587:	8b 45 14             	mov    0x14(%ebp),%eax
41558a:	85 c0                	test   %eax,%eax
41558c:	0f 8c 49 01 00 00    	jl     0x4156db
415592:	83 f8 01             	cmp    $0x1,%eax
415595:	0f 84 40 01 00 00    	je     0x4156db
41559b:	83 f8 24             	cmp    $0x24,%eax
41559e:	0f 8f 37 01 00 00    	jg     0x4156db
4155a4:	85 c0                	test   %eax,%eax
4155a6:	75 2a                	jne    0x4155d2
4155a8:	80 fb 30             	cmp    $0x30,%bl
4155ab:	74 09                	je     0x4155b6
4155ad:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
4155b4:	eb 34                	jmp    0x4155ea
4155b6:	8a 07                	mov    (%edi),%al
4155b8:	3c 78                	cmp    $0x78,%al
4155ba:	74 0d                	je     0x4155c9
4155bc:	3c 58                	cmp    $0x58,%al
4155be:	74 09                	je     0x4155c9
4155c0:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
4155c7:	eb 21                	jmp    0x4155ea
4155c9:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
4155d0:	eb 0a                	jmp    0x4155dc
4155d2:	83 f8 10             	cmp    $0x10,%eax
4155d5:	75 13                	jne    0x4155ea
4155d7:	80 fb 30             	cmp    $0x30,%bl
4155da:	75 0e                	jne    0x4155ea
4155dc:	8a 07                	mov    (%edi),%al
4155de:	3c 78                	cmp    $0x78,%al
4155e0:	74 04                	je     0x4155e6
4155e2:	3c 58                	cmp    $0x58,%al
4155e4:	75 04                	jne    0x4155ea
4155e6:	47                   	inc    %edi
4155e7:	8a 1f                	mov    (%edi),%bl
4155e9:	47                   	inc    %edi
4155ea:	8b b1 c8 00 00 00    	mov    0xc8(%ecx),%esi
4155f0:	83 c8 ff             	or     $0xffffffff,%eax
4155f3:	33 d2                	xor    %edx,%edx
4155f5:	f7 75 14             	divl   0x14(%ebp)
4155f8:	0f b6 cb             	movzbl %bl,%ecx
4155fb:	0f b7 0c 4e          	movzwl (%esi,%ecx,2),%ecx
4155ff:	f6 c1 04             	test   $0x4,%cl
415602:	74 08                	je     0x41560c
415604:	0f be cb             	movsbl %bl,%ecx
415607:	83 e9 30             	sub    $0x30,%ecx
41560a:	eb 1a                	jmp    0x415626
41560c:	66 f7 c1 03 01       	test   $0x103,%cx
415611:	74 31                	je     0x415644
415613:	8a cb                	mov    %bl,%cl
415615:	80 e9 61             	sub    $0x61,%cl
415618:	80 f9 19             	cmp    $0x19,%cl
41561b:	0f be cb             	movsbl %bl,%ecx
41561e:	77 03                	ja     0x415623
415620:	83 e9 20             	sub    $0x20,%ecx
415623:	83 c1 c9             	add    $0xffffffc9,%ecx
415626:	3b 4d 14             	cmp    0x14(%ebp),%ecx
415629:	73 19                	jae    0x415644
41562b:	83 4d 18 08          	orl    $0x8,0x18(%ebp)
41562f:	39 45 fc             	cmp    %eax,-0x4(%ebp)
415632:	72 27                	jb     0x41565b
415634:	75 04                	jne    0x41563a
415636:	3b ca                	cmp    %edx,%ecx
415638:	76 21                	jbe    0x41565b
41563a:	83 4d 18 04          	orl    $0x4,0x18(%ebp)
41563e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
415642:	75 23                	jne    0x415667
415644:	8b 45 18             	mov    0x18(%ebp),%eax
415647:	4f                   	dec    %edi
415648:	a8 08                	test   $0x8,%al
41564a:	75 20                	jne    0x41566c
41564c:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
415650:	74 03                	je     0x415655
415652:	8b 7d 0c             	mov    0xc(%ebp),%edi
415655:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415659:	eb 5c                	jmp    0x4156b7
41565b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41565e:	0f af 5d 14          	imul   0x14(%ebp),%ebx
415662:	03 d9                	add    %ecx,%ebx
415664:	89 5d fc             	mov    %ebx,-0x4(%ebp)
415667:	8a 1f                	mov    (%edi),%bl
415669:	47                   	inc    %edi
41566a:	eb 8c                	jmp    0x4155f8
41566c:	a8 04                	test   $0x4,%al
41566e:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
415673:	75 1b                	jne    0x415690
415675:	a8 01                	test   $0x1,%al
415677:	75 3e                	jne    0x4156b7
415679:	83 e0 02             	and    $0x2,%eax
41567c:	74 09                	je     0x415687
41567e:	81 7d fc 00 00 00 80 	cmpl   $0x80000000,-0x4(%ebp)
415685:	77 09                	ja     0x415690
415687:	85 c0                	test   %eax,%eax
415689:	75 2c                	jne    0x4156b7
41568b:	39 75 fc             	cmp    %esi,-0x4(%ebp)
41568e:	76 27                	jbe    0x4156b7
415690:	e8 65 3d ff ff       	call   0x4093fa
415695:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
415699:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41569f:	74 06                	je     0x4156a7
4156a1:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4156a5:	eb 10                	jmp    0x4156b7
4156a7:	8a 45 18             	mov    0x18(%ebp),%al
4156aa:	24 02                	and    $0x2,%al
4156ac:	f6 d8                	neg    %al
4156ae:	1b c0                	sbb    %eax,%eax
4156b0:	f7 d8                	neg    %eax
4156b2:	03 c6                	add    %esi,%eax
4156b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4156b7:	8b 45 10             	mov    0x10(%ebp),%eax
4156ba:	85 c0                	test   %eax,%eax
4156bc:	74 02                	je     0x4156c0
4156be:	89 38                	mov    %edi,(%eax)
4156c0:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4156c4:	74 03                	je     0x4156c9
4156c6:	f7 5d fc             	negl   -0x4(%ebp)
4156c9:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4156cd:	74 07                	je     0x4156d6
4156cf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4156d2:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4156d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4156d9:	eb 18                	jmp    0x4156f3
4156db:	8b 45 10             	mov    0x10(%ebp),%eax
4156de:	85 c0                	test   %eax,%eax
4156e0:	74 02                	je     0x4156e4
4156e2:	89 30                	mov    %esi,(%eax)
4156e4:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
4156e8:	74 07                	je     0x4156f1
4156ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
4156ed:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4156f1:	33 c0                	xor    %eax,%eax
4156f3:	5b                   	pop    %ebx
4156f4:	5f                   	pop    %edi
4156f5:	5e                   	pop    %esi
4156f6:	c9                   	leave
4156f7:	c3                   	ret
4156f8:	55                   	push   %ebp
4156f9:	8b ec                	mov    %esp,%ebp
4156fb:	33 c0                	xor    %eax,%eax
4156fd:	39 05 04 da 41 00    	cmp    %eax,0x41da04
415703:	50                   	push   %eax
415704:	ff 75 10             	push   0x10(%ebp)
415707:	ff 75 0c             	push   0xc(%ebp)
41570a:	ff 75 08             	push   0x8(%ebp)
41570d:	75 07                	jne    0x415716
41570f:	68 28 d2 41 00       	push   $0x41d228
415714:	eb 01                	jmp    0x415717
415716:	50                   	push   %eax
415717:	e8 b1 fd ff ff       	call   0x4154cd
41571c:	83 c4 14             	add    $0x14,%esp
41571f:	5d                   	pop    %ebp
415720:	c3                   	ret
415721:	33 c0                	xor    %eax,%eax
415723:	50                   	push   %eax
415724:	50                   	push   %eax
415725:	6a 03                	push   $0x3
415727:	50                   	push   %eax
415728:	6a 03                	push   $0x3
41572a:	68 00 00 00 40       	push   $0x40000000
41572f:	68 e4 97 41 00       	push   $0x4197e4
415734:	ff 15 34 70 41 00    	call   *0x417034
41573a:	a3 94 d5 41 00       	mov    %eax,0x41d594
41573f:	c3                   	ret
415740:	a1 94 d5 41 00       	mov    0x41d594,%eax
415745:	83 f8 ff             	cmp    $0xffffffff,%eax
415748:	56                   	push   %esi
415749:	8b 35 20 70 41 00    	mov    0x417020,%esi
41574f:	74 08                	je     0x415759
415751:	83 f8 fe             	cmp    $0xfffffffe,%eax
415754:	74 03                	je     0x415759
415756:	50                   	push   %eax
415757:	ff d6                	call   *%esi
415759:	a1 90 d5 41 00       	mov    0x41d590,%eax
41575e:	83 f8 ff             	cmp    $0xffffffff,%eax
415761:	74 08                	je     0x41576b
415763:	83 f8 fe             	cmp    $0xfffffffe,%eax
415766:	74 03                	je     0x41576b
415768:	50                   	push   %eax
415769:	ff d6                	call   *%esi
41576b:	5e                   	pop    %esi
41576c:	c3                   	ret
41576d:	55                   	push   %ebp
41576e:	8b ec                	mov    %esp,%ebp
415770:	83 ec 18             	sub    $0x18,%esp
415773:	53                   	push   %ebx
415774:	56                   	push   %esi
415775:	ff 75 0c             	push   0xc(%ebp)
415778:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41577b:	e8 44 32 ff ff       	call   0x4089c4
415780:	8b 5d 08             	mov    0x8(%ebp),%ebx
415783:	be 00 01 00 00       	mov    $0x100,%esi
415788:	3b de                	cmp    %esi,%ebx
41578a:	73 54                	jae    0x4157e0
41578c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41578f:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
415796:	7e 14                	jle    0x4157ac
415798:	8d 45 e8             	lea    -0x18(%ebp),%eax
41579b:	50                   	push   %eax
41579c:	6a 01                	push   $0x1
41579e:	53                   	push   %ebx
41579f:	e8 d8 ae ff ff       	call   0x41067c
4157a4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4157a7:	83 c4 0c             	add    $0xc,%esp
4157aa:	eb 0d                	jmp    0x4157b9
4157ac:	8b 81 c8 00 00 00    	mov    0xc8(%ecx),%eax
4157b2:	0f b6 04 58          	movzbl (%eax,%ebx,2),%eax
4157b6:	83 e0 01             	and    $0x1,%eax
4157b9:	85 c0                	test   %eax,%eax
4157bb:	74 0f                	je     0x4157cc
4157bd:	8b 81 cc 00 00 00    	mov    0xcc(%ecx),%eax
4157c3:	0f b6 04 18          	movzbl (%eax,%ebx,1),%eax
4157c7:	e9 a7 00 00 00       	jmp    0x415873
4157cc:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
4157d0:	74 07                	je     0x4157d9
4157d2:	8b 45 f0             	mov    -0x10(%ebp),%eax
4157d5:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4157d9:	8b c3                	mov    %ebx,%eax
4157db:	e9 a0 00 00 00       	jmp    0x415880
4157e0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4157e3:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
4157ea:	7e 31                	jle    0x41581d
4157ec:	89 5d 08             	mov    %ebx,0x8(%ebp)
4157ef:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
4157f3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4157f6:	50                   	push   %eax
4157f7:	8b 45 08             	mov    0x8(%ebp),%eax
4157fa:	25 ff 00 00 00       	and    $0xff,%eax
4157ff:	50                   	push   %eax
415800:	e8 dd 90 ff ff       	call   0x40e8e2
415805:	85 c0                	test   %eax,%eax
415807:	59                   	pop    %ecx
415808:	59                   	pop    %ecx
415809:	74 12                	je     0x41581d
41580b:	8a 45 08             	mov    0x8(%ebp),%al
41580e:	6a 02                	push   $0x2
415810:	88 45 fc             	mov    %al,-0x4(%ebp)
415813:	88 5d fd             	mov    %bl,-0x3(%ebp)
415816:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
41581a:	59                   	pop    %ecx
41581b:	eb 15                	jmp    0x415832
41581d:	e8 d8 3b ff ff       	call   0x4093fa
415822:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
415828:	33 c9                	xor    %ecx,%ecx
41582a:	88 5d fc             	mov    %bl,-0x4(%ebp)
41582d:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
415831:	41                   	inc    %ecx
415832:	8b 45 e8             	mov    -0x18(%ebp),%eax
415835:	6a 01                	push   $0x1
415837:	ff 70 04             	push   0x4(%eax)