562a7c:	33 db                	xor    %ebx,%ebx
562a7e:	eb 0c                	jmp    0x562a8c
562a80:	8b 46 08             	mov    0x8(%esi),%eax
562a83:	8b 04 98             	mov    (%eax,%ebx,4),%eax
562a86:	e8 81 02 00 00       	call   0x562d0c
562a8b:	43                   	inc    %ebx
562a8c:	8b 16                	mov    (%esi),%edx
562a8e:	3b da                	cmp    %edx,%ebx
562a90:	7c ee                	jl     0x562a80
562a92:	8b 46 08             	mov    0x8(%esi),%eax
562a95:	85 c0                	test   %eax,%eax
562a97:	74 05                	je     0x562a9e
562a99:	e8 e6 58 01 00       	call   0x578384
562a9e:	8b c6                	mov    %esi,%eax
562aa0:	e8 df 58 01 00       	call   0x578384
562aa5:	5e                   	pop    %esi
562aa6:	5b                   	pop    %ebx
562aa7:	c3                   	ret
562aa8:	53                   	push   %ebx
562aa9:	8b d8                	mov    %eax,%ebx
562aab:	56                   	push   %esi
562aac:	8b f2                	mov    %edx,%esi
562aae:	8b 43 04             	mov    0x4(%ebx),%eax
562ab1:	3b f0                	cmp    %eax,%esi
562ab3:	7e 30                	jle    0x562ae5
562ab5:	8b 53 08             	mov    0x8(%ebx),%edx
562ab8:	85 d2                	test   %edx,%edx
562aba:	74 0f                	je     0x562acb
562abc:	8b d6                	mov    %esi,%edx
562abe:	8b 43 08             	mov    0x8(%ebx),%eax
562ac1:	c1 e2 02             	shl    $0x2,%edx
562ac4:	e8 c3 58 01 00       	call   0x57838c
562ac9:	eb 0a                	jmp    0x562ad5
562acb:	8b c6                	mov    %esi,%eax
562acd:	c1 e0 02             	shl    $0x2,%eax
562ad0:	e8 a7 58 01 00       	call   0x57837c
562ad5:	85 c0                	test   %eax,%eax
562ad7:	75 06                	jne    0x562adf
562ad9:	83 c8 ff             	or     $0xffffffff,%eax
562adc:	5e                   	pop    %esi
562add:	5b                   	pop    %ebx
562ade:	c3                   	ret
562adf:	89 43 08             	mov    %eax,0x8(%ebx)
562ae2:	89 73 04             	mov    %esi,0x4(%ebx)
562ae5:	33 c0                	xor    %eax,%eax
562ae7:	5e                   	pop    %esi
562ae8:	5b                   	pop    %ebx
562ae9:	c3                   	ret
562aea:	90                   	nop
562aeb:	90                   	nop
562aec:	53                   	push   %ebx
562aed:	8b d8                	mov    %eax,%ebx
562aef:	56                   	push   %esi
562af0:	57                   	push   %edi
562af1:	8b f2                	mov    %edx,%esi
562af3:	8b 53 08             	mov    0x8(%ebx),%edx
562af6:	33 c0                	xor    %eax,%eax
562af8:	eb 0e                	jmp    0x562b08
562afa:	8b 0a                	mov    (%edx),%ecx
562afc:	66 8b 09             	mov    (%ecx),%cx
562aff:	66 3b 0e             	cmp    (%esi),%cx
562b02:	77 0a                	ja     0x562b0e
562b04:	40                   	inc    %eax
562b05:	83 c2 04             	add    $0x4,%edx
562b08:	8b 0b                	mov    (%ebx),%ecx
562b0a:	3b c1                	cmp    %ecx,%eax
562b0c:	7c ec                	jl     0x562afa
562b0e:	8b f8                	mov    %eax,%edi
562b10:	8b 43 04             	mov    0x4(%ebx),%eax
562b13:	8b 13                	mov    (%ebx),%edx
562b15:	3b c2                	cmp    %edx,%eax
562b17:	7f 18                	jg     0x562b31
562b19:	8b d0                	mov    %eax,%edx
562b1b:	8b c3                	mov    %ebx,%eax
562b1d:	81 c2 80 00 00 00    	add    $0x80,%edx
562b23:	e8 80 ff ff ff       	call   0x562aa8
562b28:	85 c0                	test   %eax,%eax
562b2a:	74 05                	je     0x562b31
562b2c:	83 c8 ff             	or     $0xffffffff,%eax
562b2f:	eb 1f                	jmp    0x562b50
562b31:	8b 03                	mov    (%ebx),%eax
562b33:	3b f8                	cmp    %eax,%edi
562b35:	7d 0f                	jge    0x562b46
562b37:	8b 53 08             	mov    0x8(%ebx),%edx
562b3a:	8b 4c 82 fc          	mov    -0x4(%edx,%eax,4),%ecx
562b3e:	89 0c 82             	mov    %ecx,(%edx,%eax,4)
562b41:	48                   	dec    %eax
562b42:	3b f8                	cmp    %eax,%edi
562b44:	7c f1                	jl     0x562b37
562b46:	8b 53 08             	mov    0x8(%ebx),%edx
562b49:	89 34 82             	mov    %esi,(%edx,%eax,4)
562b4c:	ff 03                	incl   (%ebx)
562b4e:	33 c0                	xor    %eax,%eax
562b50:	5f                   	pop    %edi
562b51:	5e                   	pop    %esi
562b52:	5b                   	pop    %ebx
562b53:	c3                   	ret
562b54:	53                   	push   %ebx
562b55:	56                   	push   %esi
562b56:	57                   	push   %edi
562b57:	55                   	push   %ebp
562b58:	83 c4 f0             	add    $0xfffffff0,%esp
562b5b:	89 04 24             	mov    %eax,(%esp)
562b5e:	e8 85 fd ff ff       	call   0x5628e8
562b63:	89 44 24 04          	mov    %eax,0x4(%esp)
562b67:	85 c0                	test   %eax,%eax
562b69:	0f 84 24 01 00 00    	je     0x562c93
562b6f:	8b 14 24             	mov    (%esp),%edx
562b72:	8b 0a                	mov    (%edx),%ecx
562b74:	85 c9                	test   %ecx,%ecx
562b76:	75 09                	jne    0x562b81
562b78:	8b 44 24 04          	mov    0x4(%esp),%eax
562b7c:	e9 1d 01 00 00       	jmp    0x562c9e
562b81:	33 d2                	xor    %edx,%edx
562b83:	89 54 24 08          	mov    %edx,0x8(%esp)
562b87:	8b 0c 24             	mov    (%esp),%ecx
562b8a:	8b 41 08             	mov    0x8(%ecx),%eax
562b8d:	8b 54 24 08          	mov    0x8(%esp),%edx
562b91:	8b 04 90             	mov    (%eax,%edx,4),%eax
562b94:	8b 68 08             	mov    0x8(%eax),%ebp
562b97:	8b 70 04             	mov    0x4(%eax),%esi
562b9a:	83 fe 04             	cmp    $0x4,%esi
562b9d:	0f 82 f0 00 00 00    	jb     0x562c93
562ba3:	33 d2                	xor    %edx,%edx
562ba5:	33 c0                	xor    %eax,%eax
562ba7:	e8 70 58 01 00       	call   0x57841c
562bac:	89 44 24 0c          	mov    %eax,0xc(%esp)
562bb0:	85 c0                	test   %eax,%eax
562bb2:	0f 84 db 00 00 00    	je     0x562c93
562bb8:	8b 44 24 04          	mov    0x4(%esp),%eax
562bbc:	e8 8b fe ff ff       	call   0x562a4c
562bc1:	8b d0                	mov    %eax,%edx
562bc3:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
562bc7:	8b 44 24 04          	mov    0x4(%esp),%eax
562bcb:	e8 74 fd ff ff       	call   0x562944
562bd0:	85 c0                	test   %eax,%eax
562bd2:	0f 85 bb 00 00 00    	jne    0x562c93
562bd8:	0f b6 7d 00          	movzbl 0x0(%ebp),%edi
562bdc:	33 c0                	xor    %eax,%eax
562bde:	33 d2                	xor    %edx,%edx
562be0:	8a 45 01             	mov    0x1(%ebp),%al
562be3:	8a 55 02             	mov    0x2(%ebp),%dl
562be6:	c1 e0 10             	shl    $0x10,%eax
562be9:	33 c9                	xor    %ecx,%ecx
562beb:	c1 e7 18             	shl    $0x18,%edi
562bee:	8a 4d 03             	mov    0x3(%ebp),%cl
562bf1:	c1 e2 08             	shl    $0x8,%edx
562bf4:	0b f8                	or     %eax,%edi
562bf6:	0b fa                	or     %edx,%edi
562bf8:	83 c5 04             	add    $0x4,%ebp
562bfb:	0b f9                	or     %ecx,%edi
562bfd:	83 ee 04             	sub    $0x4,%esi
562c00:	85 ff                	test   %edi,%edi
562c02:	74 4f                	je     0x562c53
562c04:	85 f6                	test   %esi,%esi
562c06:	75 24                	jne    0x562c2c
562c08:	ff 44 24 08          	incl   0x8(%esp)
562c0c:	8b 44 24 08          	mov    0x8(%esp),%eax
562c10:	8b 14 24             	mov    (%esp),%edx
562c13:	8b 0a                	mov    (%edx),%ecx
562c15:	3b c1                	cmp    %ecx,%eax
562c17:	7d 7a                	jge    0x562c93
562c19:	8b 04 24             	mov    (%esp),%eax
562c1c:	8b 50 08             	mov    0x8(%eax),%edx
562c1f:	8b 4c 24 08          	mov    0x8(%esp),%ecx
562c23:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
562c26:	8b 68 08             	mov    0x8(%eax),%ebp
562c29:	8b 70 04             	mov    0x4(%eax),%esi
562c2c:	3b f7                	cmp    %edi,%esi
562c2e:	76 04                	jbe    0x562c34
562c30:	8b df                	mov    %edi,%ebx
562c32:	eb 02                	jmp    0x562c36
562c34:	8b de                	mov    %esi,%ebx
562c36:	8b cb                	mov    %ebx,%ecx
562c38:	8b d5                	mov    %ebp,%edx
562c3a:	8b 44 24 0c          	mov    0xc(%esp),%eax
562c3e:	e8 b9 5c 01 00       	call   0x5788fc
562c43:	3b d8                	cmp    %eax,%ebx
562c45:	75 4c                	jne    0x562c93
562c47:	8b c3                	mov    %ebx,%eax
562c49:	03 eb                	add    %ebx,%ebp
562c4b:	2b f8                	sub    %eax,%edi
562c4d:	2b f0                	sub    %eax,%esi
562c4f:	85 ff                	test   %edi,%edi
562c51:	75 b1                	jne    0x562c04
562c53:	8b 44 24 0c          	mov    0xc(%esp),%eax
562c57:	e8 00 5f 01 00       	call   0x578b5c
562c5c:	85 f6                	test   %esi,%esi
562c5e:	0f 85 36 ff ff ff    	jne    0x562b9a
562c64:	ff 44 24 08          	incl   0x8(%esp)
562c68:	8b 54 24 08          	mov    0x8(%esp),%edx
562c6c:	8b 0c 24             	mov    (%esp),%ecx
562c6f:	8b 01                	mov    (%ecx),%eax
562c71:	3b d0                	cmp    %eax,%edx
562c73:	7d 18                	jge    0x562c8d
562c75:	8b 14 24             	mov    (%esp),%edx
562c78:	8b 4a 08             	mov    0x8(%edx),%ecx
562c7b:	8b 44 24 08          	mov    0x8(%esp),%eax
562c7f:	8b 04 81             	mov    (%ecx,%eax,4),%eax
562c82:	8b 68 08             	mov    0x8(%eax),%ebp
562c85:	8b 70 04             	mov    0x4(%eax),%esi
562c88:	e9 0d ff ff ff       	jmp    0x562b9a
562c8d:	8b 44 24 04          	mov    0x4(%esp),%eax
562c91:	eb 0b                	jmp    0x562c9e
562c93:	8b 44 24 04          	mov    0x4(%esp),%eax
562c97:	e8 50 fd ff ff       	call   0x5629ec
562c9c:	33 c0                	xor    %eax,%eax
562c9e:	83 c4 10             	add    $0x10,%esp
562ca1:	5d                   	pop    %ebp
562ca2:	5f                   	pop    %edi
562ca3:	5e                   	pop    %esi
562ca4:	5b                   	pop    %ebx
562ca5:	c3                   	ret
562ca6:	90                   	nop
562ca7:	90                   	nop
562ca8:	53                   	push   %ebx
562ca9:	56                   	push   %esi
562caa:	57                   	push   %edi
562cab:	55                   	push   %ebp
562cac:	8b fa                	mov    %edx,%edi
562cae:	8b e8                	mov    %eax,%ebp
562cb0:	33 f6                	xor    %esi,%esi
562cb2:	eb 20                	jmp    0x562cd4
562cb4:	8b 47 08             	mov    0x8(%edi),%eax
562cb7:	8b 1c b0             	mov    (%eax,%esi,4),%ebx
562cba:	8b 4b 04             	mov    0x4(%ebx),%ecx
562cbd:	8b 53 08             	mov    0x8(%ebx),%edx
562cc0:	8b c5                	mov    %ebp,%eax
562cc2:	e8 35 5c 01 00       	call   0x5788fc
562cc7:	8b 53 04             	mov    0x4(%ebx),%edx
562cca:	3b c2                	cmp    %edx,%eax
562ccc:	74 05                	je     0x562cd3
562cce:	83 c8 ff             	or     $0xffffffff,%eax
562cd1:	eb 09                	jmp    0x562cdc
562cd3:	46                   	inc    %esi
562cd4:	8b 0f                	mov    (%edi),%ecx
562cd6:	3b f1                	cmp    %ecx,%esi
562cd8:	7c da                	jl     0x562cb4
562cda:	33 c0                	xor    %eax,%eax
562cdc:	5d                   	pop    %ebp
562cdd:	5f                   	pop    %edi
562cde:	5e                   	pop    %esi
562cdf:	5b                   	pop    %ebx
562ce0:	c3                   	ret
562ce1:	90                   	nop
562ce2:	90                   	nop
562ce3:	90                   	nop
562ce4:	53                   	push   %ebx
562ce5:	b8 0c 00 00 00       	mov    $0xc,%eax
562cea:	e8 8d 56 01 00       	call   0x57837c
562cef:	8b d8                	mov    %eax,%ebx
562cf1:	85 c0                	test   %eax,%eax
562cf3:	75 04                	jne    0x562cf9
562cf5:	33 c0                	xor    %eax,%eax
562cf7:	5b                   	pop    %ebx
562cf8:	c3                   	ret
562cf9:	33 d2                	xor    %edx,%edx
562cfb:	33 c9                	xor    %ecx,%ecx
562cfd:	89 53 08             	mov    %edx,0x8(%ebx)
562d00:	89 4b 04             	mov    %ecx,0x4(%ebx)
562d03:	66 c7 03 00 00       	movw   $0x0,(%ebx)
562d08:	8b c3                	mov    %ebx,%eax
562d0a:	5b                   	pop    %ebx
562d0b:	c3                   	ret
562d0c:	53                   	push   %ebx
562d0d:	8b d8                	mov    %eax,%ebx
562d0f:	8b 43 08             	mov    0x8(%ebx),%eax
562d12:	85 c0                	test   %eax,%eax
562d14:	74 05                	je     0x562d1b
562d16:	e8 69 56 01 00       	call   0x578384
562d1b:	8b c3                	mov    %ebx,%eax
562d1d:	e8 62 56 01 00       	call   0x578384
562d22:	5b                   	pop    %ebx
562d23:	c3                   	ret
562d24:	53                   	push   %ebx
562d25:	56                   	push   %esi
562d26:	57                   	push   %edi
562d27:	55                   	push   %ebp
562d28:	83 c4 e0             	add    $0xffffffe0,%esp
562d2b:	89 54 24 04          	mov    %edx,0x4(%esp)
562d2f:	89 04 24             	mov    %eax,(%esp)
562d32:	8b 04 24             	mov    (%esp),%eax
562d35:	8b 50 38             	mov    0x38(%eax),%edx
562d38:	89 54 24 0c          	mov    %edx,0xc(%esp)
562d3c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
562d40:	8b 41 24             	mov    0x24(%ecx),%eax
562d43:	89 44 24 08          	mov    %eax,0x8(%esp)
562d47:	8b 54 24 0c          	mov    0xc(%esp),%edx
562d4b:	85 d2                	test   %edx,%edx
562d4d:	0f 8e e5 00 00 00    	jle    0x562e38
562d53:	8b 4c 24 08          	mov    0x8(%esp),%ecx
562d57:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
562d5b:	89 44 24 14          	mov    %eax,0x14(%esp)
562d5f:	8b 54 24 08          	mov    0x8(%esp),%edx
562d63:	8b 4a 18             	mov    0x18(%edx),%ecx
562d66:	89 4c 24 10          	mov    %ecx,0x10(%esp)
562d6a:	8b 44 24 14          	mov    0x14(%esp),%eax
562d6e:	85 c0                	test   %eax,%eax
562d70:	0f 8e ad 00 00 00    	jle    0x562e23
562d76:	8b 54 24 10          	mov    0x10(%esp),%edx
562d7a:	8b 42 04             	mov    0x4(%edx),%eax
562d7d:	85 c0                	test   %eax,%eax
562d7f:	0f 84 89 00 00 00    	je     0x562e0e
562d85:	8b 54 24 10          	mov    0x10(%esp),%edx
562d89:	8b 0a                	mov    (%edx),%ecx
562d8b:	89 4c 24 18          	mov    %ecx,0x18(%esp)
562d8f:	8b f8                	mov    %eax,%edi
562d91:	8b 44 24 18          	mov    0x18(%esp),%eax
562d95:	85 c0                	test   %eax,%eax
562d97:	7e 75                	jle    0x562e0e
562d99:	8b 57 04             	mov    0x4(%edi),%edx
562d9c:	85 d2                	test   %edx,%edx
562d9e:	74 5f                	je     0x562dff
562da0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
562da4:	8b 41 28             	mov    0x28(%ecx),%eax
562da7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
562dab:	8b 2f                	mov    (%edi),%ebp
562dad:	8b 44 24 1c          	mov    0x1c(%esp),%eax
562db1:	85 c0                	test   %eax,%eax
562db3:	7e 4a                	jle    0x562dff
562db5:	8b 45 1c             	mov    0x1c(%ebp),%eax
562db8:	85 c0                	test   %eax,%eax
562dba:	74 34                	je     0x562df0
562dbc:	8b 5d 18             	mov    0x18(%ebp),%ebx
562dbf:	8b f0                	mov    %eax,%esi
562dc1:	85 db                	test   %ebx,%ebx
562dc3:	7e 2b                	jle    0x562df0
562dc5:	57                   	push   %edi
562dc6:	56                   	push   %esi
562dc7:	6a 01                	push   $0x1
562dc9:	68 00 40 00 00       	push   $0x4000
562dce:	8b 4c 24 18          	mov    0x18(%esp),%ecx
562dd2:	8b 54 24 14          	mov    0x14(%esp),%edx
562dd6:	8b 44 24 10          	mov    0x10(%esp),%eax
562dda:	e8 65 00 00 00       	call   0x562e44
562ddf:	85 c0                	test   %eax,%eax
562de1:	74 05                	je     0x562de8
562de3:	83 c8 ff             	or     $0xffffffff,%eax
562de6:	eb 52                	jmp    0x562e3a
562de8:	4b                   	dec    %ebx
562de9:	83 c6 2c             	add    $0x2c,%esi
562dec:	85 db                	test   %ebx,%ebx
562dee:	7f d5                	jg     0x562dc5
562df0:	ff 4c 24 1c          	decl   0x1c(%esp)
562df4:	83 c5 28             	add    $0x28,%ebp
562df7:	8b 54 24 1c          	mov    0x1c(%esp),%edx
562dfb:	85 d2                	test   %edx,%edx
562dfd:	7f b6                	jg     0x562db5
562dff:	ff 4c 24 18          	decl   0x18(%esp)
562e03:	83 c7 20             	add    $0x20,%edi