57561d:	51                   	push   %ecx
57561e:	8b 53 14             	mov    0x14(%ebx),%edx
575621:	8b c8                	mov    %eax,%ecx
575623:	03 ca                	add    %edx,%ecx
575625:	83 c1 04             	add    $0x4,%ecx
575628:	03 c2                	add    %edx,%eax
57562a:	51                   	push   %ecx
57562b:	50                   	push   %eax
57562c:	e8 23 55 fe ff       	call   0x55ab54
575631:	83 c4 0c             	add    $0xc,%esp
575634:	66 ff 4b 10          	decw   0x10(%ebx)
575638:	8b c3                	mov    %ebx,%eax
57563a:	e8 9d 01 00 00       	call   0x5757dc
57563f:	5f                   	pop    %edi
575640:	5e                   	pop    %esi
575641:	5b                   	pop    %ebx
575642:	c3                   	ret
575643:	90                   	nop
575644:	53                   	push   %ebx
575645:	8b d8                	mov    %eax,%ebx
575647:	56                   	push   %esi
575648:	57                   	push   %edi
575649:	55                   	push   %ebp
57564a:	8b fa                	mov    %edx,%edi
57564c:	66 3b 7b 10          	cmp    0x10(%ebx),%di
575650:	8b f1                	mov    %ecx,%esi
575652:	76 17                	jbe    0x57566b
575654:	68 bb 02 00 00       	push   $0x2bb
575659:	68 9c 20 6a 00       	push   $0x6a209c
57565e:	68 72 20 6a 00       	push   $0x6a2072
575663:	e8 d8 54 fe ff       	call   0x55ab40
575668:	83 c4 0c             	add    $0xc,%esp
57566b:	66 8b 43 12          	mov    0x12(%ebx),%ax
57566f:	66 3b 43 10          	cmp    0x10(%ebx),%ax
575673:	77 19                	ja     0x57568e
575675:	0f b7 d0             	movzwl %ax,%edx
575678:	81 c2 80 00 00 00    	add    $0x80,%edx
57567e:	8b c3                	mov    %ebx,%eax
575680:	e8 0f 02 00 00       	call   0x575894
575685:	85 c0                	test   %eax,%eax
575687:	74 05                	je     0x57568e
575689:	83 c8 ff             	or     $0xffffffff,%eax
57568c:	eb 77                	jmp    0x575705
57568e:	8b 56 0c             	mov    0xc(%esi),%edx
575691:	52                   	push   %edx
575692:	8b 4e 10             	mov    0x10(%esi),%ecx
575695:	51                   	push   %ecx
575696:	8b 46 14             	mov    0x14(%esi),%eax
575699:	50                   	push   %eax
57569a:	66 8b 56 18          	mov    0x18(%esi),%dx
57569e:	52                   	push   %edx
57569f:	8b 4e 1c             	mov    0x1c(%esi),%ecx
5756a2:	51                   	push   %ecx
5756a3:	6a 01                	push   $0x1
5756a5:	8b 4e 08             	mov    0x8(%esi),%ecx
5756a8:	8b 56 04             	mov    0x4(%esi),%edx
5756ab:	8b 06                	mov    (%esi),%eax
5756ad:	e8 36 f7 ff ff       	call   0x574de8
5756b2:	8b e8                	mov    %eax,%ebp
5756b4:	85 c0                	test   %eax,%eax
5756b6:	75 05                	jne    0x5756bd
5756b8:	83 c8 ff             	or     $0xffffffff,%eax
5756bb:	eb 48                	jmp    0x575705
5756bd:	66 3b 7b 10          	cmp    0x10(%ebx),%di
5756c1:	73 2c                	jae    0x5756ef
5756c3:	0f b7 4b 10          	movzwl 0x10(%ebx),%ecx
5756c7:	0f b7 f7             	movzwl %di,%esi
5756ca:	0f b7 d7             	movzwl %di,%edx
5756cd:	2b ce                	sub    %esi,%ecx
5756cf:	c1 e1 02             	shl    $0x2,%ecx
5756d2:	c1 e2 02             	shl    $0x2,%edx
5756d5:	51                   	push   %ecx
5756d6:	8b 43 14             	mov    0x14(%ebx),%eax
5756d9:	8b ca                	mov    %edx,%ecx
5756db:	03 c8                	add    %eax,%ecx
5756dd:	03 d0                	add    %eax,%edx
5756df:	51                   	push   %ecx
5756e0:	83 c2 04             	add    $0x4,%edx
5756e3:	0f b7 cf             	movzwl %di,%ecx
5756e6:	52                   	push   %edx
5756e7:	e8 68 54 fe ff       	call   0x55ab54
5756ec:	83 c4 0c             	add    $0xc,%esp
5756ef:	0f b7 c7             	movzwl %di,%eax
5756f2:	8b 53 14             	mov    0x14(%ebx),%edx
5756f5:	89 2c 82             	mov    %ebp,(%edx,%eax,4)
5756f8:	8b c3                	mov    %ebx,%eax
5756fa:	66 ff 43 10          	incw   0x10(%ebx)
5756fe:	e8 d9 00 00 00       	call   0x5757dc
575703:	33 c0                	xor    %eax,%eax
575705:	5d                   	pop    %ebp
575706:	5f                   	pop    %edi
575707:	5e                   	pop    %esi
575708:	5b                   	pop    %ebx
575709:	c3                   	ret
57570a:	90                   	nop
57570b:	90                   	nop
57570c:	33 c9                	xor    %ecx,%ecx
57570e:	ba 8c 24 6b 00       	mov    $0x6b248c,%edx
575713:	eb 0b                	jmp    0x575720
575715:	3b 02                	cmp    (%edx),%eax
575717:	75 03                	jne    0x57571c
575719:	8b c2                	mov    %edx,%eax
57571b:	c3                   	ret
57571c:	41                   	inc    %ecx
57571d:	83 c2 1c             	add    $0x1c,%edx
575720:	3b 0d 44 20 6a 00    	cmp    0x6a2044,%ecx
575726:	7c ed                	jl     0x575715
575728:	33 c0                	xor    %eax,%eax
57572a:	c3                   	ret
57572b:	90                   	nop
57572c:	53                   	push   %ebx
57572d:	56                   	push   %esi
57572e:	57                   	push   %edi
57572f:	8b f8                	mov    %eax,%edi
575731:	33 f6                	xor    %esi,%esi
575733:	bb 8c 24 6b 00       	mov    $0x6b248c,%ebx
575738:	eb 2b                	jmp    0x575765
57573a:	8b 43 04             	mov    0x4(%ebx),%eax
57573d:	8b d7                	mov    %edi,%edx
57573f:	8a 08                	mov    (%eax),%cl
575741:	3a 0a                	cmp    (%edx),%cl
575743:	75 1c                	jne    0x575761
575745:	84 c9                	test   %cl,%cl
575747:	74 12                	je     0x57575b
575749:	8a 48 01             	mov    0x1(%eax),%cl
57574c:	3a 4a 01             	cmp    0x1(%edx),%cl
57574f:	75 10                	jne    0x575761
575751:	83 c0 02             	add    $0x2,%eax
575754:	83 c2 02             	add    $0x2,%edx
575757:	84 c9                	test   %cl,%cl
575759:	75 e4                	jne    0x57573f
57575b:	75 04                	jne    0x575761
57575d:	8b c3                	mov    %ebx,%eax
57575f:	eb 10                	jmp    0x575771
575761:	46                   	inc    %esi
575762:	83 c3 1c             	add    $0x1c,%ebx
575765:	8b 15 44 20 6a 00    	mov    0x6a2044,%edx
57576b:	3b f2                	cmp    %edx,%esi
57576d:	7c cb                	jl     0x57573a
57576f:	33 c0                	xor    %eax,%eax
575771:	5f                   	pop    %edi
575772:	5e                   	pop    %esi
575773:	5b                   	pop    %ebx
575774:	c3                   	ret
575775:	90                   	nop
575776:	90                   	nop
575777:	90                   	nop
575778:	53                   	push   %ebx
575779:	8b d9                	mov    %ecx,%ebx
57577b:	85 db                	test   %ebx,%ebx
57577d:	74 11                	je     0x575790
57577f:	85 c0                	test   %eax,%eax
575781:	7d 0d                	jge    0x575790
575783:	8b ca                	mov    %edx,%ecx
575785:	bb 01 00 00 00       	mov    $0x1,%ebx
57578a:	d3 e3                	shl    %cl,%ebx
57578c:	03 d8                	add    %eax,%ebx
57578e:	eb 02                	jmp    0x575792
575790:	8b d8                	mov    %eax,%ebx
575792:	8b ca                	mov    %edx,%ecx
575794:	b8 01 00 00 00       	mov    $0x1,%eax
575799:	d3 e0                	shl    %cl,%eax
57579b:	48                   	dec    %eax
57579c:	23 d8                	and    %eax,%ebx
57579e:	8b c3                	mov    %ebx,%eax
5757a0:	5b                   	pop    %ebx
5757a1:	c3                   	ret
5757a2:	90                   	nop
5757a3:	90                   	nop
5757a4:	53                   	push   %ebx
5757a5:	56                   	push   %esi
5757a6:	8b d9                	mov    %ecx,%ebx
5757a8:	8b ca                	mov    %edx,%ecx
5757aa:	be 01 00 00 00       	mov    $0x1,%esi
5757af:	d3 e6                	shl    %cl,%esi
5757b1:	4e                   	dec    %esi
5757b2:	23 c6                	and    %esi,%eax
5757b4:	85 db                	test   %ebx,%ebx
5757b6:	74 1d                	je     0x5757d5
5757b8:	8d 4a ff             	lea    -0x1(%edx),%ecx
5757bb:	bb 01 00 00 00       	mov    $0x1,%ebx
5757c0:	d3 e3                	shl    %cl,%ebx
5757c2:	85 c3                	test   %eax,%ebx
5757c4:	74 0f                	je     0x5757d5
5757c6:	8b ca                	mov    %edx,%ecx
5757c8:	ba 01 00 00 00       	mov    $0x1,%edx
5757cd:	d3 e2                	shl    %cl,%edx
5757cf:	8b c8                	mov    %eax,%ecx
5757d1:	2b ca                	sub    %edx,%ecx
5757d3:	eb 02                	jmp    0x5757d7
5757d5:	8b c8                	mov    %eax,%ecx
5757d7:	8b c1                	mov    %ecx,%eax
5757d9:	5e                   	pop    %esi
5757da:	5b                   	pop    %ebx
5757db:	c3                   	ret
5757dc:	53                   	push   %ebx
5757dd:	56                   	push   %esi
5757de:	66 83 78 10 00       	cmpw   $0x0,0x10(%eax)
5757e3:	0f 86 93 00 00 00    	jbe    0x57587c
5757e9:	8b 50 14             	mov    0x14(%eax),%edx
5757ec:	8b 12                	mov    (%edx),%edx
5757ee:	8b 0a                	mov    (%edx),%ecx
5757f0:	89 08                	mov    %ecx,(%eax)
5757f2:	8b 4a 04             	mov    0x4(%edx),%ecx
5757f5:	89 48 04             	mov    %ecx,0x4(%eax)
5757f8:	8b 4a 10             	mov    0x10(%edx),%ecx
5757fb:	8b 1a                	mov    (%edx),%ebx
5757fd:	49                   	dec    %ecx
5757fe:	0f af 4a 08          	imul   0x8(%edx),%ecx
575802:	03 cb                	add    %ebx,%ecx
575804:	41                   	inc    %ecx
575805:	89 48 08             	mov    %ecx,0x8(%eax)
575808:	8b 4a 14             	mov    0x14(%edx),%ecx
57580b:	49                   	dec    %ecx
57580c:	0f af 4a 0c          	imul   0xc(%edx),%ecx
575810:	8b 52 04             	mov    0x4(%edx),%edx
575813:	03 ca                	add    %edx,%ecx
575815:	41                   	inc    %ecx
575816:	89 48 0c             	mov    %ecx,0xc(%eax)
575819:	b9 01 00 00 00       	mov    $0x1,%ecx
57581e:	eb 51                	jmp    0x575871
575820:	8b 50 14             	mov    0x14(%eax),%edx
575823:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
575826:	8b 1a                	mov    (%edx),%ebx
575828:	8b 30                	mov    (%eax),%esi
57582a:	3b de                	cmp    %esi,%ebx
57582c:	73 02                	jae    0x575830
57582e:	89 18                	mov    %ebx,(%eax)
575830:	8b 5a 04             	mov    0x4(%edx),%ebx
575833:	8b 70 04             	mov    0x4(%eax),%esi
575836:	3b de                	cmp    %esi,%ebx
575838:	73 03                	jae    0x57583d
57583a:	89 58 04             	mov    %ebx,0x4(%eax)
57583d:	8b 5a 10             	mov    0x10(%edx),%ebx
575840:	8b 32                	mov    (%edx),%esi
575842:	4b                   	dec    %ebx
575843:	0f af 5a 08          	imul   0x8(%edx),%ebx
575847:	03 de                	add    %esi,%ebx
575849:	43                   	inc    %ebx
57584a:	8b f3                	mov    %ebx,%esi
57584c:	3b 70 08             	cmp    0x8(%eax),%esi
57584f:	76 03                	jbe    0x575854
575851:	89 70 08             	mov    %esi,0x8(%eax)
575854:	8b 5a 14             	mov    0x14(%edx),%ebx
575857:	4b                   	dec    %ebx
575858:	0f af 5a 0c          	imul   0xc(%edx),%ebx
57585c:	8b 52 04             	mov    0x4(%edx),%edx
57585f:	03 da                	add    %edx,%ebx
575861:	43                   	inc    %ebx
575862:	8b d3                	mov    %ebx,%edx
575864:	8b da                	mov    %edx,%ebx
575866:	8b 70 0c             	mov    0xc(%eax),%esi
575869:	3b de                	cmp    %esi,%ebx
57586b:	76 03                	jbe    0x575870
57586d:	89 58 0c             	mov    %ebx,0xc(%eax)
575870:	41                   	inc    %ecx
575871:	0f b7 50 10          	movzwl 0x10(%eax),%edx
575875:	3b ca                	cmp    %edx,%ecx
575877:	7c a7                	jl     0x575820
575879:	5e                   	pop    %esi
57587a:	5b                   	pop    %ebx
57587b:	c3                   	ret
57587c:	33 c9                	xor    %ecx,%ecx
57587e:	33 d2                	xor    %edx,%edx
575880:	89 08                	mov    %ecx,(%eax)
575882:	33 c9                	xor    %ecx,%ecx
575884:	89 50 04             	mov    %edx,0x4(%eax)
575887:	33 d2                	xor    %edx,%edx
575889:	89 48 08             	mov    %ecx,0x8(%eax)
57588c:	89 50 0c             	mov    %edx,0xc(%eax)
57588f:	5e                   	pop    %esi
575890:	5b                   	pop    %ebx
575891:	c3                   	ret
575892:	90                   	nop
575893:	90                   	nop
575894:	53                   	push   %ebx
575895:	8b d8                	mov    %eax,%ebx
575897:	56                   	push   %esi
575898:	8b f2                	mov    %edx,%esi
57589a:	8b 43 14             	mov    0x14(%ebx),%eax
57589d:	85 c0                	test   %eax,%eax
57589f:	75 0c                	jne    0x5758ad
5758a1:	8b c6                	mov    %esi,%eax
5758a3:	c1 e0 02             	shl    $0x2,%eax
5758a6:	e8 d1 2a 00 00       	call   0x57837c
5758ab:	eb 0d                	jmp    0x5758ba
5758ad:	8b d6                	mov    %esi,%edx
5758af:	8b 43 14             	mov    0x14(%ebx),%eax
5758b2:	c1 e2 02             	shl    $0x2,%edx
5758b5:	e8 d2 2a 00 00       	call   0x57838c
5758ba:	85 c0                	test   %eax,%eax
5758bc:	75 06                	jne    0x5758c4
5758be:	83 c8 ff             	or     $0xffffffff,%eax
5758c1:	5e                   	pop    %esi
5758c2:	5b                   	pop    %ebx
5758c3:	c3                   	ret
5758c4:	89 43 14             	mov    %eax,0x14(%ebx)
5758c7:	66 89 73 12          	mov    %si,0x12(%ebx)
5758cb:	0f b7 43 10          	movzwl 0x10(%ebx),%eax
5758cf:	eb 09                	jmp    0x5758da
5758d1:	8b 53 14             	mov    0x14(%ebx),%edx
5758d4:	33 c9                	xor    %ecx,%ecx
5758d6:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
5758d9:	40                   	inc    %eax
5758da:	0f b7 53 12          	movzwl 0x12(%ebx),%edx
5758de:	3b c2                	cmp    %edx,%eax
5758e0:	7c ef                	jl     0x5758d1
5758e2:	33 c0                	xor    %eax,%eax
5758e4:	5e                   	pop    %esi
5758e5:	5b                   	pop    %ebx
5758e6:	c3                   	ret
5758e7:	90                   	nop
5758e8:	55                   	push   %ebp
5758e9:	8b ec                	mov    %esp,%ebp
5758eb:	51                   	push   %ecx
5758ec:	53                   	push   %ebx
5758ed:	8b d8                	mov    %eax,%ebx
5758ef:	56                   	push   %esi
5758f0:	57                   	push   %edi
5758f1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5758f4:	66 8b 43 12          	mov    0x12(%ebx),%ax
5758f8:	8b f2                	mov    %edx,%esi
5758fa:	66 3b 43 10          	cmp    0x10(%ebx),%ax
5758fe:	77 19                	ja     0x575919
575900:	0f b7 d0             	movzwl %ax,%edx
575903:	81 c2 80 00 00 00    	add    $0x80,%edx
575909:	8b c3                	mov    %ebx,%eax
57590b:	e8 84 ff ff ff       	call   0x575894
575910:	85 c0                	test   %eax,%eax
575912:	74 05                	je     0x575919
575914:	83 c8 ff             	or     $0xffffffff,%eax
575917:	eb 5c                	jmp    0x575975
575919:	8b 55 fc             	mov    -0x4(%ebp),%edx
57591c:	8b 4a 14             	mov    0x14(%edx),%ecx
57591f:	8b 45 08             	mov    0x8(%ebp),%eax
575922:	8b 04 81             	mov    (%ecx,%eax,4),%eax
575925:	e8 d2 f3 ff ff       	call   0x574cfc
57592a:	8b f8                	mov    %eax,%edi
57592c:	85 c0                	test   %eax,%eax
57592e:	75 05                	jne    0x575935
575930:	83 c8 ff             	or     $0xffffffff,%eax
575933:	eb 40                	jmp    0x575975
575935:	0f b7 53 10          	movzwl 0x10(%ebx),%edx
575939:	3b f2                	cmp    %edx,%esi
57593b:	7d 25                	jge    0x575962
57593d:	0f b7 4b 10          	movzwl 0x10(%ebx),%ecx
575941:	2b ce                	sub    %esi,%ecx
575943:	8b d6                	mov    %esi,%edx
575945:	c1 e1 02             	shl    $0x2,%ecx
575948:	c1 e2 02             	shl    $0x2,%edx