5527e6:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5527ed:	b8 01 00 00 00       	mov    $0x1,%eax
5527f2:	c3                   	ret
5527f3:	cc                   	int3
5527f4:	cc                   	int3
5527f5:	cc                   	int3
5527f6:	cc                   	int3
5527f7:	cc                   	int3
5527f8:	cc                   	int3
5527f9:	cc                   	int3
5527fa:	cc                   	int3
5527fb:	cc                   	int3
5527fc:	cc                   	int3
5527fd:	cc                   	int3
5527fe:	cc                   	int3
5527ff:	cc                   	int3
552800:	56                   	push   %esi
552801:	8b 74 24 08          	mov    0x8(%esp),%esi
552805:	85 f6                	test   %esi,%esi
552807:	74 20                	je     0x552829
552809:	56                   	push   %esi
55280a:	e8 f1 12 00 00       	call   0x553b00
55280f:	68 8e 00 00 00       	push   $0x8e
552814:	68 f0 e8 64 00       	push   $0x64e8f0
552819:	56                   	push   %esi
55281a:	e8 61 df f8 ff       	call   0x4e0780
55281f:	83 c4 10             	add    $0x10,%esp
552822:	b8 01 00 00 00       	mov    $0x1,%eax
552827:	5e                   	pop    %esi
552828:	c3                   	ret
552829:	33 c0                	xor    %eax,%eax
55282b:	5e                   	pop    %esi
55282c:	c3                   	ret
55282d:	cc                   	int3
55282e:	cc                   	int3
55282f:	cc                   	int3
552830:	8b 44 24 04          	mov    0x4(%esp),%eax
552834:	85 c0                	test   %eax,%eax
552836:	75 01                	jne    0x552839
552838:	c3                   	ret
552839:	50                   	push   %eax
55283a:	e8 c1 12 00 00       	call   0x553b00
55283f:	83 c4 04             	add    $0x4,%esp
552842:	b8 01 00 00 00       	mov    $0x1,%eax
552847:	c3                   	ret
552848:	cc                   	int3
552849:	cc                   	int3
55284a:	cc                   	int3
55284b:	cc                   	int3
55284c:	cc                   	int3
55284d:	cc                   	int3
55284e:	cc                   	int3
55284f:	cc                   	int3
552850:	57                   	push   %edi
552851:	68 34 4a 60 00       	push   $0x604a34
552856:	ff 74 24 10          	push   0x10(%esp)
55285a:	e8 c1 54 fc ff       	call   0x517d20
55285f:	8b f8                	mov    %eax,%edi
552861:	83 c4 08             	add    $0x8,%esp
552864:	85 ff                	test   %edi,%edi
552866:	75 3f                	jne    0x5528a7
552868:	e8 03 66 f8 ff       	call   0x4d8e70
55286d:	33 c9                	xor    %ecx,%ecx
55286f:	25 ff 0f 00 00       	and    $0xfff,%eax
552874:	3d 80 00 00 00       	cmp    $0x80,%eax
552879:	ba 02 00 00 00       	mov    $0x2,%edx
55287e:	0f 95 c1             	setne  %cl
552881:	8d 0c 4d a8 00 00 00 	lea    0xa8(,%ecx,2),%ecx
552888:	51                   	push   %ecx
552889:	68 f0 e8 64 00       	push   $0x64e8f0
55288e:	b9 72 00 00 00       	mov    $0x72,%ecx
552893:	0f 45 ca             	cmovne %edx,%ecx
552896:	51                   	push   %ecx
552897:	6a 78                	push   $0x78
552899:	6a 0e                	push   $0xe
55289b:	e8 e0 66 f8 ff       	call   0x4d8f80
5528a0:	83 c4 14             	add    $0x14,%esp
5528a3:	33 c0                	xor    %eax,%eax
5528a5:	5f                   	pop    %edi
5528a6:	c3                   	ret
5528a7:	56                   	push   %esi
5528a8:	ff 74 24 14          	push   0x14(%esp)
5528ac:	57                   	push   %edi
5528ad:	ff 74 24 14          	push   0x14(%esp)
5528b1:	e8 1a 00 00 00       	call   0x5528d0
5528b6:	57                   	push   %edi
5528b7:	8b f0                	mov    %eax,%esi
5528b9:	e8 92 63 fa ff       	call   0x4f8c50
5528be:	83 c4 10             	add    $0x10,%esp
5528c1:	8b c6                	mov    %esi,%eax
5528c3:	5e                   	pop    %esi
5528c4:	5f                   	pop    %edi
5528c5:	c3                   	ret
5528c6:	cc                   	int3
5528c7:	cc                   	int3
5528c8:	cc                   	int3
5528c9:	cc                   	int3
5528ca:	cc                   	int3
5528cb:	cc                   	int3
5528cc:	cc                   	int3
5528cd:	cc                   	int3
5528ce:	cc                   	int3
5528cf:	cc                   	int3
5528d0:	b8 88 00 00 00       	mov    $0x88,%eax
5528d5:	e8 d6 ee 07 00       	call   0x5d17b0
5528da:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5528df:	33 c4                	xor    %esp,%eax
5528e1:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
5528e8:	8b 84 24 94 00 00 00 	mov    0x94(%esp),%eax
5528ef:	53                   	push   %ebx
5528f0:	55                   	push   %ebp
5528f1:	8b ac 24 98 00 00 00 	mov    0x98(%esp),%ebp
5528f8:	56                   	push   %esi
5528f9:	8b b4 24 98 00 00 00 	mov    0x98(%esp),%esi
552900:	57                   	push   %edi
552901:	33 ff                	xor    %edi,%edi
552903:	89 44 24 4c          	mov    %eax,0x4c(%esp)
552907:	89 74 24 10          	mov    %esi,0x10(%esp)
55290b:	8b 46 08             	mov    0x8(%esi),%eax
55290e:	89 6c 24 14          	mov    %ebp,0x14(%esp)
552912:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
552919:	00
55291a:	89 7c 24 24          	mov    %edi,0x24(%esp)
55291e:	89 44 24 50          	mov    %eax,0x50(%esp)
552922:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
552926:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
55292a:	89 7c 24 30          	mov    %edi,0x30(%esp)
55292e:	e8 8d 8e fb ff       	call   0x50b7c0
552933:	89 44 24 20          	mov    %eax,0x20(%esp)
552937:	85 c0                	test   %eax,%eax
552939:	75 1f                	jne    0x55295a
55293b:	68 ca 00 00 00       	push   $0xca
552940:	68 f0 e8 64 00       	push   $0x64e8f0
552945:	6a 07                	push   $0x7
552947:	6a 79                	push   $0x79
552949:	6a 0e                	push   $0xe
55294b:	e8 30 66 f8 ff       	call   0x4d8f80
552950:	83 c4 14             	add    $0x14,%esp
552953:	8b de                	mov    %esi,%ebx
552955:	e9 08 07 00 00       	jmp    0x553062
55295a:	68 ce 00 00 00       	push   $0xce
55295f:	68 f0 e8 64 00       	push   $0x64e8f0
552964:	68 08 e9 64 00       	push   $0x64e908
552969:	e8 62 f7 f8 ff       	call   0x4e20d0
55296e:	8b d8                	mov    %eax,%ebx
552970:	83 c4 0c             	add    $0xc,%esp
552973:	89 5c 24 24          	mov    %ebx,0x24(%esp)
552977:	89 5c 24 48          	mov    %ebx,0x48(%esp)
55297b:	85 db                	test   %ebx,%ebx
55297d:	75 1f                	jne    0x55299e
55297f:	68 d0 00 00 00       	push   $0xd0
552984:	68 f0 e8 64 00       	push   $0x64e8f0
552989:	6a 41                	push   $0x41
55298b:	6a 79                	push   $0x79
55298d:	6a 0e                	push   $0xe
55298f:	e8 ec 65 f8 ff       	call   0x4d8f80
552994:	83 c4 14             	add    $0x14,%esp
552997:	8b de                	mov    %esi,%ebx
552999:	e9 c4 06 00 00       	jmp    0x553062
55299e:	56                   	push   %esi
55299f:	e8 0c 13 00 00       	call   0x553cb0
5529a4:	83 c4 04             	add    $0x4,%esp
5529a7:	85 c0                	test   %eax,%eax
5529a9:	75 07                	jne    0x5529b2
5529ab:	68 d5 00 00 00       	push   $0xd5
5529b0:	eb d2                	jmp    0x552984
5529b2:	53                   	push   %ebx
5529b3:	56                   	push   %esi
5529b4:	e8 37 13 00 00       	call   0x553cf0
5529b9:	83 c4 08             	add    $0x8,%esp
5529bc:	89 44 24 44          	mov    %eax,0x44(%esp)
5529c0:	85 c0                	test   %eax,%eax
5529c2:	75 1f                	jne    0x5529e3
5529c4:	68 db 00 00 00       	push   $0xdb
5529c9:	68 f0 e8 64 00       	push   $0x64e8f0
5529ce:	6a 67                	push   $0x67
5529d0:	6a 79                	push   $0x79
5529d2:	6a 0e                	push   $0xe
5529d4:	e8 a7 65 f8 ff       	call   0x4d8f80
5529d9:	83 c4 14             	add    $0x14,%esp
5529dc:	8b de                	mov    %esi,%ebx
5529de:	e9 7f 06 00 00       	jmp    0x553062
5529e3:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5529e7:	33 ff                	xor    %edi,%edi
5529e9:	68 00 02 00 00       	push   $0x200
5529ee:	53                   	push   %ebx
5529ef:	89 7c 24 30          	mov    %edi,0x30(%esp)
5529f3:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
5529f7:	e8 e4 8b fb ff       	call   0x50b5e0
5529fc:	83 c4 08             	add    $0x8,%esp
5529ff:	85 c0                	test   %eax,%eax
552a01:	0f 84 e8 05 00 00    	je     0x552fef
552a07:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
552a0e:	00 00
552a10:	8b 5b 04             	mov    0x4(%ebx),%ebx
552a13:	03 df                	add    %edi,%ebx
552a15:	68 ff 01 00 00       	push   $0x1ff
552a1a:	53                   	push   %ebx
552a1b:	55                   	push   %ebp
552a1c:	c6 03 00             	movb   $0x0,(%ebx)
552a1f:	e8 7c 63 fa ff       	call   0x4f8da0
552a24:	8b c3                	mov    %ebx,%eax
552a26:	c6 83 ff 01 00 00 00 	movb   $0x0,0x1ff(%ebx)
552a2d:	83 c4 0c             	add    $0xc,%esp
552a30:	8d 50 01             	lea    0x1(%eax),%edx
552a33:	8a 08                	mov    (%eax),%cl
552a35:	40                   	inc    %eax
552a36:	84 c9                	test   %cl,%cl
552a38:	75 f9                	jne    0x552a33
552a3a:	2b c2                	sub    %edx,%eax
552a3c:	8b f8                	mov    %eax,%edi
552a3e:	0f 85 a4 00 00 00    	jne    0x552ae8
552a44:	0f 1f 40 00          	nopl   0x0(%eax)
552a48:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
552a4f:	00
552a50:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
552a55:	8b f5                	mov    %ebp,%esi
552a57:	0f 85 87 00 00 00    	jne    0x552ae4
552a5d:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
552a62:	74 33                	je     0x552a97
552a64:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
552a68:	8d 44 24 30          	lea    0x30(%esp),%eax
552a6c:	50                   	push   %eax
552a6d:	57                   	push   %edi
552a6e:	e8 ed 09 00 00       	call   0x553460
552a73:	8b e8                	mov    %eax,%ebp
552a75:	83 c4 08             	add    $0x8,%esp
552a78:	89 6c 24 14          	mov    %ebp,0x14(%esp)
552a7c:	85 ed                	test   %ebp,%ebp
552a7e:	75 32                	jne    0x552ab2
552a80:	68 fa 00 00 00       	push   $0xfa
552a85:	68 f0 e8 64 00       	push   $0x64e8f0
552a8a:	57                   	push   %edi
552a8b:	e8 f0 dc f8 ff       	call   0x4e0780
552a90:	83 c4 0c             	add    $0xc,%esp
552a93:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
552a97:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
552a9b:	57                   	push   %edi
552a9c:	e8 2f 26 f9 ff       	call   0x4e50d0
552aa1:	8b e8                	mov    %eax,%ebp
552aa3:	89 44 24 18          	mov    %eax,0x18(%esp)
552aa7:	83 c4 04             	add    $0x4,%esp
552aaa:	85 ed                	test   %ebp,%ebp
552aac:	0f 84 5d 05 00 00    	je     0x55300f
552ab2:	56                   	push   %esi
552ab3:	e8 f8 69 fa ff       	call   0x4f94b0
552ab8:	68 ff 01 00 00       	push   $0x1ff
552abd:	53                   	push   %ebx
552abe:	55                   	push   %ebp
552abf:	e8 dc 62 fa ff       	call   0x4f8da0
552ac4:	8b c3                	mov    %ebx,%eax
552ac6:	c6 83 ff 01 00 00 00 	movb   $0x0,0x1ff(%ebx)
552acd:	83 c4 10             	add    $0x10,%esp
552ad0:	8d 50 01             	lea    0x1(%eax),%edx
552ad3:	8a 08                	mov    (%eax),%cl
552ad5:	40                   	inc    %eax
552ad6:	84 c9                	test   %cl,%cl
552ad8:	75 f9                	jne    0x552ad3
552ada:	2b c2                	sub    %edx,%eax
552adc:	8b f8                	mov    %eax,%edi
552ade:	0f 84 6c ff ff ff    	je     0x552a50
552ae4:	8b 74 24 10          	mov    0x10(%esp),%esi
552ae8:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%esp)
552aef:	00
552af0:	85 c0                	test   %eax,%eax
552af2:	7e 1e                	jle    0x552b12
552af4:	8d 4b ff             	lea    -0x1(%ebx),%ecx
552af7:	03 c8                	add    %eax,%ecx
552af9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
552b00:	8a 11                	mov    (%ecx),%dl
552b02:	80 fa 0d             	cmp    $0xd,%dl
552b05:	74 05                	je     0x552b0c
552b07:	80 fa 0a             	cmp    $0xa,%dl
552b0a:	75 06                	jne    0x552b12
552b0c:	48                   	dec    %eax
552b0d:	49                   	dec    %ecx
552b0e:	85 c0                	test   %eax,%eax
552b10:	7f ee                	jg     0x552b00
552b12:	85 ff                	test   %edi,%edi
552b14:	74 0f                	je     0x552b25
552b16:	3b c7                	cmp    %edi,%eax
552b18:	75 0b                	jne    0x552b25
552b1a:	bf 01 00 00 00       	mov    $0x1,%edi
552b1f:	89 7c 24 34          	mov    %edi,0x34(%esp)
552b23:	eb 0c                	jmp    0x552b31
552b25:	ff 44 24 38          	incl   0x38(%esp)
552b29:	8b 7c 24 34          	mov    0x34(%esp),%edi
552b2d:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
552b31:	8b 4c 24 28          	mov    0x28(%esp),%ecx
552b35:	8b 5c 24 20          	mov    0x20(%esp),%ebx
552b39:	03 c8                	add    %eax,%ecx
552b3b:	33 c0                	xor    %eax,%eax
552b3d:	89 4c 24 28          	mov    %ecx,0x28(%esp)
552b41:	89 44 24 18          	mov    %eax,0x18(%esp)
552b45:	83 f9 01             	cmp    $0x1,%ecx
552b48:	7c 47                	jl     0x552b91
552b4a:	8b 53 04             	mov    0x4(%ebx),%edx
552b4d:	03 d1                	add    %ecx,%edx
552b4f:	8a 42 ff             	mov    -0x1(%edx),%al
552b52:	3c 7f                	cmp    $0x7f,%al
552b54:	77 3b                	ja     0x552b91
552b56:	8b 4e 04             	mov    0x4(%esi),%ecx
552b59:	0f b6 c0             	movzbl %al,%eax
552b5c:	f6 04 41 20          	testb  $0x20,(%ecx,%eax,2)
552b60:	74 2f                	je     0x552b91
552b62:	8b 5c 24 28          	mov    0x28(%esp),%ebx
552b66:	83 fb 01             	cmp    $0x1,%ebx
552b69:	7e 10                	jle    0x552b7b
552b6b:	8a 42 fe             	mov    -0x2(%edx),%al
552b6e:	3c 7f                	cmp    $0x7f,%al
552b70:	77 09                	ja     0x552b7b
552b72:	0f b6 c0             	movzbl %al,%eax
552b75:	f6 04 41 20          	testb  $0x20,(%ecx,%eax,2)
552b79:	75 12                	jne    0x552b8d
552b7b:	4b                   	dec    %ebx
552b7c:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
552b83:	00
552b84:	89 5c 24 28          	mov    %ebx,0x28(%esp)
552b88:	e9 42 04 00 00       	jmp    0x552fcf
552b8d:	8b 5c 24 20          	mov    0x20(%esp),%ebx
552b91:	85 ff                	test   %edi,%edi
552b93:	0f 85 36 04 00 00    	jne    0x552fcf
552b99:	89 7c 24 28          	mov    %edi,0x28(%esp)
552b9d:	8b 7b 04             	mov    0x4(%ebx),%edi
552ba0:	57                   	push   %edi
552ba1:	56                   	push   %esi
552ba2:	e8 d9 06 00 00       	call   0x553280
552ba7:	83 c4 08             	add    $0x8,%esp
552baa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
552bb0:	8a 17                	mov    (%edi),%dl
552bb2:	80 fa 7f             	cmp    $0x7f,%dl
552bb5:	77 25                	ja     0x552bdc
552bb7:	8b 46 04             	mov    0x4(%esi),%eax
552bba:	0f b6 ca             	movzbl %dl,%ecx
552bbd:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
552bc1:	a8 10                	test   $0x10,%al
552bc3:	74 07                	je     0x552bcc
552bc5:	a8 08                	test   $0x8,%al
552bc7:	75 03                	jne    0x552bcc
552bc9:	47                   	inc    %edi
552bca:	eb e4                	jmp    0x552bb0
552bcc:	8b 46 04             	mov    0x4(%esi),%eax
552bcf:	0f b6 ca             	movzbl %dl,%ecx
552bd2:	f6 04 48 08          	testb  $0x8,(%eax,%ecx,2)
552bd6:	0f 85 f3 03 00 00    	jne    0x552fcf
552bdc:	80 fa 5b             	cmp    $0x5b,%dl
552bdf:	0f 85 e9 00 00 00    	jne    0x552cce
552be5:	8a 47 01             	mov    0x1(%edi),%al
552be8:	47                   	inc    %edi
552be9:	3c 7f                	cmp    $0x7f,%al