5772df:	90                   	nop
5772e0:	53                   	push   %ebx
5772e1:	56                   	push   %esi
5772e2:	57                   	push   %edi
5772e3:	55                   	push   %ebp
5772e4:	8b fa                	mov    %edx,%edi
5772e6:	8d 68 08             	lea    0x8(%eax),%ebp
5772e9:	33 db                	xor    %ebx,%ebx
5772eb:	8b 75 04             	mov    0x4(%ebp),%esi
5772ee:	eb 62                	jmp    0x577352
5772f0:	33 c0                	xor    %eax,%eax
5772f2:	8a 06                	mov    (%esi),%al
5772f4:	50                   	push   %eax
5772f5:	53                   	push   %ebx
5772f6:	68 f2 27 6a 00       	push   $0x6a27f2
5772fb:	57                   	push   %edi
5772fc:	e8 cb 2d 00 00       	call   0x57a0cc
577301:	83 c4 10             	add    $0x10,%esp
577304:	0f b7 56 06          	movzwl 0x6(%esi),%edx
577308:	52                   	push   %edx
577309:	53                   	push   %ebx
57730a:	0f b7 4e 04          	movzwl 0x4(%esi),%ecx
57730e:	51                   	push   %ecx
57730f:	53                   	push   %ebx
577310:	68 00 28 6a 00       	push   $0x6a2800
577315:	57                   	push   %edi
577316:	e8 b1 2d 00 00       	call   0x57a0cc
57731b:	83 c4 18             	add    $0x18,%esp
57731e:	33 c0                	xor    %eax,%eax
577320:	8a 46 02             	mov    0x2(%esi),%al
577323:	33 d2                	xor    %edx,%edx
577325:	50                   	push   %eax
577326:	53                   	push   %ebx
577327:	8a 56 01             	mov    0x1(%esi),%dl
57732a:	52                   	push   %edx
57732b:	53                   	push   %ebx
57732c:	68 1b 28 6a 00       	push   $0x6a281b
577331:	57                   	push   %edi
577332:	e8 95 2d 00 00       	call   0x57a0cc
577337:	83 c4 18             	add    $0x18,%esp
57733a:	0f b7 4e 08          	movzwl 0x8(%esi),%ecx
57733e:	51                   	push   %ecx
57733f:	53                   	push   %ebx
577340:	68 36 28 6a 00       	push   $0x6a2836
577345:	57                   	push   %edi
577346:	e8 81 2d 00 00       	call   0x57a0cc
57734b:	83 c4 10             	add    $0x10,%esp
57734e:	43                   	inc    %ebx
57734f:	83 c6 0a             	add    $0xa,%esi
577352:	8b 45 00             	mov    0x0(%ebp),%eax
577355:	3b d8                	cmp    %eax,%ebx
577357:	7c 97                	jl     0x5772f0
577359:	33 c0                	xor    %eax,%eax
57735b:	5d                   	pop    %ebp
57735c:	5f                   	pop    %edi
57735d:	5e                   	pop    %esi
57735e:	5b                   	pop    %ebx
57735f:	c3                   	ret
577360:	83 c0 08             	add    $0x8,%eax
577363:	8b 50 04             	mov    0x4(%eax),%edx
577366:	85 d2                	test   %edx,%edx
577368:	74 07                	je     0x577371
57736a:	8b c2                	mov    %edx,%eax
57736c:	e8 13 10 00 00       	call   0x578384
577371:	c3                   	ret
577372:	90                   	nop
577373:	90                   	nop
577374:	53                   	push   %ebx
577375:	56                   	push   %esi
577376:	57                   	push   %edi
577377:	55                   	push   %ebp
577378:	51                   	push   %ecx
577379:	89 04 24             	mov    %eax,(%esp)
57737c:	8b 1c 24             	mov    (%esp),%ebx
57737f:	8b ea                	mov    %edx,%ebp
577381:	83 c3 08             	add    $0x8,%ebx
577384:	8b f9                	mov    %ecx,%edi
577386:	8b 45 00             	mov    0x0(%ebp),%eax
577389:	89 03                	mov    %eax,(%ebx)
57738b:	8b 45 00             	mov    0x0(%ebp),%eax
57738e:	03 c0                	add    %eax,%eax
577390:	e8 e7 0f 00 00       	call   0x57837c
577395:	89 43 04             	mov    %eax,0x4(%ebx)
577398:	85 c0                	test   %eax,%eax
57739a:	75 05                	jne    0x5773a1
57739c:	83 c8 ff             	or     $0xffffffff,%eax
57739f:	eb 3f                	jmp    0x5773e0
5773a1:	33 f6                	xor    %esi,%esi
5773a3:	8b 5b 04             	mov    0x4(%ebx),%ebx
5773a6:	eb 2c                	jmp    0x5773d4
5773a8:	8b d3                	mov    %ebx,%edx
5773aa:	8b c7                	mov    %edi,%eax
5773ac:	e8 77 03 00 00       	call   0x577728
5773b1:	85 c0                	test   %eax,%eax
5773b3:	75 0e                	jne    0x5773c3
5773b5:	8d 53 02             	lea    0x2(%ebx),%edx
5773b8:	8b c7                	mov    %edi,%eax
5773ba:	e8 69 03 00 00       	call   0x577728
5773bf:	85 c0                	test   %eax,%eax
5773c1:	74 0d                	je     0x5773d0
5773c3:	8b 04 24             	mov    (%esp),%eax
5773c6:	e8 95 ff ff ff       	call   0x577360
5773cb:	83 c8 ff             	or     $0xffffffff,%eax
5773ce:	eb 10                	jmp    0x5773e0
5773d0:	46                   	inc    %esi
5773d1:	83 c3 04             	add    $0x4,%ebx
5773d4:	0f b7 d6             	movzwl %si,%edx
5773d7:	8b 4d 00             	mov    0x0(%ebp),%ecx
5773da:	3b d1                	cmp    %ecx,%edx
5773dc:	7c ca                	jl     0x5773a8
5773de:	33 c0                	xor    %eax,%eax
5773e0:	5a                   	pop    %edx
5773e1:	5d                   	pop    %ebp
5773e2:	5f                   	pop    %edi
5773e3:	5e                   	pop    %esi
5773e4:	5b                   	pop    %ebx
5773e5:	c3                   	ret
5773e6:	90                   	nop
5773e7:	90                   	nop
5773e8:	53                   	push   %ebx
5773e9:	56                   	push   %esi
5773ea:	57                   	push   %edi
5773eb:	55                   	push   %ebp
5773ec:	8b f9                	mov    %ecx,%edi
5773ee:	8d 68 08             	lea    0x8(%eax),%ebp
5773f1:	33 f6                	xor    %esi,%esi
5773f3:	8b 5d 04             	mov    0x4(%ebp),%ebx
5773f6:	eb 26                	jmp    0x57741e
5773f8:	66 8b 13             	mov    (%ebx),%dx
5773fb:	8b c7                	mov    %edi,%eax
5773fd:	e8 ea 03 00 00       	call   0x5777ec
577402:	85 c0                	test   %eax,%eax
577404:	75 0f                	jne    0x577415
577406:	66 8b 53 02          	mov    0x2(%ebx),%dx
57740a:	8b c7                	mov    %edi,%eax
57740c:	e8 db 03 00 00       	call   0x5777ec
577411:	85 c0                	test   %eax,%eax
577413:	74 05                	je     0x57741a
577415:	83 c8 ff             	or     $0xffffffff,%eax
577418:	eb 0d                	jmp    0x577427
57741a:	46                   	inc    %esi
57741b:	83 c3 04             	add    $0x4,%ebx
57741e:	8b 55 00             	mov    0x0(%ebp),%edx
577421:	3b f2                	cmp    %edx,%esi
577423:	7c d3                	jl     0x5773f8
577425:	33 c0                	xor    %eax,%eax
577427:	5d                   	pop    %ebp
577428:	5f                   	pop    %edi
577429:	5e                   	pop    %esi
57742a:	5b                   	pop    %ebx
57742b:	c3                   	ret
57742c:	53                   	push   %ebx
57742d:	56                   	push   %esi
57742e:	57                   	push   %edi
57742f:	8d 78 08             	lea    0x8(%eax),%edi
577432:	55                   	push   %ebp
577433:	8b ea                	mov    %edx,%ebp
577435:	8b 77 04             	mov    0x4(%edi),%esi
577438:	33 db                	xor    %ebx,%ebx
57743a:	eb 1d                	jmp    0x577459
57743c:	0f b7 46 02          	movzwl 0x2(%esi),%eax
577440:	50                   	push   %eax
577441:	53                   	push   %ebx
577442:	0f b7 16             	movzwl (%esi),%edx
577445:	52                   	push   %edx
577446:	53                   	push   %ebx
577447:	68 43 28 6a 00       	push   $0x6a2843
57744c:	55                   	push   %ebp
57744d:	e8 7a 2c 00 00       	call   0x57a0cc
577452:	83 c4 18             	add    $0x18,%esp
577455:	43                   	inc    %ebx
577456:	83 c6 04             	add    $0x4,%esi
577459:	8b 0f                	mov    (%edi),%ecx
57745b:	3b d9                	cmp    %ecx,%ebx
57745d:	7c dd                	jl     0x57743c
57745f:	33 c0                	xor    %eax,%eax
577461:	5d                   	pop    %ebp
577462:	5f                   	pop    %edi
577463:	5e                   	pop    %esi
577464:	5b                   	pop    %ebx
577465:	c3                   	ret
577466:	90                   	nop
577467:	90                   	nop
577468:	83 c0 08             	add    $0x8,%eax
57746b:	8b 50 04             	mov    0x4(%eax),%edx
57746e:	85 d2                	test   %edx,%edx
577470:	74 07                	je     0x577479
577472:	8b c2                	mov    %edx,%eax
577474:	e8 0b 0f 00 00       	call   0x578384
577479:	c3                   	ret
57747a:	90                   	nop
57747b:	90                   	nop
57747c:	53                   	push   %ebx
57747d:	56                   	push   %esi
57747e:	57                   	push   %edi
57747f:	8b f8                	mov    %eax,%edi
577481:	55                   	push   %ebp
577482:	8b e9                	mov    %ecx,%ebp
577484:	8d 5f 08             	lea    0x8(%edi),%ebx
577487:	8b c5                	mov    %ebp,%eax
577489:	8b d3                	mov    %ebx,%edx
57748b:	e8 98 02 00 00       	call   0x577728
577490:	85 c0                	test   %eax,%eax
577492:	74 05                	je     0x577499
577494:	83 c8 ff             	or     $0xffffffff,%eax
577497:	eb 49                	jmp    0x5774e2
577499:	66 8b 77 02          	mov    0x2(%edi),%si
57749d:	66 81 c6 fe ff       	add    $0xfffe,%si
5774a2:	66 89 73 02          	mov    %si,0x2(%ebx)
5774a6:	66 85 f6             	test   %si,%si
5774a9:	76 30                	jbe    0x5774db
5774ab:	0f b7 c6             	movzwl %si,%eax
5774ae:	e8 c9 0e 00 00       	call   0x57837c
5774b3:	8b f8                	mov    %eax,%edi
5774b5:	89 7b 04             	mov    %edi,0x4(%ebx)
5774b8:	85 ff                	test   %edi,%edi
5774ba:	75 05                	jne    0x5774c1
5774bc:	83 c8 ff             	or     $0xffffffff,%eax
5774bf:	eb 21                	jmp    0x5774e2
5774c1:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
5774c5:	8b d7                	mov    %edi,%edx
5774c7:	8b c5                	mov    %ebp,%eax
5774c9:	e8 b2 13 00 00       	call   0x578880
5774ce:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
5774d2:	3b c2                	cmp    %edx,%eax
5774d4:	74 0a                	je     0x5774e0
5774d6:	83 c8 ff             	or     $0xffffffff,%eax
5774d9:	eb 07                	jmp    0x5774e2
5774db:	33 d2                	xor    %edx,%edx
5774dd:	89 53 04             	mov    %edx,0x4(%ebx)
5774e0:	33 c0                	xor    %eax,%eax
5774e2:	5d                   	pop    %ebp
5774e3:	5f                   	pop    %edi
5774e4:	5e                   	pop    %esi
5774e5:	5b                   	pop    %ebx
5774e6:	c3                   	ret
5774e7:	90                   	nop
5774e8:	53                   	push   %ebx
5774e9:	8d 58 08             	lea    0x8(%eax),%ebx
5774ec:	56                   	push   %esi
5774ed:	8b f1                	mov    %ecx,%esi
5774ef:	66 8b 13             	mov    (%ebx),%dx
5774f2:	8b c6                	mov    %esi,%eax
5774f4:	e8 f3 02 00 00       	call   0x5777ec
5774f9:	85 c0                	test   %eax,%eax
5774fb:	74 06                	je     0x577503
5774fd:	83 c8 ff             	or     $0xffffffff,%eax
577500:	5e                   	pop    %esi
577501:	5b                   	pop    %ebx
577502:	c3                   	ret
577503:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
577507:	8b 53 04             	mov    0x4(%ebx),%edx
57750a:	8b c6                	mov    %esi,%eax
57750c:	e8 eb 13 00 00       	call   0x5788fc
577511:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
577515:	3b c2                	cmp    %edx,%eax
577517:	74 06                	je     0x57751f
577519:	83 c8 ff             	or     $0xffffffff,%eax
57751c:	5e                   	pop    %esi
57751d:	5b                   	pop    %ebx
57751e:	c3                   	ret
57751f:	33 c0                	xor    %eax,%eax
577521:	5e                   	pop    %esi
577522:	5b                   	pop    %ebx
577523:	c3                   	ret
577524:	53                   	push   %ebx
577525:	56                   	push   %esi
577526:	8d 70 08             	lea    0x8(%eax),%esi
577529:	57                   	push   %edi
57752a:	55                   	push   %ebp
57752b:	8b ea                	mov    %edx,%ebp
57752d:	0f b7 06             	movzwl (%esi),%eax
577530:	50                   	push   %eax
577531:	68 61 28 6a 00       	push   $0x6a2861
577536:	55                   	push   %ebp
577537:	e8 90 2b 00 00       	call   0x57a0cc
57753c:	83 c4 0c             	add    $0xc,%esp
57753f:	bf 01 00 00 00       	mov    $0x1,%edi
577544:	33 db                	xor    %ebx,%ebx
577546:	eb 18                	jmp    0x577560
577548:	8b 46 04             	mov    0x4(%esi),%eax
57754b:	33 d2                	xor    %edx,%edx
57754d:	8a 14 18             	mov    (%eax,%ebx,1),%dl
577550:	52                   	push   %edx
577551:	e8 0a 3b fe ff       	call   0x55b060
577556:	59                   	pop    %ecx
577557:	85 c0                	test   %eax,%eax
577559:	75 04                	jne    0x57755f
57755b:	33 ff                	xor    %edi,%edi
57755d:	eb 09                	jmp    0x577568
57755f:	43                   	inc    %ebx
577560:	0f b7 46 02          	movzwl 0x2(%esi),%eax
577564:	3b d8                	cmp    %eax,%ebx
577566:	7c e0                	jl     0x577548
577568:	85 ff                	test   %edi,%edi
57756a:	74 30                	je     0x57759c
57756c:	68 6e 28 6a 00       	push   $0x6a286e
577571:	55                   	push   %ebp
577572:	e8 55 2b 00 00       	call   0x57a0cc
577577:	83 c4 08             	add    $0x8,%esp
57757a:	55                   	push   %ebp
57757b:	0f b7 56 02          	movzwl 0x2(%esi),%edx
57757f:	52                   	push   %edx
577580:	6a 01                	push   $0x1
577582:	8b 4e 04             	mov    0x4(%esi),%ecx
577585:	51                   	push   %ecx
577586:	e8 55 39 fe ff       	call   0x55aee0
57758b:	83 c4 10             	add    $0x10,%esp
57758e:	68 76 28 6a 00       	push   $0x6a2876
577593:	55                   	push   %ebp
577594:	e8 33 2b 00 00       	call   0x57a0cc
577599:	83 c4 08             	add    $0x8,%esp
57759c:	33 c0                	xor    %eax,%eax
57759e:	5d                   	pop    %ebp
57759f:	5f                   	pop    %edi
5775a0:	5e                   	pop    %esi
5775a1:	5b                   	pop    %ebx
5775a2:	c3                   	ret
5775a3:	90                   	nop
5775a4:	83 c0 08             	add    $0x8,%eax
5775a7:	8b 10                	mov    (%eax),%edx
5775a9:	85 d2                	test   %edx,%edx
5775ab:	74 07                	je     0x5775b4
5775ad:	8b c2                	mov    %edx,%eax
5775af:	e8 d0 0d 00 00       	call   0x578384
5775b4:	c3                   	ret
5775b5:	90                   	nop
5775b6:	90                   	nop
5775b7:	90                   	nop
5775b8:	53                   	push   %ebx
5775b9:	56                   	push   %esi
5775ba:	57                   	push   %edi
5775bb:	8b f0                	mov    %eax,%esi
5775bd:	55                   	push   %ebp
5775be:	51                   	push   %ecx
5775bf:	89 0c 24             	mov    %ecx,(%esp)
5775c2:	8d 5e 08             	lea    0x8(%esi),%ebx
5775c5:	66 8b 7e 02          	mov    0x2(%esi),%di
5775c9:	66 85 ff             	test   %di,%di
5775cc:	76 41                	jbe    0x57760f
5775ce:	0f b7 c7             	movzwl %di,%eax
5775d1:	e8 a6 0d 00 00       	call   0x57837c
5775d6:	8b e8                	mov    %eax,%ebp
5775d8:	89 2b                	mov    %ebp,(%ebx)
5775da:	85 ed                	test   %ebp,%ebp
5775dc:	75 05                	jne    0x5775e3
5775de:	83 c8 ff             	or     $0xffffffff,%eax
5775e1:	eb 38                	jmp    0x57761b
5775e3:	0f b7 4e 02          	movzwl 0x2(%esi),%ecx
5775e7:	8b d5                	mov    %ebp,%edx