54d6cd:	56                   	push   %esi
54d6ce:	57                   	push   %edi
54d6cf:	55                   	push   %ebp
54d6d0:	83 c4 8c             	add    $0xffffff8c,%esp
54d6d3:	33 c9                	xor    %ecx,%ecx
54d6d5:	8b 90 ac 00 00 00    	mov    0xac(%eax),%edx
54d6db:	8a 88 e4 00 00 00    	mov    0xe4(%eax),%cl
54d6e1:	89 0c 24             	mov    %ecx,(%esp)
54d6e4:	8d 98 c0 00 00 00    	lea    0xc0(%eax),%ebx
54d6ea:	8b 40 30             	mov    0x30(%eax),%eax
54d6ed:	42                   	inc    %edx
54d6ee:	85 d2                	test   %edx,%edx
54d6f0:	89 44 24 04          	mov    %eax,0x4(%esp)
54d6f4:	0f 84 18 04 00 00    	je     0x54db12
54d6fa:	85 db                	test   %ebx,%ebx
54d6fc:	0f 84 10 04 00 00    	je     0x54db12
54d702:	8b 03                	mov    (%ebx),%eax
54d704:	8b 0c 24             	mov    (%esp),%ecx
54d707:	0f af 04 8d f8 bd 69 	imul   0x69bdf8(,%ecx,4),%eax
54d70e:	00
54d70f:	89 44 24 08          	mov    %eax,0x8(%esp)
54d713:	8a 43 0b             	mov    0xb(%ebx),%al
54d716:	fe c8                	dec    %al
54d718:	74 15                	je     0x54d72f
54d71a:	fe c8                	dec    %al
54d71c:	0f 84 25 01 00 00    	je     0x54d847
54d722:	2c 02                	sub    $0x2,%al
54d724:	0f 84 3d 02 00 00    	je     0x54d967
54d72a:	e9 4f 03 00 00       	jmp    0x54da7e
54d72f:	8b 0b                	mov    (%ebx),%ecx
54d731:	49                   	dec    %ecx
54d732:	c1 e9 03             	shr    $0x3,%ecx
54d735:	03 ca                	add    %edx,%ecx
54d737:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
54d73b:	8b 74 24 08          	mov    0x8(%esp),%esi
54d73f:	8b 04 24             	mov    (%esp),%eax
54d742:	4e                   	dec    %esi
54d743:	c1 ee 03             	shr    $0x3,%esi
54d746:	03 f2                	add    %edx,%esi
54d748:	8b 14 85 f8 bd 69 00 	mov    0x69bdf8(,%eax,4),%edx
54d74f:	89 54 24 1c          	mov    %edx,0x1c(%esp)
54d753:	f6 44 24 06 01       	testb  $0x1,0x6(%esp)
54d758:	74 2a                	je     0x54d784
54d75a:	8b 0b                	mov    (%ebx),%ecx
54d75c:	83 c1 07             	add    $0x7,%ecx
54d75f:	83 e1 07             	and    $0x7,%ecx
54d762:	89 4c 24 10          	mov    %ecx,0x10(%esp)
54d766:	8b 44 24 08          	mov    0x8(%esp),%eax
54d76a:	c7 44 24 14 07 00 00 	movl   $0x7,0x14(%esp)
54d771:	00
54d772:	83 c0 07             	add    $0x7,%eax
54d775:	83 e0 07             	and    $0x7,%eax
54d778:	33 ed                	xor    %ebp,%ebp
54d77a:	c7 44 24 18 ff ff ff 	movl   $0xffffffff,0x18(%esp)
54d781:	ff
54d782:	eb 37                	jmp    0x54d7bb
54d784:	8b 03                	mov    (%ebx),%eax
54d786:	83 c0 07             	add    $0x7,%eax
54d789:	83 e0 07             	and    $0x7,%eax
54d78c:	ba 07 00 00 00       	mov    $0x7,%edx
54d791:	2b d0                	sub    %eax,%edx
54d793:	89 54 24 10          	mov    %edx,0x10(%esp)
54d797:	8b 4c 24 08          	mov    0x8(%esp),%ecx
54d79b:	83 c1 07             	add    $0x7,%ecx
54d79e:	83 e1 07             	and    $0x7,%ecx
54d7a1:	b8 07 00 00 00       	mov    $0x7,%eax
54d7a6:	2b c1                	sub    %ecx,%eax
54d7a8:	33 d2                	xor    %edx,%edx
54d7aa:	89 54 24 14          	mov    %edx,0x14(%esp)
54d7ae:	bd 07 00 00 00       	mov    $0x7,%ebp
54d7b3:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
54d7ba:	00
54d7bb:	33 d2                	xor    %edx,%edx
54d7bd:	89 54 24 24          	mov    %edx,0x24(%esp)
54d7c1:	eb 75                	jmp    0x54d838
54d7c3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
54d7c7:	8b 54 24 0c          	mov    0xc(%esp),%edx
54d7cb:	0f b6 12             	movzbl (%edx),%edx
54d7ce:	d3 fa                	sar    %cl,%edx
54d7d0:	80 e2 01             	and    $0x1,%dl
54d7d3:	88 54 24 20          	mov    %dl,0x20(%esp)
54d7d7:	33 ff                	xor    %edi,%edi
54d7d9:	8b 54 24 1c          	mov    0x1c(%esp),%edx
54d7dd:	3b fa                	cmp    %edx,%edi
54d7df:	7d 35                	jge    0x54d816
54d7e1:	b9 07 00 00 00       	mov    $0x7,%ecx
54d7e6:	2b c8                	sub    %eax,%ecx
54d7e8:	ba 7f 7f 00 00       	mov    $0x7f7f,%edx
54d7ed:	d3 fa                	sar    %cl,%edx
54d7ef:	80 e2 ff             	and    $0xff,%dl
54d7f2:	20 16                	and    %dl,(%esi)
54d7f4:	8b c8                	mov    %eax,%ecx
54d7f6:	8a 54 24 20          	mov    0x20(%esp),%dl
54d7fa:	d2 e2                	shl    %cl,%dl
54d7fc:	08 16                	or     %dl,(%esi)
54d7fe:	3b e8                	cmp    %eax,%ebp
54d800:	75 07                	jne    0x54d809
54d802:	8b 44 24 14          	mov    0x14(%esp),%eax
54d806:	4e                   	dec    %esi
54d807:	eb 04                	jmp    0x54d80d
54d809:	03 44 24 18          	add    0x18(%esp),%eax
54d80d:	47                   	inc    %edi
54d80e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
54d812:	3b f9                	cmp    %ecx,%edi
54d814:	7c cb                	jl     0x54d7e1
54d816:	8b 54 24 10          	mov    0x10(%esp),%edx
54d81a:	3b ea                	cmp    %edx,%ebp
54d81c:	75 0e                	jne    0x54d82c
54d81e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
54d822:	89 4c 24 10          	mov    %ecx,0x10(%esp)
54d826:	ff 4c 24 0c          	decl   0xc(%esp)
54d82a:	eb 08                	jmp    0x54d834
54d82c:	8b 54 24 18          	mov    0x18(%esp),%edx
54d830:	01 54 24 10          	add    %edx,0x10(%esp)
54d834:	ff 44 24 24          	incl   0x24(%esp)
54d838:	8b 0b                	mov    (%ebx),%ecx
54d83a:	8b 54 24 24          	mov    0x24(%esp),%edx
54d83e:	3b ca                	cmp    %edx,%ecx
54d840:	77 81                	ja     0x54d7c3
54d842:	e9 b3 02 00 00       	jmp    0x54dafa
54d847:	8b 03                	mov    (%ebx),%eax
54d849:	48                   	dec    %eax
54d84a:	c1 e8 02             	shr    $0x2,%eax
54d84d:	03 c2                	add    %edx,%eax
54d84f:	89 44 24 28          	mov    %eax,0x28(%esp)
54d853:	8b 74 24 08          	mov    0x8(%esp),%esi
54d857:	8b 04 24             	mov    (%esp),%eax
54d85a:	4e                   	dec    %esi
54d85b:	c1 ee 02             	shr    $0x2,%esi
54d85e:	03 f2                	add    %edx,%esi
54d860:	8b 14 85 f8 bd 69 00 	mov    0x69bdf8(,%eax,4),%edx
54d867:	89 54 24 38          	mov    %edx,0x38(%esp)
54d86b:	f6 44 24 06 01       	testb  $0x1,0x6(%esp)
54d870:	74 2e                	je     0x54d8a0
54d872:	8b 0b                	mov    (%ebx),%ecx
54d874:	83 c1 03             	add    $0x3,%ecx
54d877:	83 e1 03             	and    $0x3,%ecx
54d87a:	03 c9                	add    %ecx,%ecx
54d87c:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
54d880:	8b 44 24 08          	mov    0x8(%esp),%eax
54d884:	83 c0 03             	add    $0x3,%eax
54d887:	c7 44 24 30 06 00 00 	movl   $0x6,0x30(%esp)
54d88e:	00
54d88f:	83 e0 03             	and    $0x3,%eax
54d892:	03 c0                	add    %eax,%eax
54d894:	33 ed                	xor    %ebp,%ebp
54d896:	c7 44 24 34 fe ff ff 	movl   $0xfffffffe,0x34(%esp)
54d89d:	ff
54d89e:	eb 3b                	jmp    0x54d8db
54d8a0:	8b 03                	mov    (%ebx),%eax
54d8a2:	83 c0 03             	add    $0x3,%eax
54d8a5:	83 e0 03             	and    $0x3,%eax
54d8a8:	ba 03 00 00 00       	mov    $0x3,%edx
54d8ad:	2b d0                	sub    %eax,%edx
54d8af:	03 d2                	add    %edx,%edx
54d8b1:	89 54 24 2c          	mov    %edx,0x2c(%esp)
54d8b5:	8b 4c 24 08          	mov    0x8(%esp),%ecx
54d8b9:	83 c1 03             	add    $0x3,%ecx
54d8bc:	83 e1 03             	and    $0x3,%ecx
54d8bf:	b8 03 00 00 00       	mov    $0x3,%eax
54d8c4:	2b c1                	sub    %ecx,%eax
54d8c6:	03 c0                	add    %eax,%eax
54d8c8:	33 d2                	xor    %edx,%edx
54d8ca:	89 54 24 30          	mov    %edx,0x30(%esp)
54d8ce:	bd 06 00 00 00       	mov    $0x6,%ebp
54d8d3:	c7 44 24 34 02 00 00 	movl   $0x2,0x34(%esp)
54d8da:	00
54d8db:	33 d2                	xor    %edx,%edx
54d8dd:	89 54 24 3c          	mov    %edx,0x3c(%esp)
54d8e1:	eb 75                	jmp    0x54d958
54d8e3:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
54d8e7:	8b 54 24 28          	mov    0x28(%esp),%edx
54d8eb:	0f b6 12             	movzbl (%edx),%edx
54d8ee:	d3 fa                	sar    %cl,%edx
54d8f0:	80 e2 03             	and    $0x3,%dl
54d8f3:	88 54 24 40          	mov    %dl,0x40(%esp)
54d8f7:	33 ff                	xor    %edi,%edi
54d8f9:	8b 54 24 38          	mov    0x38(%esp),%edx
54d8fd:	3b fa                	cmp    %edx,%edi
54d8ff:	7d 35                	jge    0x54d936
54d901:	b9 06 00 00 00       	mov    $0x6,%ecx
54d906:	2b c8                	sub    %eax,%ecx
54d908:	ba 3f 3f 00 00       	mov    $0x3f3f,%edx
54d90d:	d3 fa                	sar    %cl,%edx
54d90f:	80 e2 ff             	and    $0xff,%dl
54d912:	20 16                	and    %dl,(%esi)
54d914:	8b c8                	mov    %eax,%ecx
54d916:	8a 54 24 40          	mov    0x40(%esp),%dl
54d91a:	d2 e2                	shl    %cl,%dl
54d91c:	08 16                	or     %dl,(%esi)
54d91e:	3b e8                	cmp    %eax,%ebp
54d920:	75 07                	jne    0x54d929
54d922:	8b 44 24 30          	mov    0x30(%esp),%eax
54d926:	4e                   	dec    %esi
54d927:	eb 04                	jmp    0x54d92d
54d929:	03 44 24 34          	add    0x34(%esp),%eax
54d92d:	47                   	inc    %edi
54d92e:	8b 4c 24 38          	mov    0x38(%esp),%ecx
54d932:	3b f9                	cmp    %ecx,%edi
54d934:	7c cb                	jl     0x54d901
54d936:	8b 54 24 2c          	mov    0x2c(%esp),%edx
54d93a:	3b ea                	cmp    %edx,%ebp
54d93c:	75 0e                	jne    0x54d94c
54d93e:	8b 4c 24 30          	mov    0x30(%esp),%ecx
54d942:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
54d946:	ff 4c 24 28          	decl   0x28(%esp)
54d94a:	eb 08                	jmp    0x54d954
54d94c:	8b 54 24 34          	mov    0x34(%esp),%edx
54d950:	01 54 24 2c          	add    %edx,0x2c(%esp)
54d954:	ff 44 24 3c          	incl   0x3c(%esp)
54d958:	8b 0b                	mov    (%ebx),%ecx
54d95a:	8b 54 24 3c          	mov    0x3c(%esp),%edx
54d95e:	3b ca                	cmp    %edx,%ecx
54d960:	77 81                	ja     0x54d8e3
54d962:	e9 93 01 00 00       	jmp    0x54dafa
54d967:	8b 03                	mov    (%ebx),%eax
54d969:	48                   	dec    %eax
54d96a:	d1 e8                	shr    $1,%eax
54d96c:	03 c2                	add    %edx,%eax
54d96e:	89 44 24 44          	mov    %eax,0x44(%esp)
54d972:	8b 74 24 08          	mov    0x8(%esp),%esi
54d976:	8b 04 24             	mov    (%esp),%eax
54d979:	4e                   	dec    %esi
54d97a:	d1 ee                	shr    $1,%esi
54d97c:	03 f2                	add    %edx,%esi
54d97e:	8b 14 85 f8 bd 69 00 	mov    0x69bdf8(,%eax,4),%edx
54d985:	89 54 24 58          	mov    %edx,0x58(%esp)
54d989:	f6 44 24 06 01       	testb  $0x1,0x6(%esp)
54d98e:	74 2c                	je     0x54d9bc
54d990:	8b 0b                	mov    (%ebx),%ecx
54d992:	41                   	inc    %ecx
54d993:	83 e1 01             	and    $0x1,%ecx
54d996:	c1 e1 02             	shl    $0x2,%ecx
54d999:	89 4c 24 48          	mov    %ecx,0x48(%esp)
54d99d:	8b 44 24 08          	mov    0x8(%esp),%eax
54d9a1:	40                   	inc    %eax
54d9a2:	83 e0 01             	and    $0x1,%eax
54d9a5:	c7 44 24 4c 04 00 00 	movl   $0x4,0x4c(%esp)
54d9ac:	00
54d9ad:	c1 e0 02             	shl    $0x2,%eax
54d9b0:	33 ed                	xor    %ebp,%ebp
54d9b2:	c7 44 24 50 fc ff ff 	movl   $0xfffffffc,0x50(%esp)
54d9b9:	ff
54d9ba:	eb 39                	jmp    0x54d9f5
54d9bc:	8b 03                	mov    (%ebx),%eax
54d9be:	40                   	inc    %eax
54d9bf:	83 e0 01             	and    $0x1,%eax
54d9c2:	ba 01 00 00 00       	mov    $0x1,%edx
54d9c7:	2b d0                	sub    %eax,%edx
54d9c9:	c1 e2 02             	shl    $0x2,%edx
54d9cc:	89 54 24 48          	mov    %edx,0x48(%esp)
54d9d0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
54d9d4:	41                   	inc    %ecx
54d9d5:	83 e1 01             	and    $0x1,%ecx
54d9d8:	b8 01 00 00 00       	mov    $0x1,%eax
54d9dd:	2b c1                	sub    %ecx,%eax
54d9df:	c1 e0 02             	shl    $0x2,%eax
54d9e2:	33 d2                	xor    %edx,%edx
54d9e4:	89 54 24 4c          	mov    %edx,0x4c(%esp)
54d9e8:	bd 04 00 00 00       	mov    $0x4,%ebp
54d9ed:	c7 44 24 50 04 00 00 	movl   $0x4,0x50(%esp)
54d9f4:	00
54d9f5:	33 d2                	xor    %edx,%edx
54d9f7:	89 54 24 54          	mov    %edx,0x54(%esp)
54d9fb:	eb 75                	jmp    0x54da72
54d9fd:	8b 4c 24 48          	mov    0x48(%esp),%ecx
54da01:	8b 54 24 44          	mov    0x44(%esp),%edx
54da05:	0f b6 12             	movzbl (%edx),%edx
54da08:	d3 fa                	sar    %cl,%edx
54da0a:	80 e2 0f             	and    $0xf,%dl
54da0d:	88 54 24 5c          	mov    %dl,0x5c(%esp)
54da11:	33 ff                	xor    %edi,%edi
54da13:	8b 54 24 58          	mov    0x58(%esp),%edx
54da17:	3b fa                	cmp    %edx,%edi
54da19:	7d 35                	jge    0x54da50
54da1b:	b9 04 00 00 00       	mov    $0x4,%ecx
54da20:	2b c8                	sub    %eax,%ecx
54da22:	ba 0f 0f 00 00       	mov    $0xf0f,%edx
54da27:	d3 fa                	sar    %cl,%edx
54da29:	80 e2 ff             	and    $0xff,%dl
54da2c:	20 16                	and    %dl,(%esi)
54da2e:	8b c8                	mov    %eax,%ecx
54da30:	8a 54 24 5c          	mov    0x5c(%esp),%dl
54da34:	d2 e2                	shl    %cl,%dl
54da36:	08 16                	or     %dl,(%esi)
54da38:	3b e8                	cmp    %eax,%ebp
54da3a:	75 07                	jne    0x54da43
54da3c:	8b 44 24 4c          	mov    0x4c(%esp),%eax
54da40:	4e                   	dec    %esi
54da41:	eb 04                	jmp    0x54da47
54da43:	03 44 24 50          	add    0x50(%esp),%eax
54da47:	47                   	inc    %edi
54da48:	8b 4c 24 58          	mov    0x58(%esp),%ecx
54da4c:	3b f9                	cmp    %ecx,%edi
54da4e:	7c cb                	jl     0x54da1b
54da50:	8b 54 24 48          	mov    0x48(%esp),%edx
54da54:	3b ea                	cmp    %edx,%ebp
54da56:	75 0e                	jne    0x54da66
54da58:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
54da5c:	89 4c 24 48          	mov    %ecx,0x48(%esp)
54da60:	ff 4c 24 44          	decl   0x44(%esp)
54da64:	eb 08                	jmp    0x54da6e
54da66:	8b 54 24 50          	mov    0x50(%esp),%edx
54da6a:	01 54 24 48          	add    %edx,0x48(%esp)
54da6e:	ff 44 24 54          	incl   0x54(%esp)
54da72:	8b 0b                	mov    (%ebx),%ecx
54da74:	8b 54 24 54          	mov    0x54(%esp),%edx
54da78:	3b ca                	cmp    %edx,%ecx
54da7a:	77 81                	ja     0x54d9fd
54da7c:	eb 7c                	jmp    0x54dafa
54da7e:	0f b6 73 0b          	movzbl 0xb(%ebx),%esi
54da82:	c1 fe 03             	sar    $0x3,%esi
54da85:	8b 03                	mov    (%ebx),%eax
54da87:	48                   	dec    %eax
54da88:	0f af c6             	imul   %esi,%eax
54da8b:	03 c2                	add    %edx,%eax
54da8d:	89 44 24 60          	mov    %eax,0x60(%esp)
54da91:	8b 6c 24 08          	mov    0x8(%esp),%ebp
54da95:	8b 04 24             	mov    (%esp),%eax
54da98:	4d                   	dec    %ebp
54da99:	0f af ee             	imul   %esi,%ebp
54da9c:	03 ea                	add    %edx,%ebp
54da9e:	8b 14 85 f8 bd 69 00 	mov    0x69bdf8(,%eax,4),%edx
54daa5:	89 54 24 64          	mov    %edx,0x64(%esp)
54daa9:	33 c9                	xor    %ecx,%ecx
54daab:	89 4c 24 68          	mov    %ecx,0x68(%esp)
54daaf:	eb 3f                	jmp    0x54daf0
54dab1:	56                   	push   %esi
54dab2:	8b 44 24 64          	mov    0x64(%esp),%eax
54dab6:	50                   	push   %eax
54dab7:	8d 54 24 74          	lea    0x74(%esp),%edx
54dabb:	52                   	push   %edx
54dabc:	e8 1f 89 fd ff       	call   0x5263e0
54dac1:	83 c4 0c             	add    $0xc,%esp
54dac4:	33 ff                	xor    %edi,%edi
54dac6:	8b 44 24 64          	mov    0x64(%esp),%eax
54daca:	3b f8                	cmp    %eax,%edi
54dacc:	7d 1a                	jge    0x54dae8
54dace:	56                   	push   %esi
54dacf:	8d 54 24 70          	lea    0x70(%esp),%edx
54dad3:	52                   	push   %edx
54dad4:	55                   	push   %ebp
54dad5:	e8 06 89 fd ff       	call   0x5263e0
54dada:	83 c4 0c             	add    $0xc,%esp
54dadd:	2b ee                	sub    %esi,%ebp
54dadf:	47                   	inc    %edi
54dae0:	8b 4c 24 64          	mov    0x64(%esp),%ecx
54dae4:	3b f9                	cmp    %ecx,%edi
54dae6:	7c e6                	jl     0x54dace
54dae8:	29 74 24 60          	sub    %esi,0x60(%esp)