5729af:	ff 40 3c             	incl   0x3c(%eax)
5729b2:	8b 53 18             	mov    0x18(%ebx),%edx
5729b5:	8b 4a 18             	mov    0x18(%edx),%ecx
5729b8:	ff 42 18             	incl   0x18(%edx)
5729bb:	8a 43 1c             	mov    0x1c(%ebx),%al
5729be:	88 01                	mov    %al,(%ecx)
5729c0:	33 c9                	xor    %ecx,%ecx
5729c2:	8a c8                	mov    %al,%cl
5729c4:	eb 03                	jmp    0x5729c9
5729c6:	83 c9 ff             	or     $0xffffffff,%ecx
5729c9:	41                   	inc    %ecx
5729ca:	75 04                	jne    0x5729d0
5729cc:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
5729d0:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
5729d4:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
5729d8:	8b 13                	mov    (%ebx),%edx
5729da:	c1 ea 14             	shr    $0x14,%edx
5729dd:	66 81 e2 ff 00       	and    $0xff,%dx
5729e2:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
5729e6:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
5729ec:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
5729f3:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5729f7:	0f 84 5b fd ff ff    	je     0x572758
5729fd:	8b 43 20             	mov    0x20(%ebx),%eax
572a00:	85 c0                	test   %eax,%eax
572a02:	74 05                	je     0x572a09
572a04:	83 c8 ff             	or     $0xffffffff,%eax
572a07:	eb 02                	jmp    0x572a0b
572a09:	33 c0                	xor    %eax,%eax
572a0b:	5f                   	pop    %edi
572a0c:	5e                   	pop    %esi
572a0d:	5b                   	pop    %ebx
572a0e:	c3                   	ret
572a0f:	90                   	nop
572a10:	53                   	push   %ebx
572a11:	56                   	push   %esi
572a12:	57                   	push   %edi
572a13:	55                   	push   %ebp
572a14:	8b d8                	mov    %eax,%ebx
572a16:	83 ea 01             	sub    $0x1,%edx
572a19:	0f 82 65 05 00 00    	jb     0x572f84
572a1f:	0f 85 5d 0d 00 00    	jne    0x573782
572a25:	66 be 0b 00          	mov    $0xb,%si
572a29:	66 2b 73 08          	sub    0x8(%ebx),%si
572a2d:	46                   	inc    %esi
572a2e:	66 85 f6             	test   %si,%si
572a31:	0f 8e a5 02 00 00    	jle    0x572cdc
572a37:	8b 4b 08             	mov    0x8(%ebx),%ecx
572a3a:	33 c0                	xor    %eax,%eax
572a3c:	d3 23                	shll   %cl,(%ebx)
572a3e:	89 43 08             	mov    %eax,0x8(%ebx)
572a41:	66 81 7b 1c ff 00    	cmpw   $0xff,0x1c(%ebx)
572a47:	0f 84 ee 01 00 00    	je     0x572c3b
572a4d:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
572a51:	0f 84 4b 01 00 00    	je     0x572ba2
572a57:	66 ff 43 1c          	incw   0x1c(%ebx)
572a5b:	66 8b 53 1c          	mov    0x1c(%ebx),%dx
572a5f:	66 81 fa ff 00       	cmp    $0xff,%dx
572a64:	0f 85 9f 00 00 00    	jne    0x572b09
572a6a:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
572a70:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572a75:	7c 6a                	jl     0x572ae1
572a77:	8b 43 18             	mov    0x18(%ebx),%eax
572a7a:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572a7e:	75 57                	jne    0x572ad7
572a80:	8b 7b 18             	mov    0x18(%ebx),%edi
572a83:	8b 6f 40             	mov    0x40(%edi),%ebp
572a86:	85 ed                	test   %ebp,%ebp
572a88:	7c 13                	jl     0x572a9d
572a8a:	8b 47 3c             	mov    0x3c(%edi),%eax
572a8d:	3b e8                	cmp    %eax,%ebp
572a8f:	7f 0c                	jg     0x572a9d
572a91:	8b 53 18             	mov    0x18(%ebx),%edx
572a94:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572a98:	83 c9 ff             	or     $0xffffffff,%ecx
572a9b:	eb 3d                	jmp    0x572ada
572a9d:	8b 43 18             	mov    0x18(%ebx),%eax
572aa0:	83 48 04 20          	orl    $0x20,0x4(%eax)
572aa4:	8b 53 18             	mov    0x18(%ebx),%edx
572aa7:	ff 4a 1c             	decl   0x1c(%edx)
572aaa:	79 11                	jns    0x572abd
572aac:	33 d2                	xor    %edx,%edx
572aae:	8b 43 18             	mov    0x18(%ebx),%eax
572ab1:	8a 53 1c             	mov    0x1c(%ebx),%dl
572ab4:	e8 5f 63 00 00       	call   0x578e18
572ab9:	8b c8                	mov    %eax,%ecx
572abb:	eb 1d                	jmp    0x572ada
572abd:	8b 43 18             	mov    0x18(%ebx),%eax
572ac0:	ff 40 3c             	incl   0x3c(%eax)
572ac3:	8b 53 18             	mov    0x18(%ebx),%edx
572ac6:	8b 4a 18             	mov    0x18(%edx),%ecx
572ac9:	ff 42 18             	incl   0x18(%edx)
572acc:	8a 43 1c             	mov    0x1c(%ebx),%al
572acf:	88 01                	mov    %al,(%ecx)
572ad1:	33 c9                	xor    %ecx,%ecx
572ad3:	8a c8                	mov    %al,%cl
572ad5:	eb 03                	jmp    0x572ada
572ad7:	83 c9 ff             	or     $0xffffffff,%ecx
572ada:	41                   	inc    %ecx
572adb:	75 04                	jne    0x572ae1
572add:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572ae1:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572ae5:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572ae9:	8b 13                	mov    (%ebx),%edx
572aeb:	c1 ea 14             	shr    $0x14,%edx
572aee:	66 81 e2 ff 00       	and    $0xff,%dx
572af3:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572af7:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572afd:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572b04:	e9 c6 01 00 00       	jmp    0x572ccf
572b09:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572b0e:	7c 6a                	jl     0x572b7a
572b10:	8b 43 18             	mov    0x18(%ebx),%eax
572b13:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572b17:	75 57                	jne    0x572b70
572b19:	8b 7b 18             	mov    0x18(%ebx),%edi
572b1c:	8b 6f 40             	mov    0x40(%edi),%ebp
572b1f:	85 ed                	test   %ebp,%ebp
572b21:	7c 13                	jl     0x572b36
572b23:	8b 47 3c             	mov    0x3c(%edi),%eax
572b26:	3b e8                	cmp    %eax,%ebp
572b28:	7f 0c                	jg     0x572b36
572b2a:	8b 53 18             	mov    0x18(%ebx),%edx
572b2d:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572b31:	83 c9 ff             	or     $0xffffffff,%ecx
572b34:	eb 3d                	jmp    0x572b73
572b36:	8b 43 18             	mov    0x18(%ebx),%eax
572b39:	83 48 04 20          	orl    $0x20,0x4(%eax)
572b3d:	8b 53 18             	mov    0x18(%ebx),%edx
572b40:	ff 4a 1c             	decl   0x1c(%edx)
572b43:	79 11                	jns    0x572b56
572b45:	33 d2                	xor    %edx,%edx
572b47:	8b 43 18             	mov    0x18(%ebx),%eax
572b4a:	8a 53 1c             	mov    0x1c(%ebx),%dl
572b4d:	e8 c6 62 00 00       	call   0x578e18
572b52:	8b c8                	mov    %eax,%ecx
572b54:	eb 1d                	jmp    0x572b73
572b56:	8b 43 18             	mov    0x18(%ebx),%eax
572b59:	ff 40 3c             	incl   0x3c(%eax)
572b5c:	8b 53 18             	mov    0x18(%ebx),%edx
572b5f:	8b 4a 18             	mov    0x18(%edx),%ecx
572b62:	ff 42 18             	incl   0x18(%edx)
572b65:	8a 43 1c             	mov    0x1c(%ebx),%al
572b68:	88 01                	mov    %al,(%ecx)
572b6a:	33 c9                	xor    %ecx,%ecx
572b6c:	8a c8                	mov    %al,%cl
572b6e:	eb 03                	jmp    0x572b73
572b70:	83 c9 ff             	or     $0xffffffff,%ecx
572b73:	41                   	inc    %ecx
572b74:	75 04                	jne    0x572b7a
572b76:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572b7a:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572b7e:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572b82:	8b 13                	mov    (%ebx),%edx
572b84:	c1 ea 13             	shr    $0x13,%edx
572b87:	66 81 e2 ff 00       	and    $0xff,%dx
572b8c:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572b90:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
572b96:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
572b9d:	e9 2d 01 00 00       	jmp    0x572ccf
572ba2:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572ba7:	7c 6a                	jl     0x572c13
572ba9:	8b 43 18             	mov    0x18(%ebx),%eax
572bac:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572bb0:	75 57                	jne    0x572c09
572bb2:	8b 7b 18             	mov    0x18(%ebx),%edi
572bb5:	8b 6f 40             	mov    0x40(%edi),%ebp
572bb8:	85 ed                	test   %ebp,%ebp
572bba:	7c 13                	jl     0x572bcf
572bbc:	8b 47 3c             	mov    0x3c(%edi),%eax
572bbf:	3b e8                	cmp    %eax,%ebp
572bc1:	7f 0c                	jg     0x572bcf
572bc3:	8b 53 18             	mov    0x18(%ebx),%edx
572bc6:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572bca:	83 c9 ff             	or     $0xffffffff,%ecx
572bcd:	eb 3d                	jmp    0x572c0c
572bcf:	8b 43 18             	mov    0x18(%ebx),%eax
572bd2:	83 48 04 20          	orl    $0x20,0x4(%eax)
572bd6:	8b 53 18             	mov    0x18(%ebx),%edx
572bd9:	ff 4a 1c             	decl   0x1c(%edx)
572bdc:	79 11                	jns    0x572bef
572bde:	33 d2                	xor    %edx,%edx
572be0:	8b 43 18             	mov    0x18(%ebx),%eax
572be3:	8a 53 1c             	mov    0x1c(%ebx),%dl
572be6:	e8 2d 62 00 00       	call   0x578e18
572beb:	8b c8                	mov    %eax,%ecx
572bed:	eb 1d                	jmp    0x572c0c
572bef:	8b 43 18             	mov    0x18(%ebx),%eax
572bf2:	ff 40 3c             	incl   0x3c(%eax)
572bf5:	8b 53 18             	mov    0x18(%ebx),%edx
572bf8:	8b 4a 18             	mov    0x18(%edx),%ecx
572bfb:	ff 42 18             	incl   0x18(%edx)
572bfe:	8a 43 1c             	mov    0x1c(%ebx),%al
572c01:	88 01                	mov    %al,(%ecx)
572c03:	33 c9                	xor    %ecx,%ecx
572c05:	8a c8                	mov    %al,%cl
572c07:	eb 03                	jmp    0x572c0c
572c09:	83 c9 ff             	or     $0xffffffff,%ecx
572c0c:	41                   	inc    %ecx
572c0d:	75 04                	jne    0x572c13
572c0f:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572c13:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572c17:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572c1b:	8b 13                	mov    (%ebx),%edx
572c1d:	c1 ea 13             	shr    $0x13,%edx
572c20:	66 81 e2 ff 00       	and    $0xff,%dx
572c25:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572c29:	81 23 ff ff 07 00    	andl   $0x7ffff,(%ebx)
572c2f:	c7 43 08 08 00 00 00 	movl   $0x8,0x8(%ebx)
572c36:	e9 94 00 00 00       	jmp    0x572ccf
572c3b:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572c40:	7c 6a                	jl     0x572cac
572c42:	8b 43 18             	mov    0x18(%ebx),%eax
572c45:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572c49:	75 57                	jne    0x572ca2
572c4b:	8b 7b 18             	mov    0x18(%ebx),%edi
572c4e:	8b 6f 40             	mov    0x40(%edi),%ebp
572c51:	85 ed                	test   %ebp,%ebp
572c53:	7c 13                	jl     0x572c68
572c55:	8b 47 3c             	mov    0x3c(%edi),%eax
572c58:	3b e8                	cmp    %eax,%ebp
572c5a:	7f 0c                	jg     0x572c68
572c5c:	8b 53 18             	mov    0x18(%ebx),%edx
572c5f:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572c63:	83 c9 ff             	or     $0xffffffff,%ecx
572c66:	eb 3d                	jmp    0x572ca5
572c68:	8b 43 18             	mov    0x18(%ebx),%eax
572c6b:	83 48 04 20          	orl    $0x20,0x4(%eax)
572c6f:	8b 53 18             	mov    0x18(%ebx),%edx
572c72:	ff 4a 1c             	decl   0x1c(%edx)
572c75:	79 11                	jns    0x572c88
572c77:	33 d2                	xor    %edx,%edx
572c79:	8b 43 18             	mov    0x18(%ebx),%eax
572c7c:	8a 53 1c             	mov    0x1c(%ebx),%dl
572c7f:	e8 94 61 00 00       	call   0x578e18
572c84:	8b c8                	mov    %eax,%ecx
572c86:	eb 1d                	jmp    0x572ca5
572c88:	8b 43 18             	mov    0x18(%ebx),%eax
572c8b:	ff 40 3c             	incl   0x3c(%eax)
572c8e:	8b 53 18             	mov    0x18(%ebx),%edx
572c91:	8b 4a 18             	mov    0x18(%edx),%ecx
572c94:	ff 42 18             	incl   0x18(%edx)
572c97:	8a 43 1c             	mov    0x1c(%ebx),%al
572c9a:	88 01                	mov    %al,(%ecx)
572c9c:	33 c9                	xor    %ecx,%ecx
572c9e:	8a c8                	mov    %al,%cl
572ca0:	eb 03                	jmp    0x572ca5
572ca2:	83 c9 ff             	or     $0xffffffff,%ecx
572ca5:	41                   	inc    %ecx
572ca6:	75 04                	jne    0x572cac
572ca8:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572cac:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572cb0:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572cb4:	8b 13                	mov    (%ebx),%edx
572cb6:	c1 ea 14             	shr    $0x14,%edx
572cb9:	66 81 e2 ff 00       	and    $0xff,%dx
572cbe:	66 89 53 1c          	mov    %dx,0x1c(%ebx)
572cc2:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572cc8:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572ccf:	66 2b 73 08          	sub    0x8(%ebx),%si
572cd3:	66 85 f6             	test   %si,%si
572cd6:	0f 8f 5b fd ff ff    	jg     0x572a37
572cdc:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572ce0:	66 3d ff 00          	cmp    $0xff,%ax
572ce4:	0f 84 9d 0a 00 00    	je     0x573787
572cea:	66 3d ff 00          	cmp    $0xff,%ax
572cee:	0f 84 f7 01 00 00    	je     0x572eeb
572cf4:	f6 43 03 08          	testb  $0x8,0x3(%ebx)
572cf8:	0f 84 54 01 00 00    	je     0x572e52
572cfe:	66 ff 43 1c          	incw   0x1c(%ebx)
572d02:	66 8b 53 1c          	mov    0x1c(%ebx),%dx
572d06:	66 81 fa ff 00       	cmp    $0xff,%dx
572d0b:	0f 85 a8 00 00 00    	jne    0x572db9
572d11:	81 23 ff ff ff 07    	andl   $0x7ffffff,(%ebx)
572d17:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572d1c:	7c 73                	jl     0x572d91
572d1e:	8b 4b 18             	mov    0x18(%ebx),%ecx
572d21:	f6 41 08 07          	testb  $0x7,0x8(%ecx)
572d25:	75 60                	jne    0x572d87
572d27:	8b 43 18             	mov    0x18(%ebx),%eax
572d2a:	8b 50 40             	mov    0x40(%eax),%edx
572d2d:	85 d2                	test   %edx,%edx
572d2f:	7c 1c                	jl     0x572d4d
572d31:	8b 4b 18             	mov    0x18(%ebx),%ecx
572d34:	8b 53 18             	mov    0x18(%ebx),%edx
572d37:	8b 41 40             	mov    0x40(%ecx),%eax
572d3a:	8b 4a 3c             	mov    0x3c(%edx),%ecx
572d3d:	3b c1                	cmp    %ecx,%eax
572d3f:	7f 0c                	jg     0x572d4d
572d41:	8b 43 18             	mov    0x18(%ebx),%eax
572d44:	83 48 08 04          	orl    $0x4,0x8(%eax)
572d48:	83 ca ff             	or     $0xffffffff,%edx
572d4b:	eb 3d                	jmp    0x572d8a
572d4d:	8b 4b 18             	mov    0x18(%ebx),%ecx
572d50:	83 49 04 20          	orl    $0x20,0x4(%ecx)
572d54:	8b 43 18             	mov    0x18(%ebx),%eax
572d57:	ff 48 1c             	decl   0x1c(%eax)
572d5a:	79 11                	jns    0x572d6d
572d5c:	33 d2                	xor    %edx,%edx
572d5e:	8b 43 18             	mov    0x18(%ebx),%eax
572d61:	8a 53 1c             	mov    0x1c(%ebx),%dl
572d64:	e8 af 60 00 00       	call   0x578e18
572d69:	8b d0                	mov    %eax,%edx
572d6b:	eb 1d                	jmp    0x572d8a
572d6d:	8b 4b 18             	mov    0x18(%ebx),%ecx
572d70:	ff 41 3c             	incl   0x3c(%ecx)
572d73:	8b 43 18             	mov    0x18(%ebx),%eax
572d76:	8b 50 18             	mov    0x18(%eax),%edx
572d79:	ff 40 18             	incl   0x18(%eax)
572d7c:	8a 4b 1c             	mov    0x1c(%ebx),%cl
572d7f:	88 0a                	mov    %cl,(%edx)
572d81:	33 d2                	xor    %edx,%edx
572d83:	8a d1                	mov    %cl,%dl
572d85:	eb 03                	jmp    0x572d8a
572d87:	83 ca ff             	or     $0xffffffff,%edx
572d8a:	42                   	inc    %edx
572d8b:	75 04                	jne    0x572d91
572d8d:	83 4b 20 01          	orl    $0x1,0x20(%ebx)
572d91:	66 8b 43 1c          	mov    0x1c(%ebx),%ax
572d95:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
572d99:	8b 0b                	mov    (%ebx),%ecx
572d9b:	c1 e9 14             	shr    $0x14,%ecx
572d9e:	66 81 e1 ff 00       	and    $0xff,%cx
572da3:	66 89 4b 1c          	mov    %cx,0x1c(%ebx)
572da7:	81 23 ff ff 0f 00    	andl   $0xfffff,(%ebx)
572dad:	c7 43 08 07 00 00 00 	movl   $0x7,0x8(%ebx)
572db4:	e9 ce 09 00 00       	jmp    0x573787
572db9:	66 83 7b 1c 00       	cmpw   $0x0,0x1c(%ebx)
572dbe:	7c 6a                	jl     0x572e2a
572dc0:	8b 43 18             	mov    0x18(%ebx),%eax
572dc3:	f6 40 08 07          	testb  $0x7,0x8(%eax)
572dc7:	75 57                	jne    0x572e20
572dc9:	8b 73 18             	mov    0x18(%ebx),%esi
572dcc:	8b 7e 40             	mov    0x40(%esi),%edi
572dcf:	85 ff                	test   %edi,%edi
572dd1:	7c 13                	jl     0x572de6
572dd3:	8b 46 3c             	mov    0x3c(%esi),%eax
572dd6:	3b f8                	cmp    %eax,%edi
572dd8:	7f 0c                	jg     0x572de6
572dda:	8b 53 18             	mov    0x18(%ebx),%edx
572ddd:	83 4a 08 04          	orl    $0x4,0x8(%edx)
572de1:	83 c9 ff             	or     $0xffffffff,%ecx
572de4:	eb 3d                	jmp    0x572e23
572de6:	8b 43 18             	mov    0x18(%ebx),%eax
572de9:	83 48 04 20          	orl    $0x20,0x4(%eax)
572ded:	8b 53 18             	mov    0x18(%ebx),%edx
572df0:	ff 4a 1c             	decl   0x1c(%edx)
572df3:	79 11                	jns    0x572e06
572df5:	33 d2                	xor    %edx,%edx
572df7:	8b 43 18             	mov    0x18(%ebx),%eax