41155f:	53                   	push   %ebx
411560:	56                   	push   %esi
411561:	6a 00                	push   $0x0
411563:	6a 04                	push   $0x4
411565:	5b                   	pop    %ebx
411566:	53                   	push   %ebx
411567:	6a 01                	push   $0x1
411569:	53                   	push   %ebx
41156a:	6a 00                	push   $0x0
41156c:	8b f1                	mov    %ecx,%esi
41156e:	e8 51 f6 ff ff       	call   0x410bc4
411573:	6a 02                	push   $0x2
411575:	53                   	push   %ebx
411576:	6a 01                	push   $0x1
411578:	53                   	push   %ebx
411579:	6a 00                	push   $0x0
41157b:	8d 4e 24             	lea    0x24(%esi),%ecx
41157e:	e8 41 f6 ff ff       	call   0x410bc4
411583:	6a 01                	push   $0x1
411585:	6a 00                	push   $0x0
411587:	6a 01                	push   $0x1
411589:	53                   	push   %ebx
41158a:	6a 00                	push   $0x0
41158c:	8d 4e 48             	lea    0x48(%esi),%ecx
41158f:	e8 30 f6 ff ff       	call   0x410bc4
411594:	8b c6                	mov    %esi,%eax
411596:	5e                   	pop    %esi
411597:	5b                   	pop    %ebx
411598:	c3                   	ret
411599:	8b ff                	mov    %edi,%edi
41159b:	55                   	push   %ebp
41159c:	8b ec                	mov    %esp,%ebp
41159e:	83 e4 f8             	and    $0xfffffff8,%esp
4115a1:	83 ec 34             	sub    $0x34,%esp
4115a4:	a1 18 51 41 00       	mov    0x415118,%eax
4115a9:	33 c4                	xor    %esp,%eax
4115ab:	89 44 24 30          	mov    %eax,0x30(%esp)
4115af:	56                   	push   %esi
4115b0:	8b f1                	mov    %ecx,%esi
4115b2:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
4115b6:	74 43                	je     0x4115fb
4115b8:	a1 88 41 40 00       	mov    0x404188,%eax
4115bd:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4115c1:	89 44 24 04          	mov    %eax,0x4(%esp)
4115c5:	a1 8c 41 40 00       	mov    0x40418c,%eax
4115ca:	89 44 24 08          	mov    %eax,0x8(%esp)
4115ce:	a1 78 41 40 00       	mov    0x404178,%eax
4115d3:	89 44 24 0c          	mov    %eax,0xc(%esp)
4115d7:	a1 7c 41 40 00       	mov    0x40417c,%eax
4115dc:	56                   	push   %esi
4115dd:	89 44 24 14          	mov    %eax,0x14(%esp)
4115e1:	a1 b0 41 40 00       	mov    0x4041b0,%eax
4115e6:	6a 03                	push   $0x3
4115e8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4115ec:	a1 b4 41 40 00       	mov    0x4041b4,%eax
4115f1:	5a                   	pop    %edx
4115f2:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4115f6:	e8 51 fd ff ff       	call   0x41134c
4115fb:	80 7e 44 00          	cmpb   $0x0,0x44(%esi)
4115ff:	74 46                	je     0x411647
411601:	a1 c0 41 40 00       	mov    0x4041c0,%eax
411606:	8d 4c 24 04          	lea    0x4(%esp),%ecx
41160a:	89 44 24 04          	mov    %eax,0x4(%esp)
41160e:	a1 c4 41 40 00       	mov    0x4041c4,%eax
411613:	89 44 24 08          	mov    %eax,0x8(%esp)
411617:	a1 58 41 40 00       	mov    0x404158,%eax
41161c:	89 44 24 0c          	mov    %eax,0xc(%esp)
411620:	a1 5c 41 40 00       	mov    0x40415c,%eax
411625:	89 44 24 10          	mov    %eax,0x10(%esp)
411629:	a1 80 41 40 00       	mov    0x404180,%eax
41162e:	89 44 24 14          	mov    %eax,0x14(%esp)
411632:	a1 84 41 40 00       	mov    0x404184,%eax
411637:	89 44 24 18          	mov    %eax,0x18(%esp)
41163b:	8d 46 24             	lea    0x24(%esi),%eax
41163e:	50                   	push   %eax
41163f:	6a 03                	push   $0x3
411641:	5a                   	pop    %edx
411642:	e8 05 fd ff ff       	call   0x41134c
411647:	80 7e 68 00          	cmpb   $0x0,0x68(%esi)
41164b:	74 7c                	je     0x4116c9
41164d:	a1 a8 41 40 00       	mov    0x4041a8,%eax
411652:	8d 4c 24 04          	lea    0x4(%esp),%ecx
411656:	89 44 24 04          	mov    %eax,0x4(%esp)
41165a:	a1 ac 41 40 00       	mov    0x4041ac,%eax
41165f:	89 44 24 08          	mov    %eax,0x8(%esp)
411663:	a1 50 41 40 00       	mov    0x404150,%eax
411668:	89 44 24 0c          	mov    %eax,0xc(%esp)
41166c:	a1 54 41 40 00       	mov    0x404154,%eax
411671:	89 44 24 10          	mov    %eax,0x10(%esp)
411675:	a1 90 41 40 00       	mov    0x404190,%eax
41167a:	89 44 24 14          	mov    %eax,0x14(%esp)
41167e:	a1 94 41 40 00       	mov    0x404194,%eax
411683:	89 44 24 18          	mov    %eax,0x18(%esp)
411687:	a1 60 41 40 00       	mov    0x404160,%eax
41168c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
411690:	a1 64 41 40 00       	mov    0x404164,%eax
411695:	89 44 24 20          	mov    %eax,0x20(%esp)
411699:	a1 70 41 40 00       	mov    0x404170,%eax
41169e:	89 44 24 24          	mov    %eax,0x24(%esp)
4116a2:	a1 74 41 40 00       	mov    0x404174,%eax
4116a7:	89 44 24 28          	mov    %eax,0x28(%esp)
4116ab:	a1 a0 41 40 00       	mov    0x4041a0,%eax
4116b0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4116b4:	a1 a4 41 40 00       	mov    0x4041a4,%eax
4116b9:	89 44 24 30          	mov    %eax,0x30(%esp)
4116bd:	8d 46 48             	lea    0x48(%esi),%eax
4116c0:	50                   	push   %eax
4116c1:	6a 06                	push   $0x6
4116c3:	5a                   	pop    %edx
4116c4:	e8 83 fc ff ff       	call   0x41134c
4116c9:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4116cd:	5e                   	pop    %esi
4116ce:	33 cc                	xor    %esp,%ecx
4116d0:	e8 0b 22 00 00       	call   0x4138e0
4116d5:	8b e5                	mov    %ebp,%esp
4116d7:	5d                   	pop    %ebp
4116d8:	c3                   	ret
4116d9:	8b ff                	mov    %edi,%edi
4116db:	55                   	push   %ebp
4116dc:	8b ec                	mov    %esp,%ebp
4116de:	51                   	push   %ecx
4116df:	51                   	push   %ecx
4116e0:	53                   	push   %ebx
4116e1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4116e4:	33 d2                	xor    %edx,%edx
4116e6:	56                   	push   %esi
4116e7:	8d 71 18             	lea    0x18(%ecx),%esi
4116ea:	57                   	push   %edi
4116eb:	83 23 00             	andl   $0x0,(%ebx)
4116ee:	8b 46 04             	mov    0x4(%esi),%eax
4116f1:	8b 3e                	mov    (%esi),%edi
4116f3:	2b c7                	sub    %edi,%eax
4116f5:	c1 e8 03             	shr    $0x3,%eax
4116f8:	85 c0                	test   %eax,%eax
4116fa:	74 12                	je     0x41170e
4116fc:	83 3c d7 00          	cmpl   $0x0,(%edi,%edx,8)
411700:	8d 4a 01             	lea    0x1(%edx),%ecx
411703:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411706:	74 34                	je     0x41173c
411708:	8b d1                	mov    %ecx,%edx
41170a:	3b d0                	cmp    %eax,%edx
41170c:	72 ee                	jb     0x4116fc
41170e:	8b 45 0c             	mov    0xc(%ebp),%eax
411711:	8b ce                	mov    %esi,%ecx
411713:	89 45 f8             	mov    %eax,-0x8(%ebp)
411716:	8b 45 10             	mov    0x10(%ebp),%eax
411719:	89 45 fc             	mov    %eax,-0x4(%ebp)
41171c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41171f:	6a 08                	push   $0x8
411721:	50                   	push   %eax
411722:	e8 7a f0 ff ff       	call   0x4107a1
411727:	84 c0                	test   %al,%al
411729:	74 0a                	je     0x411735
41172b:	8b 46 04             	mov    0x4(%esi),%eax
41172e:	2b 06                	sub    (%esi),%eax
411730:	c1 e8 03             	shr    $0x3,%eax
411733:	89 03                	mov    %eax,(%ebx)
411735:	5f                   	pop    %edi
411736:	5e                   	pop    %esi
411737:	5b                   	pop    %ebx
411738:	c9                   	leave
411739:	c2 0c 00             	ret    $0xc
41173c:	8b 45 0c             	mov    0xc(%ebp),%eax
41173f:	8b 4d 10             	mov    0x10(%ebp),%ecx
411742:	89 04 d7             	mov    %eax,(%edi,%edx,8)
411745:	8b 45 fc             	mov    -0x4(%ebp),%eax
411748:	89 4c d7 04          	mov    %ecx,0x4(%edi,%edx,8)
41174c:	eb e5                	jmp    0x411733
41174e:	8b ff                	mov    %edi,%edi
411750:	55                   	push   %ebp
411751:	8b ec                	mov    %esp,%ebp
411753:	53                   	push   %ebx
411754:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411757:	56                   	push   %esi
411758:	8b f1                	mov    %ecx,%esi
41175a:	85 db                	test   %ebx,%ebx
41175c:	74 43                	je     0x4117a1
41175e:	56                   	push   %esi
41175f:	ff 15 f0 b0 41 00    	call   *0x41b0f0
411765:	ff 75 08             	push   0x8(%ebp)
411768:	ff 15 08 b1 41 00    	call   *0x41b108
41176e:	8b 46 1c             	mov    0x1c(%esi),%eax
411771:	4b                   	dec    %ebx
411772:	8b 4e 18             	mov    0x18(%esi),%ecx
411775:	2b c1                	sub    %ecx,%eax
411777:	c1 e8 03             	shr    $0x3,%eax
41177a:	3b d8                	cmp    %eax,%ebx
41177c:	73 09                	jae    0x411787
41177e:	83 24 d9 00          	andl   $0x0,(%ecx,%ebx,8)
411782:	83 64 d9 04 00       	andl   $0x0,0x4(%ecx,%ebx,8)
411787:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41178b:	74 09                	je     0x411796
41178d:	ff 75 08             	push   0x8(%ebp)
411790:	ff 15 0c b1 41 00    	call   *0x41b10c
411796:	85 f6                	test   %esi,%esi
411798:	74 07                	je     0x4117a1
41179a:	56                   	push   %esi
41179b:	ff 15 ec b0 41 00    	call   *0x41b0ec
4117a1:	5e                   	pop    %esi
4117a2:	5b                   	pop    %ebx
4117a3:	5d                   	pop    %ebp
4117a4:	c2 08 00             	ret    $0x8
4117a7:	8b ff                	mov    %edi,%edi
4117a9:	55                   	push   %ebp
4117aa:	8b ec                	mov    %esp,%ebp
4117ac:	83 ec 10             	sub    $0x10,%esp
4117af:	53                   	push   %ebx
4117b0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4117b3:	56                   	push   %esi
4117b4:	57                   	push   %edi
4117b5:	53                   	push   %ebx
4117b6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4117b9:	ff 15 d0 b0 41 00    	call   *0x41b0d0
4117bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4117c2:	8b 70 1c             	mov    0x1c(%eax),%esi
4117c5:	2b 70 18             	sub    0x18(%eax),%esi
4117c8:	c1 ee 03             	shr    $0x3,%esi
4117cb:	85 db                	test   %ebx,%ebx
4117cd:	74 0a                	je     0x4117d9
4117cf:	53                   	push   %ebx
4117d0:	ff 15 d8 b0 41 00    	call   *0x41b0d8
4117d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4117d9:	33 ff                	xor    %edi,%edi
4117db:	85 f6                	test   %esi,%esi
4117dd:	0f 84 80 00 00 00    	je     0x411863
4117e3:	33 c9                	xor    %ecx,%ecx
4117e5:	21 4d f4             	and    %ecx,-0xc(%ebp)
4117e8:	50                   	push   %eax
4117e9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4117ec:	ff 15 f0 b0 41 00    	call   *0x41b0f0
4117f2:	53                   	push   %ebx
4117f3:	ff 15 08 b1 41 00    	call   *0x41b108
4117f9:	3b fe                	cmp    %esi,%edi
4117fb:	73 2f                	jae    0x41182c
4117fd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411800:	8b 51 18             	mov    0x18(%ecx),%edx
411803:	8d 04 fa             	lea    (%edx,%edi,8),%eax
411806:	83 38 00             	cmpl   $0x0,(%eax)
411809:	8d 4f 01             	lea    0x1(%edi),%ecx
41180c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41180f:	75 0b                	jne    0x41181c
411811:	8b f9                	mov    %ecx,%edi
411813:	83 c0 08             	add    $0x8,%eax
411816:	3b fe                	cmp    %esi,%edi
411818:	72 ec                	jb     0x411806
41181a:	eb 10                	jmp    0x41182c
41181c:	8b 0c fa             	mov    (%edx,%edi,8),%ecx
41181f:	8b 44 fa 04          	mov    0x4(%edx,%edi,8),%eax
411823:	8b 7d f0             	mov    -0x10(%ebp),%edi
411826:	89 4d f8             	mov    %ecx,-0x8(%ebp)
411829:	89 45 f4             	mov    %eax,-0xc(%ebp)
41182c:	85 db                	test   %ebx,%ebx
41182e:	74 07                	je     0x411837
411830:	53                   	push   %ebx
411831:	ff 15 0c b1 41 00    	call   *0x41b10c
411837:	8b 45 f8             	mov    -0x8(%ebp),%eax
41183a:	85 c0                	test   %eax,%eax
41183c:	74 10                	je     0x41184e
41183e:	ff 75 f4             	push   -0xc(%ebp)
411841:	8b c8                	mov    %eax,%ecx
411843:	ff 15 90 b3 41 00    	call   *0x41b390
411849:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41184c:	ff d1                	call   *%ecx
41184e:	8b 45 fc             	mov    -0x4(%ebp),%eax
411851:	85 c0                	test   %eax,%eax
411853:	74 0a                	je     0x41185f
411855:	50                   	push   %eax
411856:	ff 15 ec b0 41 00    	call   *0x41b0ec
41185c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41185f:	3b fe                	cmp    %esi,%edi
411861:	72 80                	jb     0x4117e3
411863:	5f                   	pop    %edi
411864:	5e                   	pop    %esi
411865:	5b                   	pop    %ebx
411866:	c9                   	leave
411867:	c2 04 00             	ret    $0x4
41186a:	6a 6c                	push   $0x6c
41186c:	b8 f2 44 41 00       	mov    $0x4144f2,%eax
411871:	e8 c9 23 00 00       	call   0x413c3f
411876:	8b f1                	mov    %ecx,%esi
411878:	8d 4d 88             	lea    -0x78(%ebp),%ecx
41187b:	e8 dd fc ff ff       	call   0x41155d
411880:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
411884:	8d 45 88             	lea    -0x78(%ebp),%eax
411887:	50                   	push   %eax
411888:	8b ce                	mov    %esi,%ecx
41188a:	e8 30 01 00 00       	call   0x4119bf
41188f:	8d 4d 88             	lea    -0x78(%ebp),%ecx
411892:	e8 02 fd ff ff       	call   0x411599
411897:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41189a:	e8 cc 08 00 00       	call   0x41216b
41189f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4118a2:	e8 c4 08 00 00       	call   0x41216b
4118a7:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4118aa:	e8 bc 08 00 00       	call   0x41216b
4118af:	e8 68 23 00 00       	call   0x413c1c
4118b4:	c3                   	ret
4118b5:	6a 04                	push   $0x4
4118b7:	b8 15 45 41 00       	mov    $0x414515,%eax
4118bc:	e8 7e 23 00 00       	call   0x413c3f
4118c1:	8b f9                	mov    %ecx,%edi
4118c3:	8b 75 0c             	mov    0xc(%ebp),%esi
4118c6:	81 fe fe 00 00 00    	cmp    $0xfe,%esi
4118cc:	0f 84 81 00 00 00    	je     0x411953
4118d2:	bb 00 01 00 00       	mov    $0x100,%ebx
4118d7:	81 fe c8 00 00 00    	cmp    $0xc8,%esi
4118dd:	72 10                	jb     0x4118ef
4118df:	3b f3                	cmp    %ebx,%esi
4118e1:	7c 08                	jl     0x4118eb
4118e3:	81 fe 00 02 00 00    	cmp    $0x200,%esi
4118e9:	72 04                	jb     0x4118ef
4118eb:	32 c0                	xor    %al,%al
4118ed:	eb 6b                	jmp    0x41195a
4118ef:	57                   	push   %edi
4118f0:	ff 15 08 b1 41 00    	call   *0x41b108
4118f6:	89 7d f0             	mov    %edi,-0x10(%ebp)
4118f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4118fd:	83 fe 02             	cmp    $0x2,%esi
411900:	74 2e                	je     0x411930
411902:	83 fe 03             	cmp    $0x3,%esi
411905:	74 29                	je     0x411930
411907:	83 fe 06             	cmp    $0x6,%esi
41190a:	74 24                	je     0x411930
41190c:	83 fe 07             	cmp    $0x7,%esi
41190f:	74 1f                	je     0x411930
411911:	3b f3                	cmp    %ebx,%esi
411913:	7c 08                	jl     0x41191d
411915:	81 fe 80 01 00 00    	cmp    $0x180,%esi
41191b:	7c 13                	jl     0x411930
41191d:	ff 75 10             	push   0x10(%ebp)
411920:	8d 4f 28             	lea    0x28(%edi),%ecx
411923:	ff 75 08             	push   0x8(%ebp)
411926:	56                   	push   %esi
411927:	e8 e2 07 00 00       	call   0x41210e
41192c:	8a d8                	mov    %al,%bl
41192e:	eb 10                	jmp    0x411940
411930:	51                   	push   %ecx
411931:	ff 75 08             	push   0x8(%ebp)
411934:	8d 4f 04             	lea    0x4(%edi),%ecx
411937:	56                   	push   %esi
411938:	e8 ee 07 00 00       	call   0x41212b
41193d:	8a 5f 24             	mov    0x24(%edi),%bl
411940:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
411944:	85 ff                	test   %edi,%edi
411946:	74 07                	je     0x41194f
411948:	57                   	push   %edi
411949:	ff 15 0c b1 41 00    	call   *0x41b10c
41194f:	8a c3                	mov    %bl,%al
411951:	eb 07                	jmp    0x41195a
411953:	e8 0a 00 00 00       	call   0x411962