41177f:	6a 0c                	push   $0xc
411781:	68 20 40 42 00       	push   $0x424020
411786:	e8 45 72 ff ff       	call   0x4089d0
41178b:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41178f:	6a 00                	push   $0x0
411791:	e8 6b ea ff ff       	call   0x410201
411796:	59                   	pop    %ecx
411797:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41179b:	8b 35 18 60 42 00    	mov    0x426018,%esi
4117a1:	8b ce                	mov    %esi,%ecx
4117a3:	83 e1 1f             	and    $0x1f,%ecx
4117a6:	33 35 04 73 42 00    	xor    0x427304,%esi
4117ac:	d3 ce                	ror    %cl,%esi
4117ae:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4117b1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4117b8:	e8 15 00 00 00       	call   0x4117d2
4117bd:	8b c6                	mov    %esi,%eax
4117bf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4117c2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4117c9:	59                   	pop    %ecx
4117ca:	5f                   	pop    %edi
4117cb:	5e                   	pop    %esi
4117cc:	5b                   	pop    %ebx
4117cd:	c9                   	leave
4117ce:	c3                   	ret
4117cf:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4117d2:	6a 00                	push   $0x0
4117d4:	e8 78 ea ff ff       	call   0x410251
4117d9:	59                   	pop    %ecx
4117da:	c3                   	ret
4117db:	6a 0c                	push   $0xc
4117dd:	68 60 40 42 00       	push   $0x424060
4117e2:	e8 e9 71 ff ff       	call   0x4089d0
4117e7:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4117eb:	8b 45 08             	mov    0x8(%ebp),%eax
4117ee:	ff 30                	push   (%eax)
4117f0:	e8 0c ea ff ff       	call   0x410201
4117f5:	59                   	pop    %ecx
4117f6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4117fa:	8b 35 18 60 42 00    	mov    0x426018,%esi
411800:	8b ce                	mov    %esi,%ecx
411802:	83 e1 1f             	and    $0x1f,%ecx
411805:	33 35 10 73 42 00    	xor    0x427310,%esi
41180b:	d3 ce                	ror    %cl,%esi
41180d:	89 75 e4             	mov    %esi,-0x1c(%ebp)
411810:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411817:	e8 17 00 00 00       	call   0x411833
41181c:	8b c6                	mov    %esi,%eax
41181e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411821:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411828:	59                   	pop    %ecx
411829:	5f                   	pop    %edi
41182a:	5e                   	pop    %esi
41182b:	5b                   	pop    %ebx
41182c:	c9                   	leave
41182d:	c2 0c 00             	ret    $0xc
411830:	8b 75 e4             	mov    -0x1c(%ebp),%esi
411833:	8b 4d 10             	mov    0x10(%ebp),%ecx
411836:	ff 31                	push   (%ecx)
411838:	e8 14 ea ff ff       	call   0x410251
41183d:	59                   	pop    %ecx
41183e:	c3                   	ret
41183f:	8b ff                	mov    %edi,%edi
411841:	55                   	push   %ebp
411842:	8b ec                	mov    %esp,%ebp
411844:	8b 45 08             	mov    0x8(%ebp),%eax
411847:	48                   	dec    %eax
411848:	83 e8 01             	sub    $0x1,%eax
41184b:	74 2d                	je     0x41187a
41184d:	83 e8 04             	sub    $0x4,%eax
411850:	74 21                	je     0x411873
411852:	83 e8 09             	sub    $0x9,%eax
411855:	74 15                	je     0x41186c
411857:	83 e8 06             	sub    $0x6,%eax
41185a:	74 09                	je     0x411865
41185c:	83 e8 01             	sub    $0x1,%eax
41185f:	74 12                	je     0x411873
411861:	33 c0                	xor    %eax,%eax
411863:	5d                   	pop    %ebp
411864:	c3                   	ret
411865:	b8 0c 73 42 00       	mov    $0x42730c,%eax
41186a:	5d                   	pop    %ebp
41186b:	c3                   	ret
41186c:	b8 14 73 42 00       	mov    $0x427314,%eax
411871:	5d                   	pop    %ebp
411872:	c3                   	ret
411873:	b8 10 73 42 00       	mov    $0x427310,%eax
411878:	5d                   	pop    %ebp
411879:	c3                   	ret
41187a:	b8 08 73 42 00       	mov    $0x427308,%eax
41187f:	5d                   	pop    %ebp
411880:	c3                   	ret
411881:	8b ff                	mov    %edi,%edi
411883:	55                   	push   %ebp
411884:	8b ec                	mov    %esp,%ebp
411886:	6b 0d 78 d0 41 00 0c 	imul   $0xc,0x41d078,%ecx
41188d:	8b 45 0c             	mov    0xc(%ebp),%eax
411890:	03 c8                	add    %eax,%ecx
411892:	3b c1                	cmp    %ecx,%eax
411894:	74 0f                	je     0x4118a5
411896:	8b 55 08             	mov    0x8(%ebp),%edx
411899:	39 50 04             	cmp    %edx,0x4(%eax)
41189c:	74 09                	je     0x4118a7
41189e:	83 c0 0c             	add    $0xc,%eax
4118a1:	3b c1                	cmp    %ecx,%eax
4118a3:	75 f4                	jne    0x411899
4118a5:	33 c0                	xor    %eax,%eax
4118a7:	5d                   	pop    %ebp
4118a8:	c3                   	ret
4118a9:	8b ff                	mov    %edi,%edi
4118ab:	55                   	push   %ebp
4118ac:	8b ec                	mov    %esp,%ebp
4118ae:	83 ec 0c             	sub    $0xc,%esp
4118b1:	6a 03                	push   $0x3
4118b3:	58                   	pop    %eax
4118b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4118b7:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4118ba:	89 45 f4             	mov    %eax,-0xc(%ebp)
4118bd:	8d 45 f8             	lea    -0x8(%ebp),%eax
4118c0:	50                   	push   %eax
4118c1:	8d 45 ff             	lea    -0x1(%ebp),%eax
4118c4:	50                   	push   %eax
4118c5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4118c8:	50                   	push   %eax
4118c9:	e8 0d ff ff ff       	call   0x4117db
4118ce:	c9                   	leave
4118cf:	c3                   	ret
4118d0:	8b ff                	mov    %edi,%edi
4118d2:	55                   	push   %ebp
4118d3:	8b ec                	mov    %esp,%ebp
4118d5:	8b 45 08             	mov    0x8(%ebp),%eax
4118d8:	a3 08 73 42 00       	mov    %eax,0x427308
4118dd:	a3 0c 73 42 00       	mov    %eax,0x42730c
4118e2:	a3 10 73 42 00       	mov    %eax,0x427310
4118e7:	a3 14 73 42 00       	mov    %eax,0x427314
4118ec:	5d                   	pop    %ebp
4118ed:	c3                   	ret
4118ee:	6a 24                	push   $0x24
4118f0:	68 40 40 42 00       	push   $0x424040
4118f5:	e8 d6 70 ff ff       	call   0x4089d0
4118fa:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
4118fe:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
411902:	b1 01                	mov    $0x1,%cl
411904:	88 4d e7             	mov    %cl,-0x19(%ebp)
411907:	8b 75 08             	mov    0x8(%ebp),%esi
41190a:	6a 08                	push   $0x8
41190c:	5b                   	pop    %ebx
41190d:	3b f3                	cmp    %ebx,%esi
41190f:	7f 18                	jg     0x411929
411911:	74 37                	je     0x41194a
411913:	8d 46 ff             	lea    -0x1(%esi),%eax
411916:	83 e8 01             	sub    $0x1,%eax
411919:	74 22                	je     0x41193d
41191b:	48                   	dec    %eax
41191c:	83 e8 01             	sub    $0x1,%eax
41191f:	74 29                	je     0x41194a
411921:	48                   	dec    %eax
411922:	83 e8 01             	sub    $0x1,%eax
411925:	75 47                	jne    0x41196e
411927:	eb 14                	jmp    0x41193d
411929:	83 fe 0b             	cmp    $0xb,%esi
41192c:	74 1c                	je     0x41194a
41192e:	83 fe 0f             	cmp    $0xf,%esi
411931:	74 0a                	je     0x41193d
411933:	83 fe 14             	cmp    $0x14,%esi
411936:	7e 36                	jle    0x41196e
411938:	83 fe 16             	cmp    $0x16,%esi
41193b:	7f 31                	jg     0x41196e
41193d:	56                   	push   %esi
41193e:	e8 fc fe ff ff       	call   0x41183f
411943:	83 c4 04             	add    $0x4,%esp
411946:	8b f8                	mov    %eax,%edi
411948:	eb 3e                	jmp    0x411988
41194a:	e8 11 d0 ff ff       	call   0x40e960
41194f:	8b f8                	mov    %eax,%edi
411951:	89 7d e0             	mov    %edi,-0x20(%ebp)
411954:	85 ff                	test   %edi,%edi
411956:	75 08                	jne    0x411960
411958:	83 c8 ff             	or     $0xffffffff,%eax
41195b:	e9 5d 01 00 00       	jmp    0x411abd
411960:	ff 37                	push   (%edi)
411962:	56                   	push   %esi
411963:	e8 19 ff ff ff       	call   0x411881
411968:	59                   	pop    %ecx
411969:	59                   	pop    %ecx
41196a:	85 c0                	test   %eax,%eax
41196c:	75 12                	jne    0x411980
41196e:	e8 60 d3 ff ff       	call   0x40ecd3
411973:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411979:	e8 98 d2 ff ff       	call   0x40ec16
41197e:	eb d8                	jmp    0x411958
411980:	8d 78 08             	lea    0x8(%eax),%edi
411983:	32 c9                	xor    %cl,%cl
411985:	88 4d e7             	mov    %cl,-0x19(%ebp)
411988:	89 7d dc             	mov    %edi,-0x24(%ebp)
41198b:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
41198f:	84 c9                	test   %cl,%cl
411991:	74 0b                	je     0x41199e
411993:	6a 03                	push   $0x3
411995:	e8 67 e8 ff ff       	call   0x410201
41199a:	59                   	pop    %ecx
41199b:	8a 4d e7             	mov    -0x19(%ebp),%cl
41199e:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
4119a2:	c6 45 e6 00          	movb   $0x0,-0x1a(%ebp)
4119a6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4119aa:	8b 3f                	mov    (%edi),%edi
4119ac:	84 c9                	test   %cl,%cl
4119ae:	74 14                	je     0x4119c4
4119b0:	8b 0d 18 60 42 00    	mov    0x426018,%ecx
4119b6:	83 e1 1f             	and    $0x1f,%ecx
4119b9:	33 3d 18 60 42 00    	xor    0x426018,%edi
4119bf:	d3 cf                	ror    %cl,%edi
4119c1:	8a 4d e7             	mov    -0x19(%ebp),%cl
4119c4:	89 7d d8             	mov    %edi,-0x28(%ebp)
4119c7:	83 ff 01             	cmp    $0x1,%edi
4119ca:	0f 94 c0             	sete   %al
4119cd:	88 45 e6             	mov    %al,-0x1a(%ebp)
4119d0:	84 c0                	test   %al,%al
4119d2:	75 71                	jne    0x411a45
4119d4:	85 ff                	test   %edi,%edi
4119d6:	0f 84 f1 00 00 00    	je     0x411acd
4119dc:	3b f3                	cmp    %ebx,%esi
4119de:	74 0a                	je     0x4119ea
4119e0:	83 fe 0b             	cmp    $0xb,%esi
4119e3:	74 05                	je     0x4119ea
4119e5:	83 fe 04             	cmp    $0x4,%esi
4119e8:	75 28                	jne    0x411a12
4119ea:	8b 45 e0             	mov    -0x20(%ebp),%eax
4119ed:	8b 48 04             	mov    0x4(%eax),%ecx
4119f0:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4119f3:	83 60 04 00          	andl   $0x0,0x4(%eax)
4119f7:	3b f3                	cmp    %ebx,%esi
4119f9:	75 40                	jne    0x411a3b
4119fb:	e8 09 ce ff ff       	call   0x40e809
411a00:	8b 40 08             	mov    0x8(%eax),%eax
411a03:	89 45 d0             	mov    %eax,-0x30(%ebp)
411a06:	e8 fe cd ff ff       	call   0x40e809
411a0b:	c7 40 08 8c 00 00 00 	movl   $0x8c,0x8(%eax)
411a12:	8b 45 e0             	mov    -0x20(%ebp),%eax
411a15:	3b f3                	cmp    %ebx,%esi
411a17:	75 22                	jne    0x411a3b
411a19:	6b 0d 7c d0 41 00 0c 	imul   $0xc,0x41d07c,%ecx
411a20:	03 08                	add    (%eax),%ecx
411a22:	6b 05 80 d0 41 00 0c 	imul   $0xc,0x41d080,%eax
411a29:	03 c1                	add    %ecx,%eax
411a2b:	89 4d cc             	mov    %ecx,-0x34(%ebp)
411a2e:	3b c8                	cmp    %eax,%ecx
411a30:	74 13                	je     0x411a45
411a32:	83 61 08 00          	andl   $0x0,0x8(%ecx)
411a36:	83 c1 0c             	add    $0xc,%ecx
411a39:	eb f0                	jmp    0x411a2b
411a3b:	a1 18 60 42 00       	mov    0x426018,%eax
411a40:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411a43:	89 01                	mov    %eax,(%ecx)
411a45:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411a4c:	e8 29 00 00 00       	call   0x411a7a
411a51:	80 7d e6 00          	cmpb   $0x0,-0x1a(%ebp)
411a55:	75 64                	jne    0x411abb
411a57:	3b f3                	cmp    %ebx,%esi
411a59:	75 2e                	jne    0x411a89
411a5b:	e8 a9 cd ff ff       	call   0x40e809
411a60:	ff 70 08             	push   0x8(%eax)
411a63:	53                   	push   %ebx
411a64:	8b cf                	mov    %edi,%ecx
411a66:	ff 15 50 c2 41 00    	call   *0x41c250
411a6c:	ff d7                	call   *%edi
411a6e:	59                   	pop    %ecx
411a6f:	eb 23                	jmp    0x411a94
411a71:	6a 08                	push   $0x8
411a73:	5b                   	pop    %ebx
411a74:	8b 75 08             	mov    0x8(%ebp),%esi
411a77:	8b 7d d8             	mov    -0x28(%ebp),%edi
411a7a:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
411a7e:	74 08                	je     0x411a88
411a80:	6a 03                	push   $0x3
411a82:	e8 ca e7 ff ff       	call   0x410251
411a87:	59                   	pop    %ecx
411a88:	c3                   	ret
411a89:	56                   	push   %esi
411a8a:	8b cf                	mov    %edi,%ecx
411a8c:	ff 15 50 c2 41 00    	call   *0x41c250
411a92:	ff d7                	call   *%edi
411a94:	59                   	pop    %ecx
411a95:	3b f3                	cmp    %ebx,%esi
411a97:	74 0a                	je     0x411aa3
411a99:	83 fe 0b             	cmp    $0xb,%esi
411a9c:	74 05                	je     0x411aa3
411a9e:	83 fe 04             	cmp    $0x4,%esi
411aa1:	75 18                	jne    0x411abb
411aa3:	8b 45 e0             	mov    -0x20(%ebp),%eax
411aa6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
411aa9:	89 48 04             	mov    %ecx,0x4(%eax)
411aac:	3b f3                	cmp    %ebx,%esi
411aae:	75 0b                	jne    0x411abb
411ab0:	e8 54 cd ff ff       	call   0x40e809
411ab5:	8b 4d d0             	mov    -0x30(%ebp),%ecx
411ab8:	89 48 08             	mov    %ecx,0x8(%eax)
411abb:	33 c0                	xor    %eax,%eax
411abd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411ac0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411ac7:	59                   	pop    %ecx
411ac8:	5f                   	pop    %edi
411ac9:	5e                   	pop    %esi
411aca:	5b                   	pop    %ebx
411acb:	c9                   	leave
411acc:	c3                   	ret
411acd:	84 c9                	test   %cl,%cl
411acf:	74 08                	je     0x411ad9
411ad1:	6a 03                	push   $0x3
411ad3:	e8 79 e7 ff ff       	call   0x410251
411ad8:	59                   	pop    %ecx
411ad9:	6a 03                	push   $0x3
411adb:	e8 50 a0 ff ff       	call   0x40bb30
411ae0:	cc                   	int3
411ae1:	6a 08                	push   $0x8
411ae3:	68 80 40 42 00       	push   $0x424080
411ae8:	e8 e3 6e ff ff       	call   0x4089d0
411aed:	8b 45 08             	mov    0x8(%ebp),%eax
411af0:	ff 30                	push   (%eax)
411af2:	e8 a5 03 00 00       	call   0x411e9c
411af7:	59                   	pop    %ecx
411af8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
411afc:	8b 75 0c             	mov    0xc(%ebp),%esi
411aff:	ff 76 04             	push   0x4(%esi)
411b02:	8b 06                	mov    (%esi),%eax
411b04:	ff 30                	push   (%eax)
411b06:	e8 5b 01 00 00       	call   0x411c66
411b0b:	59                   	pop    %ecx
411b0c:	59                   	pop    %ecx
411b0d:	84 c0                	test   %al,%al
411b0f:	74 32                	je     0x411b43
411b11:	8b 46 08             	mov    0x8(%esi),%eax
411b14:	80 38 00             	cmpb   $0x0,(%eax)
411b17:	75 0e                	jne    0x411b27
411b19:	8b 06                	mov    (%esi),%eax
411b1b:	8b 00                	mov    (%eax),%eax
411b1d:	8b 40 0c             	mov    0xc(%eax),%eax
411b20:	90                   	nop
411b21:	d1 e8                	shr    $1,%eax
411b23:	a8 01                	test   $0x1,%al
411b25:	74 1c                	je     0x411b43
411b27:	8b 06                	mov    (%esi),%eax
411b29:	ff 30                	push   (%eax)
411b2b:	e8 f3 01 00 00       	call   0x411d23
411b30:	59                   	pop    %ecx
411b31:	83 f8 ff             	cmp    $0xffffffff,%eax
411b34:	74 07                	je     0x411b3d
411b36:	8b 46 04             	mov    0x4(%esi),%eax
411b39:	ff 00                	incl   (%eax)
411b3b:	eb 06                	jmp    0x411b43