556fb4:	81 63 08 ff ef ff ff 	andl   $0xffffefff,0x8(%ebx)
556fbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
556fbe:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
556fc4:	23 c2                	and    %edx,%eax
556fc6:	a8 20                	test   $0x20,%al
556fc8:	0f 84 94 00 00 00    	je     0x557062
556fce:	8b 4d 08             	mov    0x8(%ebp),%ecx
556fd1:	41                   	inc    %ecx
556fd2:	74 42                	je     0x557016
556fd4:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
556fda:	85 c0                	test   %eax,%eax
556fdc:	0f 84 80 00 00 00    	je     0x557062
556fe2:	8b 7d 08             	mov    0x8(%ebp),%edi
556fe5:	c1 e7 04             	shl    $0x4,%edi
556fe8:	8b 14 38             	mov    (%eax,%edi,1),%edx
556feb:	8b c6                	mov    %esi,%eax
556fed:	e8 76 ab ff ff       	call   0x551b68
556ff2:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
556ff8:	8b c6                	mov    %esi,%eax
556ffa:	8b 54 39 08          	mov    0x8(%ecx,%edi,1),%edx
556ffe:	e8 65 ab ff ff       	call   0x551b68
557003:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
557009:	33 d2                	xor    %edx,%edx
55700b:	89 14 38             	mov    %edx,(%eax,%edi,1)
55700e:	33 c9                	xor    %ecx,%ecx
557010:	89 4c 38 08          	mov    %ecx,0x8(%eax,%edi,1)
557014:	eb 4c                	jmp    0x557062
557016:	8b 83 d8 00 00 00    	mov    0xd8(%ebx),%eax
55701c:	85 c0                	test   %eax,%eax
55701e:	74 3b                	je     0x55705b
557020:	33 ff                	xor    %edi,%edi
557022:	eb 10                	jmp    0x557034
557024:	57                   	push   %edi
557025:	b9 20 00 00 00       	mov    $0x20,%ecx
55702a:	8b d3                	mov    %ebx,%edx
55702c:	8b c6                	mov    %esi,%eax
55702e:	e8 ed fd ff ff       	call   0x556e20
557033:	47                   	inc    %edi
557034:	8b 83 d8 00 00 00    	mov    0xd8(%ebx),%eax
55703a:	3b f8                	cmp    %eax,%edi
55703c:	7c e6                	jl     0x557024
55703e:	8b 93 d4 00 00 00    	mov    0xd4(%ebx),%edx
557044:	8b c6                	mov    %esi,%eax
557046:	e8 1d ab ff ff       	call   0x551b68
55704b:	33 d2                	xor    %edx,%edx
55704d:	33 c9                	xor    %ecx,%ecx
55704f:	89 93 d4 00 00 00    	mov    %edx,0xd4(%ebx)
557055:	89 8b d8 00 00 00    	mov    %ecx,0xd8(%ebx)
55705b:	81 63 08 ff df ff ff 	andl   $0xffffdfff,0x8(%ebx)
557062:	8b 45 fc             	mov    -0x4(%ebp),%eax
557065:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
55706b:	23 c2                	and    %edx,%eax
55706d:	f6 c4 02             	test   $0x2,%ah
557070:	74 74                	je     0x5570e6
557072:	8b 4d 08             	mov    0x8(%ebp),%ecx
557075:	41                   	inc    %ecx
557076:	74 29                	je     0x5570a1
557078:	8b 83 bc 00 00 00    	mov    0xbc(%ebx),%eax
55707e:	85 c0                	test   %eax,%eax
557080:	74 64                	je     0x5570e6
557082:	8b 7d 08             	mov    0x8(%ebp),%edi
557085:	8d 3c bf             	lea    (%edi,%edi,4),%edi
557088:	8b 54 b8 08          	mov    0x8(%eax,%edi,4),%edx
55708c:	8b c6                	mov    %esi,%eax
55708e:	e8 d5 aa ff ff       	call   0x551b68
557093:	8b 8b bc 00 00 00    	mov    0xbc(%ebx),%ecx
557099:	33 c0                	xor    %eax,%eax
55709b:	89 44 b9 08          	mov    %eax,0x8(%ecx,%edi,4)
55709f:	eb 45                	jmp    0x5570e6
5570a1:	8b 93 c0 00 00 00    	mov    0xc0(%ebx),%edx
5570a7:	85 d2                	test   %edx,%edx
5570a9:	74 3b                	je     0x5570e6
5570ab:	33 ff                	xor    %edi,%edi
5570ad:	eb 10                	jmp    0x5570bf
5570af:	57                   	push   %edi
5570b0:	b9 00 02 00 00       	mov    $0x200,%ecx
5570b5:	8b d3                	mov    %ebx,%edx
5570b7:	8b c6                	mov    %esi,%eax
5570b9:	e8 62 fd ff ff       	call   0x556e20
5570be:	47                   	inc    %edi
5570bf:	8b 83 c0 00 00 00    	mov    0xc0(%ebx),%eax
5570c5:	3b f8                	cmp    %eax,%edi
5570c7:	7c e6                	jl     0x5570af
5570c9:	8b 93 bc 00 00 00    	mov    0xbc(%ebx),%edx
5570cf:	8b c6                	mov    %esi,%eax
5570d1:	e8 92 aa ff ff       	call   0x551b68
5570d6:	33 d2                	xor    %edx,%edx
5570d8:	33 c9                	xor    %ecx,%ecx
5570da:	89 93 bc 00 00 00    	mov    %edx,0xbc(%ebx)
5570e0:	89 8b c0 00 00 00    	mov    %ecx,0xc0(%ebx)
5570e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5570e9:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
5570ef:	23 c2                	and    %edx,%eax
5570f1:	a8 08                	test   $0x8,%al
5570f3:	74 13                	je     0x557108
5570f5:	8b 53 7c             	mov    0x7c(%ebx),%edx
5570f8:	8b c6                	mov    %esi,%eax
5570fa:	e8 69 aa ff ff       	call   0x551b68
5570ff:	33 c9                	xor    %ecx,%ecx
557101:	89 4b 7c             	mov    %ecx,0x7c(%ebx)
557104:	83 63 08 bf          	andl   $0xffffffbf,0x8(%ebx)
557108:	8b 45 fc             	mov    -0x4(%ebp),%eax
55710b:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
557111:	23 c2                	and    %edx,%eax
557113:	f6 c4 10             	test   $0x10,%ah
557116:	74 19                	je     0x557131
557118:	8b 53 10             	mov    0x10(%ebx),%edx
55711b:	8b c6                	mov    %esi,%eax
55711d:	e8 96 fb ff ff       	call   0x556cb8
557122:	33 c9                	xor    %ecx,%ecx
557124:	89 4b 10             	mov    %ecx,0x10(%ebx)
557127:	83 63 08 f7          	andl   $0xfffffff7,0x8(%ebx)
55712b:	66 c7 43 14 00 00    	movw   $0x0,0x14(%ebx)
557131:	8b 45 fc             	mov    -0x4(%ebp),%eax
557134:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
55713a:	23 c2                	and    %edx,%eax
55713c:	a8 40                	test   $0x40,%al
55713e:	74 4d                	je     0x55718d
557140:	8b 8b f8 00 00 00    	mov    0xf8(%ebx),%ecx
557146:	85 c9                	test   %ecx,%ecx
557148:	74 3c                	je     0x557186
55714a:	33 ff                	xor    %edi,%edi
55714c:	eb 1c                	jmp    0x55716a
55714e:	8b 83 f8 00 00 00    	mov    0xf8(%ebx),%eax
557154:	8b 14 b8             	mov    (%eax,%edi,4),%edx
557157:	8b c6                	mov    %esi,%eax
557159:	e8 0a aa ff ff       	call   0x551b68
55715e:	8b 93 f8 00 00 00    	mov    0xf8(%ebx),%edx
557164:	33 c9                	xor    %ecx,%ecx
557166:	89 0c ba             	mov    %ecx,(%edx,%edi,4)
557169:	47                   	inc    %edi
55716a:	8b 43 04             	mov    0x4(%ebx),%eax
55716d:	3b f8                	cmp    %eax,%edi
55716f:	7c dd                	jl     0x55714e
557171:	8b 93 f8 00 00 00    	mov    0xf8(%ebx),%edx
557177:	8b c6                	mov    %esi,%eax
557179:	e8 ea a9 ff ff       	call   0x551b68
55717e:	33 d2                	xor    %edx,%edx
557180:	89 93 f8 00 00 00    	mov    %edx,0xf8(%ebx)
557186:	81 63 08 ff 7f ff ff 	andl   $0xffff7fff,0x8(%ebx)
55718d:	8b 4d 08             	mov    0x8(%ebp),%ecx
557190:	41                   	inc    %ecx
557191:	75 0d                	jne    0x5571a0
557193:	8b 45 fc             	mov    -0x4(%ebp),%eax
557196:	f7 d0                	not    %eax
557198:	21 83 b8 00 00 00    	and    %eax,0xb8(%ebx)
55719e:	eb 11                	jmp    0x5571b1
5571a0:	8b 55 fc             	mov    -0x4(%ebp),%edx
5571a3:	81 e2 df bd ff ff    	and    $0xffffbddf,%edx
5571a9:	f7 d2                	not    %edx
5571ab:	21 93 b8 00 00 00    	and    %edx,0xb8(%ebx)
5571b1:	5f                   	pop    %edi
5571b2:	5e                   	pop    %esi
5571b3:	5b                   	pop    %ebx
5571b4:	59                   	pop    %ecx
5571b5:	5d                   	pop    %ebp
5571b6:	c2 04 00             	ret    $0x4
5571b9:	90                   	nop
5571ba:	90                   	nop
5571bb:	90                   	nop
5571bc:	53                   	push   %ebx
5571bd:	51                   	push   %ecx
5571be:	89 14 24             	mov    %edx,(%esp)
5571c1:	8b d8                	mov    %eax,%ebx
5571c3:	6a ff                	push   $0xffffffff
5571c5:	b9 ff 7f 00 00       	mov    $0x7fff,%ecx
5571ca:	8b 54 24 04          	mov    0x4(%esp),%edx
5571ce:	8b c3                	mov    %ebx,%eax
5571d0:	e8 4b fc ff ff       	call   0x556e20
5571d5:	8b 83 dc 01 00 00    	mov    0x1dc(%ebx),%eax
5571db:	85 c0                	test   %eax,%eax
5571dd:	74 1d                	je     0x5571fc
5571df:	8b 93 e0 01 00 00    	mov    0x1e0(%ebx),%edx
5571e5:	8b c3                	mov    %ebx,%eax
5571e7:	e8 7c a9 ff ff       	call   0x551b68
5571ec:	33 d2                	xor    %edx,%edx
5571ee:	33 c9                	xor    %ecx,%ecx
5571f0:	89 93 e0 01 00 00    	mov    %edx,0x1e0(%ebx)
5571f6:	89 8b dc 01 00 00    	mov    %ecx,0x1dc(%ebx)
5571fc:	8b c4                	mov    %esp,%eax
5571fe:	ba 20 01 00 00       	mov    $0x120,%edx
557203:	e8 ac fb ff ff       	call   0x556db4
557208:	5a                   	pop    %edx
557209:	5b                   	pop    %ebx
55720a:	c3                   	ret
55720b:	90                   	nop
55720c:	8b 40 14             	mov    0x14(%eax),%eax
55720f:	c3                   	ret
557210:	85 c0                	test   %eax,%eax
557212:	75 04                	jne    0x557218
557214:	85 c0                	test   %eax,%eax
557216:	75 06                	jne    0x55721e
557218:	b8 31 d5 69 00       	mov    $0x69d531,%eax
55721d:	c3                   	ret
55721e:	b8 f3 d5 69 00       	mov    $0x69d5f3,%eax
557223:	c3                   	ret
557224:	85 c0                	test   %eax,%eax
557226:	74 06                	je     0x55722e
557228:	b8 f4 d5 69 00       	mov    $0x69d5f4,%eax
55722d:	c3                   	ret
55722e:	b8 fa d5 69 00       	mov    $0x69d5fa,%eax
557233:	c3                   	ret
557234:	85 c0                	test   %eax,%eax
557236:	74 06                	je     0x55723e
557238:	b8 00 d6 69 00       	mov    $0x69d600,%eax
55723d:	c3                   	ret
55723e:	b8 06 d6 69 00       	mov    $0x69d606,%eax
557243:	c3                   	ret
557244:	85 c0                	test   %eax,%eax
557246:	74 06                	je     0x55724e
557248:	b8 0c d6 69 00       	mov    $0x69d60c,%eax
55724d:	c3                   	ret
55724e:	b8 3e d6 69 00       	mov    $0x69d63e,%eax
557253:	c3                   	ret
557254:	53                   	push   %ebx
557255:	56                   	push   %esi
557256:	57                   	push   %edi
557257:	8b fa                	mov    %edx,%edi
557259:	85 c0                	test   %eax,%eax
55725b:	75 04                	jne    0x557261
55725d:	85 ff                	test   %edi,%edi
55725f:	74 0a                	je     0x55726b
557261:	8b 90 dc 01 00 00    	mov    0x1dc(%eax),%edx
557267:	85 d2                	test   %edx,%edx
557269:	7f 04                	jg     0x55726f
55726b:	33 c0                	xor    %eax,%eax
55726d:	eb 3b                	jmp    0x5572aa
55726f:	8b 98 e0 01 00 00    	mov    0x1e0(%eax),%ebx
557275:	8b 90 dc 01 00 00    	mov    0x1dc(%eax),%edx
55727b:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
55727e:	03 d9                	add    %ecx,%ebx
557280:	83 c3 fb             	add    $0xfffffffb,%ebx
557283:	8b f2                	mov    %edx,%esi
557285:	85 f6                	test   %esi,%esi
557287:	74 1f                	je     0x5572a8
557289:	6a 04                	push   $0x4
55728b:	53                   	push   %ebx
55728c:	57                   	push   %edi
55728d:	e8 aa f0 fc ff       	call   0x52633c
557292:	83 c4 0c             	add    $0xc,%esp
557295:	85 c0                	test   %eax,%eax
557297:	75 07                	jne    0x5572a0
557299:	33 c0                	xor    %eax,%eax
55729b:	8a 43 04             	mov    0x4(%ebx),%al
55729e:	eb 0a                	jmp    0x5572aa
5572a0:	4e                   	dec    %esi
5572a1:	83 eb 05             	sub    $0x5,%ebx
5572a4:	85 f6                	test   %esi,%esi
5572a6:	75 e1                	jne    0x557289
5572a8:	33 c0                	xor    %eax,%eax
5572aa:	5f                   	pop    %edi
5572ab:	5e                   	pop    %esi
5572ac:	5b                   	pop    %ebx
5572ad:	c3                   	ret
5572ae:	90                   	nop
5572af:	90                   	nop
5572b0:	83 c0 34             	add    $0x34,%eax
5572b3:	e8 cc 0a fd ff       	call   0x527d84
5572b8:	c3                   	ret
5572b9:	90                   	nop
5572ba:	90                   	nop
5572bb:	90                   	nop
5572bc:	b8 dd 27 00 00       	mov    $0x27dd,%eax
5572c1:	c3                   	ret
5572c2:	90                   	nop
5572c3:	90                   	nop
5572c4:	33 d2                	xor    %edx,%edx
5572c6:	89 90 f8 01 00 00    	mov    %edx,0x1f8(%eax)
5572cc:	c6 80 f5 01 00 00 00 	movb   $0x0,0x1f5(%eax)
5572d3:	81 a0 fc 01 00 00 00 	andl   $0xffffff00,0x1fc(%eax)
5572da:	ff ff ff
5572dd:	c3                   	ret
5572de:	90                   	nop
5572df:	90                   	nop
5572e0:	83 c8 ff             	or     $0xffffffff,%eax
5572e3:	c3                   	ret
5572e4:	55                   	push   %ebp
5572e5:	8b ec                	mov    %esp,%ebp
5572e7:	33 c0                	xor    %eax,%eax
5572e9:	55                   	push   %ebp
5572ea:	68 09 73 55 00       	push   $0x557309
5572ef:	64 ff 30             	push   %fs:(%eax)
5572f2:	64 89 20             	mov    %esp,%fs:(%eax)
5572f5:	ff 05 fc b3 6a 00    	incl   0x6ab3fc
5572fb:	33 c0                	xor    %eax,%eax
5572fd:	5a                   	pop    %edx
5572fe:	59                   	pop    %ecx
5572ff:	59                   	pop    %ecx
557300:	64 89 10             	mov    %edx,%fs:(%eax)
557303:	68 10 73 55 00       	push   $0x557310
557308:	c3                   	ret
557309:	e9 fe ce ea ff       	jmp    0x40420c
55730e:	eb f8                	jmp    0x557308
557310:	5d                   	pop    %ebp
557311:	c3                   	ret
557312:	8b c0                	mov    %eax,%eax
557314:	83 2d fc b3 6a 00 01 	subl   $0x1,0x6ab3fc
55731b:	c3                   	ret
55731c:	53                   	push   %ebx
55731d:	56                   	push   %esi
55731e:	57                   	push   %edi
55731f:	83 c4 dc             	add    $0xffffffdc,%esp
557322:	8b f0                	mov    %eax,%esi
557324:	8b c6                	mov    %esi,%eax
557326:	e8 8d 73 ec ff       	call   0x41e6b8
55732b:	89 44 24 08          	mov    %eax,0x8(%esp)
55732f:	89 54 24 0c          	mov    %edx,0xc(%esp)
557333:	8d 54 24 10          	lea    0x10(%esp),%edx
557337:	b9 12 00 00 00       	mov    $0x12,%ecx
55733c:	8b c6                	mov    %esi,%eax
55733e:	8b 18                	mov    (%eax),%ebx
557340:	ff 53 08             	call   *0x8(%ebx)
557343:	8a 44 24 12          	mov    0x12(%esp),%al
557347:	48                   	dec    %eax
557348:	2c 03                	sub    $0x3,%al
55734a:	72 0a                	jb     0x557356
55734c:	04 fb                	add    $0xfb,%al
55734e:	2c 03                	sub    $0x3,%al
557350:	0f 83 9b 00 00 00    	jae    0x5573f1
557356:	8a 44 24 20          	mov    0x20(%esp),%al
55735a:	3c 27                	cmp    $0x27,%al
55735c:	77 0a                	ja     0x557368
55735e:	83 e0 7f             	and    $0x7f,%eax
557361:	0f a3 05 0c 74 55 00 	bt     %eax,0x55740c
557368:	0f 83 83 00 00 00    	jae    0x5573f1
55736e:	80 7c 24 11 02       	cmpb   $0x2,0x11(%esp)
557373:	73 7c                	jae    0x5573f1
557375:	66 83 7c 24 1c 00    	cmpw   $0x0,0x1c(%esp)
55737b:	76 74                	jbe    0x5573f1
55737d:	66 83 7c 24 1e 00    	cmpw   $0x0,0x1e(%esp)
557383:	76 6c                	jbe    0x5573f1
557385:	b3 01                	mov    $0x1,%bl
557387:	ff 74 24 0c          	push   0xc(%esp)
55738b:	ff 74 24 0c          	push   0xc(%esp)
55738f:	8b c6                	mov    %esi,%eax
557391:	e8 42 73 ec ff       	call   0x41e6d8
557396:	8b d4                	mov    %esp,%edx
557398:	b9 01 00 00 00       	mov    $0x1,%ecx
55739d:	8b c6                	mov    %esi,%eax
55739f:	8b 38                	mov    (%eax),%edi
5573a1:	ff 57 08             	call   *0x8(%edi)
5573a4:	80 3c 24 50          	cmpb   $0x50,(%esp)
5573a8:	75 49                	jne    0x5573f3
5573aa:	8d 54 24 01          	lea    0x1(%esp),%edx
5573ae:	b9 01 00 00 00       	mov    $0x1,%ecx
5573b3:	8b c6                	mov    %esi,%eax
5573b5:	8b 38                	mov    (%eax),%edi
5573b7:	ff 57 08             	call   *0x8(%edi)
5573ba:	33 c0                	xor    %eax,%eax
5573bc:	8a 44 24 01          	mov    0x1(%esp),%al