57d550:	03 75 08             	add    0x8(%ebp),%esi
57d553:	47                   	inc    %edi
57d554:	4b                   	dec    %ebx
57d555:	75 e9                	jne    0x57d540
57d557:	ff 44 24 04          	incl   0x4(%esp)
57d55b:	8b 44 24 04          	mov    0x4(%esp),%eax
57d55f:	59                   	pop    %ecx
57d560:	5a                   	pop    %edx
57d561:	5d                   	pop    %ebp
57d562:	5f                   	pop    %edi
57d563:	5e                   	pop    %esi
57d564:	5b                   	pop    %ebx
57d565:	c3                   	ret
57d566:	8b c0                	mov    %eax,%eax
57d568:	c1 e8 0b             	shr    $0xb,%eax
57d56b:	83 e0 01             	and    $0x1,%eax
57d56e:	c3                   	ret
57d56f:	90                   	nop
57d570:	8b d0                	mov    %eax,%edx
57d572:	8b ca                	mov    %edx,%ecx
57d574:	c1 e1 08             	shl    $0x8,%ecx
57d577:	0f b7 c2             	movzwl %dx,%eax
57d57a:	c1 e8 08             	shr    $0x8,%eax
57d57d:	66 0b c8             	or     %ax,%cx
57d580:	8b c1                	mov    %ecx,%eax
57d582:	c3                   	ret
57d583:	90                   	nop
57d584:	53                   	push   %ebx
57d585:	56                   	push   %esi
57d586:	57                   	push   %edi
57d587:	55                   	push   %ebp
57d588:	83 c4 f8             	add    $0xfffffff8,%esp
57d58b:	8b f1                	mov    %ecx,%esi
57d58d:	89 14 24             	mov    %edx,(%esp)
57d590:	8b e8                	mov    %eax,%ebp
57d592:	8b 45 00             	mov    0x0(%ebp),%eax
57d595:	e8 86 fd ff ff       	call   0x57d320
57d59a:	89 74 24 04          	mov    %esi,0x4(%esp)
57d59e:	8b d8                	mov    %eax,%ebx
57d5a0:	4b                   	dec    %ebx
57d5a1:	85 db                	test   %ebx,%ebx
57d5a3:	7c 1d                	jl     0x57d5c2
57d5a5:	43                   	inc    %ebx
57d5a6:	33 ff                	xor    %edi,%edi
57d5a8:	66 8b 06             	mov    (%esi),%ax
57d5ab:	e8 c0 ff ff ff       	call   0x57d570
57d5b0:	8b 14 24             	mov    (%esp),%edx
57d5b3:	66 89 04 7a          	mov    %ax,(%edx,%edi,2)
57d5b7:	8b 45 08             	mov    0x8(%ebp),%eax
57d5ba:	03 c0                	add    %eax,%eax
57d5bc:	03 f0                	add    %eax,%esi
57d5be:	47                   	inc    %edi
57d5bf:	4b                   	dec    %ebx
57d5c0:	75 e6                	jne    0x57d5a8
57d5c2:	83 44 24 04 02       	addl   $0x2,0x4(%esp)
57d5c7:	8b 44 24 04          	mov    0x4(%esp),%eax
57d5cb:	59                   	pop    %ecx
57d5cc:	5a                   	pop    %edx
57d5cd:	5d                   	pop    %ebp
57d5ce:	5f                   	pop    %edi
57d5cf:	5e                   	pop    %esi
57d5d0:	5b                   	pop    %ebx
57d5d1:	c3                   	ret
57d5d2:	8b c0                	mov    %eax,%eax
57d5d4:	53                   	push   %ebx
57d5d5:	56                   	push   %esi
57d5d6:	57                   	push   %edi
57d5d7:	51                   	push   %ecx
57d5d8:	8b d9                	mov    %ecx,%ebx
57d5da:	8b fa                	mov    %edx,%edi
57d5dc:	8b f0                	mov    %eax,%esi
57d5de:	8b 06                	mov    (%esi),%eax
57d5e0:	e8 3b fd ff ff       	call   0x57d320
57d5e5:	89 1c 24             	mov    %ebx,(%esp)
57d5e8:	48                   	dec    %eax
57d5e9:	85 c0                	test   %eax,%eax
57d5eb:	7c 15                	jl     0x57d602
57d5ed:	40                   	inc    %eax
57d5ee:	33 d2                	xor    %edx,%edx
57d5f0:	66 8b 0b             	mov    (%ebx),%cx
57d5f3:	66 89 0c 57          	mov    %cx,(%edi,%edx,2)
57d5f7:	8b 4e 08             	mov    0x8(%esi),%ecx
57d5fa:	03 c9                	add    %ecx,%ecx
57d5fc:	03 d9                	add    %ecx,%ebx
57d5fe:	42                   	inc    %edx
57d5ff:	48                   	dec    %eax
57d600:	75 ee                	jne    0x57d5f0
57d602:	83 04 24 02          	addl   $0x2,(%esp)
57d606:	8b 04 24             	mov    (%esp),%eax
57d609:	5a                   	pop    %edx
57d60a:	5f                   	pop    %edi
57d60b:	5e                   	pop    %esi
57d60c:	5b                   	pop    %ebx
57d60d:	c3                   	ret
57d60e:	8b c0                	mov    %eax,%eax
57d610:	c1 e8 0d             	shr    $0xd,%eax
57d613:	83 e0 01             	and    $0x1,%eax
57d616:	c3                   	ret
57d617:	90                   	nop
57d618:	66 ba ff ff          	mov    $0xffff,%dx
57d61c:	66 2b d0             	sub    %ax,%dx
57d61f:	8b c2                	mov    %edx,%eax
57d621:	c3                   	ret
57d622:	8b c0                	mov    %eax,%eax
57d624:	53                   	push   %ebx
57d625:	56                   	push   %esi
57d626:	57                   	push   %edi
57d627:	8b f1                	mov    %ecx,%esi
57d629:	8b da                	mov    %edx,%ebx
57d62b:	33 c0                	xor    %eax,%eax
57d62d:	8a 06                	mov    (%esi),%al
57d62f:	e8 d8 fe ff ff       	call   0x57d50c
57d634:	e8 df ff ff ff       	call   0x57d618
57d639:	8b f8                	mov    %eax,%edi
57d63b:	66 89 7b 04          	mov    %di,0x4(%ebx)
57d63f:	8b c7                	mov    %edi,%eax
57d641:	66 89 43 02          	mov    %ax,0x2(%ebx)
57d645:	66 89 03             	mov    %ax,(%ebx)
57d648:	46                   	inc    %esi
57d649:	8b c6                	mov    %esi,%eax
57d64b:	5f                   	pop    %edi
57d64c:	5e                   	pop    %esi
57d64d:	5b                   	pop    %ebx
57d64e:	c3                   	ret
57d64f:	90                   	nop
57d650:	53                   	push   %ebx
57d651:	56                   	push   %esi
57d652:	57                   	push   %edi
57d653:	8b f1                	mov    %ecx,%esi
57d655:	8b da                	mov    %edx,%ebx
57d657:	33 c0                	xor    %eax,%eax
57d659:	8a 06                	mov    (%esi),%al
57d65b:	e8 ac fe ff ff       	call   0x57d50c
57d660:	8b f8                	mov    %eax,%edi
57d662:	66 89 7b 04          	mov    %di,0x4(%ebx)
57d666:	8b c7                	mov    %edi,%eax
57d668:	66 89 43 02          	mov    %ax,0x2(%ebx)
57d66c:	66 89 03             	mov    %ax,(%ebx)
57d66f:	46                   	inc    %esi
57d670:	8b c6                	mov    %esi,%eax
57d672:	5f                   	pop    %edi
57d673:	5e                   	pop    %esi
57d674:	5b                   	pop    %ebx
57d675:	c3                   	ret
57d676:	8b c0                	mov    %eax,%eax
57d678:	c1 e8 0e             	shr    $0xe,%eax
57d67b:	83 e0 01             	and    $0x1,%eax
57d67e:	c3                   	ret
57d67f:	90                   	nop
57d680:	53                   	push   %ebx
57d681:	56                   	push   %esi
57d682:	57                   	push   %edi
57d683:	8b f1                	mov    %ecx,%esi
57d685:	8b da                	mov    %edx,%ebx
57d687:	33 c0                	xor    %eax,%eax
57d689:	8a 06                	mov    (%esi),%al
57d68b:	e8 7c fe ff ff       	call   0x57d50c
57d690:	66 89 43 06          	mov    %ax,0x6(%ebx)
57d694:	46                   	inc    %esi
57d695:	33 c0                	xor    %eax,%eax
57d697:	8a 06                	mov    (%esi),%al
57d699:	e8 6e fe ff ff       	call   0x57d50c
57d69e:	8b f8                	mov    %eax,%edi
57d6a0:	66 89 7b 04          	mov    %di,0x4(%ebx)
57d6a4:	8b c7                	mov    %edi,%eax
57d6a6:	66 89 43 02          	mov    %ax,0x2(%ebx)
57d6aa:	66 89 03             	mov    %ax,(%ebx)
57d6ad:	46                   	inc    %esi
57d6ae:	8b c6                	mov    %esi,%eax
57d6b0:	5f                   	pop    %edi
57d6b1:	5e                   	pop    %esi
57d6b2:	5b                   	pop    %ebx
57d6b3:	c3                   	ret
57d6b4:	53                   	push   %ebx
57d6b5:	56                   	push   %esi
57d6b6:	57                   	push   %edi
57d6b7:	8b f1                	mov    %ecx,%esi
57d6b9:	8b da                	mov    %edx,%ebx
57d6bb:	33 c0                	xor    %eax,%eax
57d6bd:	8a 06                	mov    (%esi),%al
57d6bf:	e8 48 fe ff ff       	call   0x57d50c
57d6c4:	8b f8                	mov    %eax,%edi
57d6c6:	66 89 7b 04          	mov    %di,0x4(%ebx)
57d6ca:	8b c7                	mov    %edi,%eax
57d6cc:	66 89 43 02          	mov    %ax,0x2(%ebx)
57d6d0:	66 89 03             	mov    %ax,(%ebx)
57d6d3:	46                   	inc    %esi
57d6d4:	33 c0                	xor    %eax,%eax
57d6d6:	8a 06                	mov    (%esi),%al
57d6d8:	e8 2f fe ff ff       	call   0x57d50c
57d6dd:	66 89 43 06          	mov    %ax,0x6(%ebx)
57d6e1:	46                   	inc    %esi
57d6e2:	8b c6                	mov    %esi,%eax
57d6e4:	5f                   	pop    %edi
57d6e5:	5e                   	pop    %esi
57d6e6:	5b                   	pop    %ebx
57d6e7:	c3                   	ret
57d6e8:	c1 e8 0a             	shr    $0xa,%eax
57d6eb:	83 e0 01             	and    $0x1,%eax
57d6ee:	c3                   	ret
57d6ef:	90                   	nop
57d6f0:	53                   	push   %ebx
57d6f1:	56                   	push   %esi
57d6f2:	8b d9                	mov    %ecx,%ebx
57d6f4:	8b f2                	mov    %edx,%esi
57d6f6:	33 c0                	xor    %eax,%eax
57d6f8:	8a 03                	mov    (%ebx),%al
57d6fa:	e8 0d fe ff ff       	call   0x57d50c
57d6ff:	66 89 46 04          	mov    %ax,0x4(%esi)
57d703:	43                   	inc    %ebx
57d704:	33 c0                	xor    %eax,%eax
57d706:	8a 03                	mov    (%ebx),%al
57d708:	e8 ff fd ff ff       	call   0x57d50c
57d70d:	66 89 46 02          	mov    %ax,0x2(%esi)
57d711:	43                   	inc    %ebx
57d712:	33 c0                	xor    %eax,%eax
57d714:	8a 03                	mov    (%ebx),%al
57d716:	e8 f1 fd ff ff       	call   0x57d50c
57d71b:	66 89 06             	mov    %ax,(%esi)
57d71e:	43                   	inc    %ebx
57d71f:	8b c3                	mov    %ebx,%eax
57d721:	5e                   	pop    %esi
57d722:	5b                   	pop    %ebx
57d723:	c3                   	ret
57d724:	53                   	push   %ebx
57d725:	56                   	push   %esi
57d726:	57                   	push   %edi
57d727:	8b f1                	mov    %ecx,%esi
57d729:	8b da                	mov    %edx,%ebx
57d72b:	33 c0                	xor    %eax,%eax
57d72d:	8a 06                	mov    (%esi),%al
57d72f:	e8 d8 fd ff ff       	call   0x57d50c
57d734:	8b f8                	mov    %eax,%edi
57d736:	66 89 7b 04          	mov    %di,0x4(%ebx)
57d73a:	8b c7                	mov    %edi,%eax
57d73c:	66 89 43 02          	mov    %ax,0x2(%ebx)
57d740:	66 89 03             	mov    %ax,(%ebx)
57d743:	46                   	inc    %esi
57d744:	83 c6 02             	add    $0x2,%esi
57d747:	8b c6                	mov    %esi,%eax
57d749:	5f                   	pop    %edi
57d74a:	5e                   	pop    %esi
57d74b:	5b                   	pop    %ebx
57d74c:	c3                   	ret
57d74d:	8d 40 00             	lea    0x0(%eax),%eax
57d750:	53                   	push   %ebx
57d751:	56                   	push   %esi
57d752:	8b d9                	mov    %ecx,%ebx
57d754:	8b f2                	mov    %edx,%esi
57d756:	33 c0                	xor    %eax,%eax
57d758:	8a 03                	mov    (%ebx),%al
57d75a:	e8 ad fd ff ff       	call   0x57d50c
57d75f:	66 89 06             	mov    %ax,(%esi)
57d762:	43                   	inc    %ebx
57d763:	33 c0                	xor    %eax,%eax
57d765:	8a 03                	mov    (%ebx),%al
57d767:	e8 a0 fd ff ff       	call   0x57d50c
57d76c:	66 89 46 02          	mov    %ax,0x2(%esi)
57d770:	43                   	inc    %ebx
57d771:	33 c0                	xor    %eax,%eax
57d773:	8a 03                	mov    (%ebx),%al
57d775:	e8 92 fd ff ff       	call   0x57d50c
57d77a:	66 89 46 04          	mov    %ax,0x4(%esi)
57d77e:	43                   	inc    %ebx
57d77f:	8b c3                	mov    %ebx,%eax
57d781:	5e                   	pop    %esi
57d782:	5b                   	pop    %ebx
57d783:	c3                   	ret
57d784:	53                   	push   %ebx
57d785:	56                   	push   %esi
57d786:	8b d9                	mov    %ecx,%ebx
57d788:	8b f2                	mov    %edx,%esi
57d78a:	33 c0                	xor    %eax,%eax
57d78c:	8a 03                	mov    (%ebx),%al
57d78e:	e8 79 fd ff ff       	call   0x57d50c
57d793:	66 89 46 04          	mov    %ax,0x4(%esi)
57d797:	43                   	inc    %ebx
57d798:	33 c0                	xor    %eax,%eax
57d79a:	8a 03                	mov    (%ebx),%al
57d79c:	e8 6b fd ff ff       	call   0x57d50c
57d7a1:	66 89 46 02          	mov    %ax,0x2(%esi)
57d7a5:	43                   	inc    %ebx
57d7a6:	33 c0                	xor    %eax,%eax
57d7a8:	8a 03                	mov    (%ebx),%al
57d7aa:	e8 5d fd ff ff       	call   0x57d50c
57d7af:	66 89 06             	mov    %ax,(%esi)
57d7b2:	43                   	inc    %ebx
57d7b3:	33 c0                	xor    %eax,%eax
57d7b5:	8a 03                	mov    (%ebx),%al
57d7b7:	e8 50 fd ff ff       	call   0x57d50c
57d7bc:	66 89 46 06          	mov    %ax,0x6(%esi)
57d7c0:	43                   	inc    %ebx
57d7c1:	8b c3                	mov    %ebx,%eax
57d7c3:	5e                   	pop    %esi
57d7c4:	5b                   	pop    %ebx
57d7c5:	c3                   	ret
57d7c6:	8b c0                	mov    %eax,%eax
57d7c8:	53                   	push   %ebx
57d7c9:	56                   	push   %esi
57d7ca:	8b d9                	mov    %ecx,%ebx
57d7cc:	8b f2                	mov    %edx,%esi
57d7ce:	33 c0                	xor    %eax,%eax
57d7d0:	8a 03                	mov    (%ebx),%al
57d7d2:	e8 35 fd ff ff       	call   0x57d50c
57d7d7:	66 89 46 06          	mov    %ax,0x6(%esi)
57d7db:	43                   	inc    %ebx
57d7dc:	33 c0                	xor    %eax,%eax
57d7de:	8a 03                	mov    (%ebx),%al
57d7e0:	e8 27 fd ff ff       	call   0x57d50c
57d7e5:	66 89 06             	mov    %ax,(%esi)
57d7e8:	43                   	inc    %ebx
57d7e9:	33 c0                	xor    %eax,%eax
57d7eb:	8a 03                	mov    (%ebx),%al
57d7ed:	e8 1a fd ff ff       	call   0x57d50c
57d7f2:	66 89 46 02          	mov    %ax,0x2(%esi)
57d7f6:	43                   	inc    %ebx
57d7f7:	33 c0                	xor    %eax,%eax
57d7f9:	8a 03                	mov    (%ebx),%al
57d7fb:	e8 0c fd ff ff       	call   0x57d50c
57d800:	66 89 46 04          	mov    %ax,0x4(%esi)
57d804:	43                   	inc    %ebx
57d805:	8b c3                	mov    %ebx,%eax
57d807:	5e                   	pop    %esi
57d808:	5b                   	pop    %ebx
57d809:	c3                   	ret
57d80a:	8b c0                	mov    %eax,%eax
57d80c:	53                   	push   %ebx
57d80d:	56                   	push   %esi
57d80e:	8b d9                	mov    %ecx,%ebx
57d810:	8b f2                	mov    %edx,%esi
57d812:	33 c0                	xor    %eax,%eax
57d814:	8a 03                	mov    (%ebx),%al
57d816:	e8 f1 fc ff ff       	call   0x57d50c
57d81b:	66 89 46 06          	mov    %ax,0x6(%esi)
57d81f:	43                   	inc    %ebx
57d820:	33 c0                	xor    %eax,%eax
57d822:	8a 03                	mov    (%ebx),%al
57d824:	e8 e3 fc ff ff       	call   0x57d50c
57d829:	66 89 46 04          	mov    %ax,0x4(%esi)
57d82d:	43                   	inc    %ebx
57d82e:	33 c0                	xor    %eax,%eax
57d830:	8a 03                	mov    (%ebx),%al
57d832:	e8 d5 fc ff ff       	call   0x57d50c
57d837:	66 89 46 02          	mov    %ax,0x2(%esi)
57d83b:	43                   	inc    %ebx
57d83c:	33 c0                	xor    %eax,%eax
57d83e:	8a 03                	mov    (%ebx),%al
57d840:	e8 c7 fc ff ff       	call   0x57d50c
57d845:	66 89 06             	mov    %ax,(%esi)
57d848:	43                   	inc    %ebx