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)
574390:	79 10                	jns    0x5743a2
574392:	ba 01 00 00 00       	mov    $0x1,%edx
574397:	8b c3                	mov    %ebx,%eax
574399:	e8 8a 49 00 00       	call   0x578d28
57439e:	8b f0                	mov    %eax,%esi
5743a0:	eb 11                	jmp    0x5743b3
5743a2:	ff 43 3c             	incl   0x3c(%ebx)
5743a5:	8b 43 18             	mov    0x18(%ebx),%eax
5743a8:	ff 43 18             	incl   0x18(%ebx)
5743ab:	0f b6 30             	movzbl (%eax),%esi
5743ae:	eb 03                	jmp    0x5743b3
5743b0:	83 ce ff             	or     $0xffffffff,%esi
5743b3:	83 fe ff             	cmp    $0xffffffff,%esi
5743b6:	75 08                	jne    0x5743c0
5743b8:	83 c8 ff             	or     $0xffffffff,%eax
5743bb:	e9 b7 00 00 00       	jmp    0x574477
5743c0:	c1 e7 08             	shl    $0x8,%edi
5743c3:	0b fe                	or     %esi,%edi
5743c5:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5743c9:	75 3a                	jne    0x574405
5743cb:	8b 6b 40             	mov    0x40(%ebx),%ebp
5743ce:	85 ed                	test   %ebp,%ebp
5743d0:	7c 10                	jl     0x5743e2
5743d2:	8b 43 3c             	mov    0x3c(%ebx),%eax
5743d5:	3b e8                	cmp    %eax,%ebp
5743d7:	7f 09                	jg     0x5743e2
5743d9:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
5743dd:	83 ce ff             	or     $0xffffffff,%esi
5743e0:	eb 26                	jmp    0x574408
5743e2:	ff 4b 1c             	decl   0x1c(%ebx)
5743e5:	79 10                	jns    0x5743f7
5743e7:	ba 01 00 00 00       	mov    $0x1,%edx
5743ec:	8b c3                	mov    %ebx,%eax
5743ee:	e8 35 49 00 00       	call   0x578d28
5743f3:	8b f0                	mov    %eax,%esi
5743f5:	eb 11                	jmp    0x574408
5743f7:	ff 43 3c             	incl   0x3c(%ebx)
5743fa:	8b 43 18             	mov    0x18(%ebx),%eax
5743fd:	ff 43 18             	incl   0x18(%ebx)
574400:	0f b6 30             	movzbl (%eax),%esi
574403:	eb 03                	jmp    0x574408
574405:	83 ce ff             	or     $0xffffffff,%esi
574408:	83 fe ff             	cmp    $0xffffffff,%esi
57440b:	75 05                	jne    0x574412
57440d:	83 c8 ff             	or     $0xffffffff,%eax
574410:	eb 65                	jmp    0x574477
574412:	c1 e7 08             	shl    $0x8,%edi
574415:	0b fe                	or     %esi,%edi
574417:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
57441b:	75 3a                	jne    0x574457
57441d:	8b 6b 40             	mov    0x40(%ebx),%ebp
574420:	85 ed                	test   %ebp,%ebp
574422:	7c 10                	jl     0x574434
574424:	8b 43 3c             	mov    0x3c(%ebx),%eax
574427:	3b e8                	cmp    %eax,%ebp
574429:	7f 09                	jg     0x574434
57442b:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57442f:	83 ce ff             	or     $0xffffffff,%esi
574432:	eb 26                	jmp    0x57445a
574434:	ff 4b 1c             	decl   0x1c(%ebx)
574437:	79 10                	jns    0x574449
574439:	ba 01 00 00 00       	mov    $0x1,%edx
57443e:	8b c3                	mov    %ebx,%eax
574440:	e8 e3 48 00 00       	call   0x578d28
574445:	8b f0                	mov    %eax,%esi
574447:	eb 11                	jmp    0x57445a
574449:	ff 43 3c             	incl   0x3c(%ebx)
57444c:	8b 43 18             	mov    0x18(%ebx),%eax
57444f:	ff 43 18             	incl   0x18(%ebx)
574452:	0f b6 30             	movzbl (%eax),%esi
574455:	eb 03                	jmp    0x57445a
574457:	83 ce ff             	or     $0xffffffff,%esi
57445a:	83 fe ff             	cmp    $0xffffffff,%esi
57445d:	75 05                	jne    0x574464
57445f:	83 c8 ff             	or     $0xffffffff,%eax
574462:	eb 13                	jmp    0x574477
574464:	c1 e7 08             	shl    $0x8,%edi
574467:	0b fe                	or     %esi,%edi
574469:	8b 14 24             	mov    (%esp),%edx
57446c:	85 d2                	test   %edx,%edx
57446e:	74 05                	je     0x574475
574470:	8b 0c 24             	mov    (%esp),%ecx
574473:	89 39                	mov    %edi,(%ecx)
574475:	33 c0                	xor    %eax,%eax
574477:	5a                   	pop    %edx
574478:	5d                   	pop    %ebp
574479:	5f                   	pop    %edi
57447a:	5e                   	pop    %esi
57447b:	5b                   	pop    %ebx
57447c:	c3                   	ret
57447d:	90                   	nop
57447e:	90                   	nop
57447f:	90                   	nop
574480:	e8 c3 66 fe ff       	call   0x55ab48
574485:	c3                   	ret
574486:	90                   	nop
574487:	90                   	nop
574488:	53                   	push   %ebx
574489:	56                   	push   %esi
57448a:	8b f0                	mov    %eax,%esi
57448c:	57                   	push   %edi
57448d:	8b da                	mov    %edx,%ebx
57448f:	f6 46 08 07          	testb  $0x7,0x8(%esi)
574493:	75 4a                	jne    0x5744df
574495:	8b 7e 40             	mov    0x40(%esi),%edi
574498:	85 ff                	test   %edi,%edi
57449a:	7c 10                	jl     0x5744ac
57449c:	8b 46 3c             	mov    0x3c(%esi),%eax
57449f:	3b f8                	cmp    %eax,%edi
5744a1:	7f 09                	jg     0x5744ac
5744a3:	83 4e 08 04          	orl    $0x4,0x8(%esi)
5744a7:	83 ca ff             	or     $0xffffffff,%edx
5744aa:	eb 36                	jmp    0x5744e2
5744ac:	83 4e 04 20          	orl    $0x20,0x4(%esi)
5744b0:	ff 4e 1c             	decl   0x1c(%esi)
5744b3:	79 16                	jns    0x5744cb
5744b5:	8b d3                	mov    %ebx,%edx
5744b7:	8b c6                	mov    %esi,%eax
5744b9:	80 e2 ff             	and    $0xff,%dl
5744bc:	81 e2 ff 00 00 00    	and    $0xff,%edx
5744c2:	e8 51 49 00 00       	call   0x578e18
5744c7:	8b d0                	mov    %eax,%edx
5744c9:	eb 17                	jmp    0x5744e2
5744cb:	ff 46 3c             	incl   0x3c(%esi)
5744ce:	80 e3 ff             	and    $0xff,%bl
5744d1:	8b 46 18             	mov    0x18(%esi),%eax
5744d4:	ff 46 18             	incl   0x18(%esi)
5744d7:	88 18                	mov    %bl,(%eax)
5744d9:	33 d2                	xor    %edx,%edx
5744db:	8a d3                	mov    %bl,%dl
5744dd:	eb 03                	jmp    0x5744e2
5744df:	83 ca ff             	or     $0xffffffff,%edx
5744e2:	42                   	inc    %edx
5744e3:	75 05                	jne    0x5744ea
5744e5:	83 c8 ff             	or     $0xffffffff,%eax
5744e8:	eb 02                	jmp    0x5744ec
5744ea:	33 c0                	xor    %eax,%eax
5744ec:	5f                   	pop    %edi
5744ed:	5e                   	pop    %esi
5744ee:	5b                   	pop    %ebx
5744ef:	c3                   	ret
5744f0:	53                   	push   %ebx
5744f1:	8b d8                	mov    %eax,%ebx
5744f3:	56                   	push   %esi
5744f4:	57                   	push   %edi
5744f5:	f6 43 08 07          	testb  $0x7,0x8(%ebx)
5744f9:	8b f2                	mov    %edx,%esi
5744fb:	75 53                	jne    0x574550
5744fd:	8b 7b 40             	mov    0x40(%ebx),%edi
574500:	85 ff                	test   %edi,%edi
574502:	7c 10                	jl     0x574514
574504:	8b 43 3c             	mov    0x3c(%ebx),%eax
574507:	3b f8                	cmp    %eax,%edi
574509:	7f 09                	jg     0x574514
57450b:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
57450f:	83 ca ff             	or     $0xffffffff,%edx
574512:	eb 3f                	jmp    0x574553
574514:	83 4b 04 20          	orl    $0x20,0x4(%ebx)
574518:	ff 4b 1c             	decl   0x1c(%ebx)
57451b:	79 1a                	jns    0x574537
57451d:	0f b7 d6             	movzwl %si,%edx
574520:	c1 fa 08             	sar    $0x8,%edx
574523:	8b c3                	mov    %ebx,%eax
574525:	80 e2 ff             	and    $0xff,%dl
574528:	81 e2 ff 00 00 00    	and    $0xff,%edx
57452e:	e8 e5 48 00 00       	call   0x578e18
574533:	8b d0                	mov    %eax,%edx
574535:	eb 1c                	jmp    0x574553
574537:	0f b7 c6             	movzwl %si,%eax
57453a:	ff 43 3c             	incl   0x3c(%ebx)
57453d:	8b 4b 18             	mov    0x18(%ebx),%ecx
574540:	ff 43 18             	incl   0x18(%ebx)
574543:	c1 f8 08             	sar    $0x8,%eax
574546:	24 ff                	and    $0xff,%al
574548:	33 d2                	xor    %edx,%edx