57405f:	74 05                	je     0x574066
574061:	83 c8 ff             	or     $0xffffffff,%eax
574064:	eb 0d                	jmp    0x574073
574066:	46                   	inc    %esi
574067:	83 c3 04             	add    $0x4,%ebx
57406a:	8b 57 08             	mov    0x8(%edi),%edx
57406d:	3b d6                	cmp    %esi,%edx
57406f:	77 e3                	ja     0x574054
574071:	33 c0                	xor    %eax,%eax
574073:	5d                   	pop    %ebp
574074:	5f                   	pop    %edi
574075:	5e                   	pop    %esi
574076:	5b                   	pop    %ebx
574077:	c3                   	ret
574078:	53                   	push   %ebx
574079:	8d 58 10             	lea    0x10(%eax),%ebx
57407c:	56                   	push   %esi
57407d:	8b f2                	mov    %edx,%esi
57407f:	8b 53 04             	mov    0x4(%ebx),%edx
574082:	8b c6                	mov    %esi,%eax
574084:	e8 2f 05 00 00       	call   0x5745b8
574089:	85 c0                	test   %eax,%eax
57408b:	75 54                	jne    0x5740e1
57408d:	8b 13                	mov    (%ebx),%edx
57408f:	8b c6                	mov    %esi,%eax
574091:	e8 22 05 00 00       	call   0x5745b8
574096:	85 c0                	test   %eax,%eax
574098:	75 47                	jne    0x5740e1
57409a:	66 8b 53 08          	mov    0x8(%ebx),%dx
57409e:	8b c6                	mov    %esi,%eax
5740a0:	e8 4b 04 00 00       	call   0x5744f0
5740a5:	85 c0                	test   %eax,%eax
5740a7:	75 38                	jne    0x5740e1
5740a9:	8a 53 0a             	mov    0xa(%ebx),%dl
5740ac:	8b c6                	mov    %esi,%eax
5740ae:	e8 d5 03 00 00       	call   0x574488
5740b3:	85 c0                	test   %eax,%eax
5740b5:	75 2a                	jne    0x5740e1
5740b7:	8a 53 0b             	mov    0xb(%ebx),%dl
5740ba:	8b c6                	mov    %esi,%eax
5740bc:	e8 c7 03 00 00       	call   0x574488
5740c1:	85 c0                	test   %eax,%eax
5740c3:	75 1c                	jne    0x5740e1
5740c5:	8a 53 0c             	mov    0xc(%ebx),%dl
5740c8:	8b c6                	mov    %esi,%eax
5740ca:	e8 b9 03 00 00       	call   0x574488
5740cf:	85 c0                	test   %eax,%eax
5740d1:	75 0e                	jne    0x5740e1
5740d3:	8a 53 0d             	mov    0xd(%ebx),%dl
5740d6:	8b c6                	mov    %esi,%eax
5740d8:	e8 ab 03 00 00       	call   0x574488
5740dd:	85 c0                	test   %eax,%eax
5740df:	74 06                	je     0x5740e7
5740e1:	83 c8 ff             	or     $0xffffffff,%eax
5740e4:	5e                   	pop    %esi
5740e5:	5b                   	pop    %ebx
5740e6:	c3                   	ret
5740e7:	33 c0                	xor    %eax,%eax
5740e9:	5e                   	pop    %esi
5740ea:	5b                   	pop    %ebx
5740eb:	c3                   	ret
5740ec:	53                   	push   %ebx
5740ed:	56                   	push   %esi
5740ee:	57                   	push   %edi
5740ef:	8b fa                	mov    %edx,%edi
5740f1:	8d 70 10             	lea    0x10(%eax),%esi
5740f4:	33 db                	xor    %ebx,%ebx
5740f6:	eb 17                	jmp    0x57410f
5740f8:	8b 46 04             	mov    0x4(%esi),%eax
5740fb:	8a 14 18             	mov    (%eax,%ebx,1),%dl
5740fe:	8b c7                	mov    %edi,%eax
574100:	e8 83 03 00 00       	call   0x574488
574105:	85 c0                	test   %eax,%eax
574107:	74 05                	je     0x57410e
574109:	83 c8 ff             	or     $0xffffffff,%eax
57410c:	eb 0a                	jmp    0x574118
57410e:	43                   	inc    %ebx
57410f:	0f b7 16             	movzwl (%esi),%edx
574112:	3b da                	cmp    %edx,%ebx
574114:	7c e2                	jl     0x5740f8
574116:	33 c0                	xor    %eax,%eax
574118:	5f                   	pop    %edi
574119:	5e                   	pop    %esi
57411a:	5b                   	pop    %ebx
57411b:	c3                   	ret
57411c:	53                   	push   %ebx
57411d:	8d 58 10             	lea    0x10(%eax),%ebx
574120:	56                   	push   %esi
574121:	8b f2                	mov    %edx,%esi
574123:	8a 13                	mov    (%ebx),%dl
574125:	8b c6                	mov    %esi,%eax
574127:	e8 5c 03 00 00       	call   0x574488
57412c:	85 c0                	test   %eax,%eax
57412e:	75 1c                	jne    0x57414c
574130:	8a 53 01             	mov    0x1(%ebx),%dl
574133:	8b c6                	mov    %esi,%eax
574135:	e8 4e 03 00 00       	call   0x574488
57413a:	85 c0                	test   %eax,%eax
57413c:	75 0e                	jne    0x57414c
57413e:	8a 53 02             	mov    0x2(%ebx),%dl
574141:	8b c6                	mov    %esi,%eax
574143:	e8 40 03 00 00       	call   0x574488
574148:	85 c0                	test   %eax,%eax
57414a:	74 06                	je     0x574152
57414c:	83 c8 ff             	or     $0xffffffff,%eax
57414f:	5e                   	pop    %esi
574150:	5b                   	pop    %ebx
574151:	c3                   	ret
574152:	8a 13                	mov    (%ebx),%dl
574154:	fe ca                	dec    %dl
574156:	74 06                	je     0x57415e
574158:	fe ca                	dec    %dl
57415a:	74 16                	je     0x574172
57415c:	eb 19                	jmp    0x574177
57415e:	8b 53 04             	mov    0x4(%ebx),%edx
574161:	8b c6                	mov    %esi,%eax
574163:	e8 50 04 00 00       	call   0x5745b8
574168:	85 c0                	test   %eax,%eax
57416a:	74 0b                	je     0x574177
57416c:	83 c8 ff             	or     $0xffffffff,%eax
57416f:	5e                   	pop    %esi
574170:	5b                   	pop    %ebx
574171:	c3                   	ret
574172:	e8 d1 69 fe ff       	call   0x55ab48
574177:	33 c0                	xor    %eax,%eax
574179:	5e                   	pop    %esi
57417a:	5b                   	pop    %ebx
57417b:	c3                   	ret
57417c:	53                   	push   %ebx
57417d:	56                   	push   %esi
57417e:	57                   	push   %edi
57417f:	55                   	push   %ebp
574180:	8d 68 10             	lea    0x10(%eax),%ebp
574183:	8b fa                	mov    %edx,%edi
574185:	8b c7                	mov    %edi,%eax
574187:	66 8b 55 00          	mov    0x0(%ebp),%dx
57418b:	e8 60 03 00 00       	call   0x5744f0
574190:	85 c0                	test   %eax,%eax
574192:	74 05                	je     0x574199
574194:	83 c8 ff             	or     $0xffffffff,%eax
574197:	eb 4c                	jmp    0x5741e5
574199:	33 f6                	xor    %esi,%esi
57419b:	eb 3e                	jmp    0x5741db
57419d:	8b c6                	mov    %esi,%eax
57419f:	8b 5d 04             	mov    0x4(%ebp),%ebx
5741a2:	03 c0                	add    %eax,%eax
5741a4:	8d 04 40             	lea    (%eax,%eax,2),%eax
5741a7:	03 d8                	add    %eax,%ebx
5741a9:	8b c7                	mov    %edi,%eax
5741ab:	66 8b 13             	mov    (%ebx),%dx
5741ae:	e8 3d 03 00 00       	call   0x5744f0
5741b3:	85 c0                	test   %eax,%eax
5741b5:	75 1e                	jne    0x5741d5
5741b7:	66 8b 53 02          	mov    0x2(%ebx),%dx
5741bb:	8b c7                	mov    %edi,%eax
5741bd:	e8 2e 03 00 00       	call   0x5744f0
5741c2:	85 c0                	test   %eax,%eax
5741c4:	75 0f                	jne    0x5741d5
5741c6:	66 8b 53 04          	mov    0x4(%ebx),%dx
5741ca:	8b c7                	mov    %edi,%eax
5741cc:	e8 1f 03 00 00       	call   0x5744f0
5741d1:	85 c0                	test   %eax,%eax
5741d3:	74 05                	je     0x5741da
5741d5:	83 c8 ff             	or     $0xffffffff,%eax
5741d8:	eb 0b                	jmp    0x5741e5
5741da:	46                   	inc    %esi
5741db:	0f b7 55 00          	movzwl 0x0(%ebp),%edx
5741df:	3b f2                	cmp    %edx,%esi
5741e1:	7c ba                	jl     0x57419d
5741e3:	33 c0                	xor    %eax,%eax
5741e5:	5d                   	pop    %ebp
5741e6:	5f                   	pop    %edi
5741e7:	5e                   	pop    %esi
5741e8:	5b                   	pop    %ebx
5741e9:	c3                   	ret
5741ea:	90                   	nop
5741eb:	90                   	nop
5741ec:	53                   	push   %ebx
5741ed:	8b d8                	mov    %eax,%ebx
5741ef:	56                   	push   %esi
5741f0:	57                   	push   %edi
5741f1:	55                   	push   %ebp
5741f2:	8b fa                	mov    %edx,%edi
5741f4:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5741f8:	75 3a                	jne    0x574234
5741fa:	8b 73 40             	mov    0x40(%ebx),%esi
5741fd:	85 f6                	test   %esi,%esi
5741ff:	7c 10                	jl     0x574211
574201:	8b 43 3c             	mov    0x3c(%ebx),%eax
574204:	3b f0                	cmp    %eax,%esi
574206:	7f 09                	jg     0x574211
574208:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57420c:	83 cd ff             	or     $0xffffffff,%ebp
57420f:	eb 26                	jmp    0x574237
574211:	ff 4b 1c             	decl   0x1c(%ebx)
574214:	79 10                	jns    0x574226
574216:	ba 01 00 00 00       	mov    $0x1,%edx
57421b:	8b c3                	mov    %ebx,%eax
57421d:	e8 06 4b 00 00       	call   0x578d28
574222:	8b e8                	mov    %eax,%ebp
574224:	eb 11                	jmp    0x574237
574226:	ff 43 3c             	incl   0x3c(%ebx)
574229:	8b 43 18             	mov    0x18(%ebx),%eax
57422c:	ff 43 18             	incl   0x18(%ebx)
57422f:	0f b6 28             	movzbl (%eax),%ebp
574232:	eb 03                	jmp    0x574237
574234:	83 cd ff             	or     $0xffffffff,%ebp
574237:	83 fd ff             	cmp    $0xffffffff,%ebp
57423a:	75 05                	jne    0x574241
57423c:	83 c8 ff             	or     $0xffffffff,%eax
57423f:	eb 0a                	jmp    0x57424b
574241:	85 ff                	test   %edi,%edi
574243:	74 04                	je     0x574249
574245:	8b d5                	mov    %ebp,%edx
574247:	88 17                	mov    %dl,(%edi)
574249:	33 c0                	xor    %eax,%eax
57424b:	5d                   	pop    %ebp
57424c:	5f                   	pop    %edi
57424d:	5e                   	pop    %esi
57424e:	5b                   	pop    %ebx
57424f:	c3                   	ret
574250:	53                   	push   %ebx
574251:	56                   	push   %esi
574252:	57                   	push   %edi
574253:	55                   	push   %ebp
574254:	8b d8                	mov    %eax,%ebx
574256:	51                   	push   %ecx
574257:	89 14 24             	mov    %edx,(%esp)
57425a:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
57425e:	75 3a                	jne    0x57429a
574260:	8b 7b 40             	mov    0x40(%ebx),%edi
574263:	85 ff                	test   %edi,%edi
574265:	7c 10                	jl     0x574277
574267:	8b 43 3c             	mov    0x3c(%ebx),%eax
57426a:	3b f8                	cmp    %eax,%edi
57426c:	7f 09                	jg     0x574277
57426e:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
574272:	83 ce ff             	or     $0xffffffff,%esi
574275:	eb 26                	jmp    0x57429d
574277:	ff 4b 1c             	decl   0x1c(%ebx)
57427a:	79 10                	jns    0x57428c
57427c:	ba 01 00 00 00       	mov    $0x1,%edx
574281:	8b c3                	mov    %ebx,%eax
574283:	e8 a0 4a 00 00       	call   0x578d28
574288:	8b f0                	mov    %eax,%esi
57428a:	eb 11                	jmp    0x57429d
57428c:	ff 43 3c             	incl   0x3c(%ebx)
57428f:	8b 43 18             	mov    0x18(%ebx),%eax
574292:	ff 43 18             	incl   0x18(%ebx)
574295:	0f b6 30             	movzbl (%eax),%esi
574298:	eb 03                	jmp    0x57429d
57429a:	83 ce ff             	or     $0xffffffff,%esi
57429d:	83 fe ff             	cmp    $0xffffffff,%esi
5742a0:	75 05                	jne    0x5742a7
5742a2:	83 c8 ff             	or     $0xffffffff,%eax
5742a5:	eb 64                	jmp    0x57430b
5742a7:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5742ab:	8b fe                	mov    %esi,%edi
5742ad:	75 3a                	jne    0x5742e9
5742af:	8b 6b 40             	mov    0x40(%ebx),%ebp
5742b2:	85 ed                	test   %ebp,%ebp
5742b4:	7c 10                	jl     0x5742c6
5742b6:	8b 43 3c             	mov    0x3c(%ebx),%eax
5742b9:	3b e8                	cmp    %eax,%ebp
5742bb:	7f 09                	jg     0x5742c6
5742bd:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5742c1:	83 ce ff             	or     $0xffffffff,%esi
5742c4:	eb 26                	jmp    0x5742ec
5742c6:	ff 4b 1c             	decl   0x1c(%ebx)
5742c9:	79 10                	jns    0x5742db
5742cb:	ba 01 00 00 00       	mov    $0x1,%edx
5742d0:	8b c3                	mov    %ebx,%eax
5742d2:	e8 51 4a 00 00       	call   0x578d28
5742d7:	8b f0                	mov    %eax,%esi
5742d9:	eb 11                	jmp    0x5742ec
5742db:	ff 43 3c             	incl   0x3c(%ebx)
5742de:	8b 43 18             	mov    0x18(%ebx),%eax
5742e1:	ff 43 18             	incl   0x18(%ebx)
5742e4:	0f b6 30             	movzbl (%eax),%esi
5742e7:	eb 03                	jmp    0x5742ec
5742e9:	83 ce ff             	or     $0xffffffff,%esi
5742ec:	83 fe ff             	cmp    $0xffffffff,%esi
5742ef:	75 05                	jne    0x5742f6
5742f1:	83 c8 ff             	or     $0xffffffff,%eax
5742f4:	eb 15                	jmp    0x57430b
5742f6:	c1 e7 08             	shl    $0x8,%edi
5742f9:	66 0b fe             	or     %si,%di
5742fc:	8b 14 24             	mov    (%esp),%edx
5742ff:	85 d2                	test   %edx,%edx
574301:	74 06                	je     0x574309
574303:	8b 0c 24             	mov    (%esp),%ecx
574306:	66 89 39             	mov    %di,(%ecx)
574309:	33 c0                	xor    %eax,%eax
57430b:	5a                   	pop    %edx
57430c:	5d                   	pop    %ebp
57430d:	5f                   	pop    %edi
57430e:	5e                   	pop    %esi
57430f:	5b                   	pop    %ebx
574310:	c3                   	ret
574311:	90                   	nop
574312:	90                   	nop
574313:	90                   	nop
574314:	53                   	push   %ebx
574315:	56                   	push   %esi
574316:	57                   	push   %edi
574317:	55                   	push   %ebp
574318:	8b d8                	mov    %eax,%ebx
57431a:	51                   	push   %ecx
57431b:	89 14 24             	mov    %edx,(%esp)
57431e:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
574322:	75 3a                	jne    0x57435e
574324:	8b 7b 40             	mov    0x40(%ebx),%edi
574327:	85 ff                	test   %edi,%edi
574329:	7c 10                	jl     0x57433b
57432b:	8b 43 3c             	mov    0x3c(%ebx),%eax
57432e:	3b f8                	cmp    %eax,%edi
574330:	7f 09                	jg     0x57433b
574332:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
574336:	83 ce ff             	or     $0xffffffff,%esi
574339:	eb 26                	jmp    0x574361
57433b:	ff 4b 1c             	decl   0x1c(%ebx)
57433e:	79 10                	jns    0x574350
574340:	ba 01 00 00 00       	mov    $0x1,%edx
574345:	8b c3                	mov    %ebx,%eax
574347:	e8 dc 49 00 00       	call   0x578d28
57434c:	8b f0                	mov    %eax,%esi
57434e:	eb 11                	jmp    0x574361
574350:	ff 43 3c             	incl   0x3c(%ebx)
574353:	8b 43 18             	mov    0x18(%ebx),%eax
574356:	ff 43 18             	incl   0x18(%ebx)
574359:	0f b6 30             	movzbl (%eax),%esi
57435c:	eb 03                	jmp    0x574361
57435e:	83 ce ff             	or     $0xffffffff,%esi
574361:	83 fe ff             	cmp    $0xffffffff,%esi
574364:	75 08                	jne    0x57436e
574366:	83 c8 ff             	or     $0xffffffff,%eax
574369:	e9 09 01 00 00       	jmp    0x574477
57436e:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
574372:	8b fe                	mov    %esi,%edi
574374:	75 3a                	jne    0x5743b0
574376:	8b 6b 40             	mov    0x40(%ebx),%ebp
574379:	85 ed                	test   %ebp,%ebp
57437b:	7c 10                	jl     0x57438d
57437d:	8b 43 3c             	mov    0x3c(%ebx),%eax
574380:	3b e8                	cmp    %eax,%ebp
574382:	7f 09                	jg     0x57438d
574384:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
574388:	83 ce ff             	or     $0xffffffff,%esi
57438b:	eb 26                	jmp    0x5743b3
57438d:	ff 4b 1c             	decl   0x1c(%ebx)