422a5b:	3b c1                	cmp    %ecx,%eax
422a5d:	72 3d                	jb     0x422a9c
422a5f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
422a62:	eb 28                	jmp    0x422a8c
422a64:	8b 45 08             	mov    0x8(%ebp),%eax
422a67:	56                   	push   %esi
422a68:	0f be 00             	movsbl (%eax),%eax
422a6b:	50                   	push   %eax
422a6c:	e8 f2 63 00 00       	call   0x428e63
422a71:	59                   	pop    %ecx
422a72:	59                   	pop    %ecx
422a73:	83 f8 ff             	cmp    $0xffffffff,%eax
422a76:	74 28                	je     0x422aa0
422a78:	ff 45 08             	incl   0x8(%ebp)
422a7b:	8b 4e 18             	mov    0x18(%esi),%ecx
422a7e:	4b                   	dec    %ebx
422a7f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422a82:	85 c9                	test   %ecx,%ecx
422a84:	7f 06                	jg     0x422a8c
422a86:	33 c9                	xor    %ecx,%ecx
422a88:	41                   	inc    %ecx
422a89:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422a8c:	85 db                	test   %ebx,%ebx
422a8e:	0f 85 2d ff ff ff    	jne    0x4229c1
422a94:	8b 45 10             	mov    0x10(%ebp),%eax
422a97:	e9 ea fe ff ff       	jmp    0x422986
422a9c:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
422aa0:	2b fb                	sub    %ebx,%edi
422aa2:	8b c7                	mov    %edi,%eax
422aa4:	33 d2                	xor    %edx,%edx
422aa6:	f7 75 0c             	divl   0xc(%ebp)
422aa9:	e9 d8 fe ff ff       	jmp    0x422986
422aae:	6a 0c                	push   $0xc
422ab0:	68 28 6b 4b 00       	push   $0x4b6b28
422ab5:	e8 06 40 00 00       	call   0x426ac0
422aba:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
422abe:	74 24                	je     0x422ae4
422ac0:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
422ac4:	74 1e                	je     0x422ae4
422ac6:	33 c0                	xor    %eax,%eax
422ac8:	8b 75 14             	mov    0x14(%ebp),%esi
422acb:	85 f6                	test   %esi,%esi
422acd:	0f 95 c0             	setne  %al
422ad0:	85 c0                	test   %eax,%eax
422ad2:	75 18                	jne    0x422aec
422ad4:	e8 35 51 00 00       	call   0x427c0e
422ad9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422adf:	e8 2c 43 00 00       	call   0x426e10
422ae4:	33 c0                	xor    %eax,%eax
422ae6:	e8 1a 40 00 00       	call   0x426b05
422aeb:	c3                   	ret
422aec:	56                   	push   %esi
422aed:	e8 2a 23 00 00       	call   0x424e1c
422af2:	59                   	pop    %ecx
422af3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422af7:	56                   	push   %esi
422af8:	ff 75 10             	push   0x10(%ebp)
422afb:	ff 75 0c             	push   0xc(%ebp)
422afe:	ff 75 08             	push   0x8(%ebp)
422b01:	e8 51 fe ff ff       	call   0x422957
422b06:	83 c4 10             	add    $0x10,%esp
422b09:	8b f8                	mov    %eax,%edi
422b0b:	89 7d e4             	mov    %edi,-0x1c(%ebp)
422b0e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
422b15:	e8 0a 00 00 00       	call   0x422b24
422b1a:	8b c7                	mov    %edi,%eax
422b1c:	eb c8                	jmp    0x422ae6
422b1e:	8b 75 14             	mov    0x14(%ebp),%esi
422b21:	8b 7d e4             	mov    -0x1c(%ebp),%edi
422b24:	56                   	push   %esi
422b25:	e8 61 23 00 00       	call   0x424e8b
422b2a:	59                   	pop    %ecx
422b2b:	c3                   	ret
422b2c:	6a 0c                	push   $0xc
422b2e:	68 48 6b 4b 00       	push   $0x4b6b48
422b33:	e8 88 3f 00 00       	call   0x426ac0
422b38:	33 db                	xor    %ebx,%ebx
422b3a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
422b3d:	33 c0                	xor    %eax,%eax
422b3f:	8b 7d 08             	mov    0x8(%ebp),%edi
422b42:	85 ff                	test   %edi,%edi
422b44:	0f 95 c0             	setne  %al
422b47:	85 c0                	test   %eax,%eax
422b49:	75 18                	jne    0x422b63
422b4b:	e8 be 50 00 00       	call   0x427c0e
422b50:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422b56:	e8 b5 42 00 00       	call   0x426e10
422b5b:	83 c8 ff             	or     $0xffffffff,%eax
422b5e:	e9 c7 00 00 00       	jmp    0x422c2a
422b63:	33 c0                	xor    %eax,%eax
422b65:	39 45 0c             	cmp    %eax,0xc(%ebp)
422b68:	0f 95 c0             	setne  %al
422b6b:	85 c0                	test   %eax,%eax
422b6d:	74 dc                	je     0x422b4b
422b6f:	89 7d 08             	mov    %edi,0x8(%ebp)
422b72:	57                   	push   %edi
422b73:	e8 a4 22 00 00       	call   0x424e1c
422b78:	59                   	pop    %ecx
422b79:	21 5d fc             	and    %ebx,-0x4(%ebp)
422b7c:	f6 47 0c 40          	testb  $0x40,0xc(%edi)
422b80:	75 71                	jne    0x422bf3
422b82:	57                   	push   %edi
422b83:	e8 ab fd ff ff       	call   0x422933
422b88:	59                   	pop    %ecx
422b89:	8b d0                	mov    %eax,%edx
422b8b:	83 fa ff             	cmp    $0xffffffff,%edx
422b8e:	74 19                	je     0x422ba9
422b90:	83 fa fe             	cmp    $0xfffffffe,%edx
422b93:	74 14                	je     0x422ba9
422b95:	8b ca                	mov    %edx,%ecx
422b97:	c1 f9 05             	sar    $0x5,%ecx
422b9a:	83 e0 1f             	and    $0x1f,%eax
422b9d:	c1 e0 06             	shl    $0x6,%eax
422ba0:	03 04 8d 40 09 4c 00 	add    0x4c0940(,%ecx,4),%eax
422ba7:	eb 05                	jmp    0x422bae
422ba9:	b8 d0 ad 4b 00       	mov    $0x4badd0,%eax
422bae:	f6 40 24 7f          	testb  $0x7f,0x24(%eax)
422bb2:	75 29                	jne    0x422bdd
422bb4:	83 fa ff             	cmp    $0xffffffff,%edx
422bb7:	74 19                	je     0x422bd2
422bb9:	83 fa fe             	cmp    $0xfffffffe,%edx
422bbc:	74 14                	je     0x422bd2
422bbe:	8b c2                	mov    %edx,%eax
422bc0:	c1 f8 05             	sar    $0x5,%eax
422bc3:	83 e2 1f             	and    $0x1f,%edx
422bc6:	c1 e2 06             	shl    $0x6,%edx
422bc9:	03 14 85 40 09 4c 00 	add    0x4c0940(,%eax,4),%edx
422bd0:	eb 05                	jmp    0x422bd7
422bd2:	ba d0 ad 4b 00       	mov    $0x4badd0,%edx
422bd7:	f6 42 24 80          	testb  $0x80,0x24(%edx)
422bdb:	74 16                	je     0x422bf3
422bdd:	e8 2c 50 00 00       	call   0x427c0e
422be2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
422be8:	e8 23 42 00 00       	call   0x426e10
422bed:	83 cb ff             	or     $0xffffffff,%ebx
422bf0:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
422bf3:	85 db                	test   %ebx,%ebx
422bf5:	75 25                	jne    0x422c1c
422bf7:	57                   	push   %edi
422bf8:	e8 ed 5b 00 00       	call   0x4287ea
422bfd:	8b f0                	mov    %eax,%esi
422bff:	8d 45 10             	lea    0x10(%ebp),%eax
422c02:	50                   	push   %eax
422c03:	53                   	push   %ebx
422c04:	ff 75 0c             	push   0xc(%ebp)
422c07:	57                   	push   %edi
422c08:	e8 60 8c 00 00       	call   0x42b86d
422c0d:	8b d8                	mov    %eax,%ebx
422c0f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
422c12:	57                   	push   %edi
422c13:	56                   	push   %esi
422c14:	e8 a0 5b 00 00       	call   0x4287b9
422c19:	83 c4 1c             	add    $0x1c,%esp
422c1c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
422c23:	e8 0e 00 00 00       	call   0x422c36
422c28:	8b c3                	mov    %ebx,%eax
422c2a:	e8 d6 3e 00 00       	call   0x426b05
422c2f:	c3                   	ret
422c30:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
422c33:	8b 7d 08             	mov    0x8(%ebp),%edi
422c36:	57                   	push   %edi
422c37:	e8 4f 22 00 00       	call   0x424e8b
422c3c:	59                   	pop    %ecx
422c3d:	c3                   	ret
422c3e:	55                   	push   %ebp
422c3f:	8b ec                	mov    %esp,%ebp
422c41:	56                   	push   %esi
422c42:	8b 75 08             	mov    0x8(%ebp),%esi
422c45:	85 f6                	test   %esi,%esi
422c47:	75 09                	jne    0x422c52
422c49:	56                   	push   %esi
422c4a:	e8 f7 00 00 00       	call   0x422d46
422c4f:	59                   	pop    %ecx
422c50:	eb 2f                	jmp    0x422c81
422c52:	56                   	push   %esi
422c53:	e8 2c 00 00 00       	call   0x422c84
422c58:	59                   	pop    %ecx
422c59:	85 c0                	test   %eax,%eax
422c5b:	74 05                	je     0x422c62
422c5d:	83 c8 ff             	or     $0xffffffff,%eax
422c60:	eb 1f                	jmp    0x422c81
422c62:	f7 46 0c 00 40 00 00 	testl  $0x4000,0xc(%esi)
422c69:	74 14                	je     0x422c7f
422c6b:	56                   	push   %esi
422c6c:	e8 c2 fc ff ff       	call   0x422933
422c71:	50                   	push   %eax
422c72:	e8 68 98 00 00       	call   0x42c4df
422c77:	59                   	pop    %ecx
422c78:	f7 d8                	neg    %eax
422c7a:	59                   	pop    %ecx
422c7b:	1b c0                	sbb    %eax,%eax
422c7d:	eb 02                	jmp    0x422c81
422c7f:	33 c0                	xor    %eax,%eax
422c81:	5e                   	pop    %esi
422c82:	5d                   	pop    %ebp
422c83:	c3                   	ret
422c84:	55                   	push   %ebp
422c85:	8b ec                	mov    %esp,%ebp
422c87:	53                   	push   %ebx
422c88:	56                   	push   %esi
422c89:	8b 75 08             	mov    0x8(%ebp),%esi
422c8c:	33 db                	xor    %ebx,%ebx
422c8e:	8b 46 0c             	mov    0xc(%esi),%eax
422c91:	24 03                	and    $0x3,%al
422c93:	3c 02                	cmp    $0x2,%al
422c95:	75 42                	jne    0x422cd9
422c97:	f7 46 0c 08 01 00 00 	testl  $0x108,0xc(%esi)
422c9e:	74 39                	je     0x422cd9
422ca0:	57                   	push   %edi
422ca1:	8b 3e                	mov    (%esi),%edi
422ca3:	2b 7e 08             	sub    0x8(%esi),%edi
422ca6:	85 ff                	test   %edi,%edi
422ca8:	7e 2e                	jle    0x422cd8
422caa:	57                   	push   %edi
422cab:	ff 76 08             	push   0x8(%esi)
422cae:	56                   	push   %esi
422caf:	e8 7f fc ff ff       	call   0x422933
422cb4:	59                   	pop    %ecx
422cb5:	50                   	push   %eax
422cb6:	e8 a6 82 00 00       	call   0x42af61
422cbb:	83 c4 0c             	add    $0xc,%esp
422cbe:	3b c7                	cmp    %edi,%eax
422cc0:	75 0f                	jne    0x422cd1
422cc2:	8b 46 0c             	mov    0xc(%esi),%eax
422cc5:	84 c0                	test   %al,%al
422cc7:	79 0f                	jns    0x422cd8
422cc9:	83 e0 fd             	and    $0xfffffffd,%eax
422ccc:	89 46 0c             	mov    %eax,0xc(%esi)
422ccf:	eb 07                	jmp    0x422cd8
422cd1:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
422cd5:	83 cb ff             	or     $0xffffffff,%ebx
422cd8:	5f                   	pop    %edi
422cd9:	8b 4e 08             	mov    0x8(%esi),%ecx
422cdc:	83 66 04 00          	andl   $0x0,0x4(%esi)
422ce0:	89 0e                	mov    %ecx,(%esi)
422ce2:	5e                   	pop    %esi
422ce3:	8b c3                	mov    %ebx,%eax
422ce5:	5b                   	pop    %ebx
422ce6:	5d                   	pop    %ebp
422ce7:	c3                   	ret
422ce8:	6a 01                	push   $0x1
422cea:	e8 57 00 00 00       	call   0x422d46
422cef:	59                   	pop    %ecx
422cf0:	c3                   	ret
422cf1:	6a 0c                	push   $0xc
422cf3:	68 68 6b 4b 00       	push   $0x4b6b68
422cf8:	e8 c3 3d 00 00       	call   0x426ac0
422cfd:	8b 75 08             	mov    0x8(%ebp),%esi
422d00:	85 f6                	test   %esi,%esi
422d02:	75 09                	jne    0x422d0d
422d04:	56                   	push   %esi
422d05:	e8 3c 00 00 00       	call   0x422d46
422d0a:	59                   	pop    %ecx
422d0b:	eb 25                	jmp    0x422d32
422d0d:	56                   	push   %esi
422d0e:	e8 09 21 00 00       	call   0x424e1c
422d13:	59                   	pop    %ecx
422d14:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422d18:	56                   	push   %esi
422d19:	e8 20 ff ff ff       	call   0x422c3e
422d1e:	59                   	pop    %ecx
422d1f:	8b f8                	mov    %eax,%edi
422d21:	89 7d e4             	mov    %edi,-0x1c(%ebp)
422d24:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
422d2b:	e8 0e 00 00 00       	call   0x422d3e
422d30:	8b c7                	mov    %edi,%eax
422d32:	e8 ce 3d 00 00       	call   0x426b05
422d37:	c3                   	ret
422d38:	8b 75 08             	mov    0x8(%ebp),%esi
422d3b:	8b 7d e4             	mov    -0x1c(%ebp),%edi
422d3e:	56                   	push   %esi
422d3f:	e8 47 21 00 00       	call   0x424e8b
422d44:	59                   	pop    %ecx
422d45:	c3                   	ret
422d46:	6a 14                	push   $0x14
422d48:	68 88 6b 4b 00       	push   $0x4b6b88
422d4d:	e8 6e 3d 00 00       	call   0x426ac0
422d52:	33 ff                	xor    %edi,%edi
422d54:	89 7d e4             	mov    %edi,-0x1c(%ebp)
422d57:	21 7d dc             	and    %edi,-0x24(%ebp)
422d5a:	6a 01                	push   $0x1
422d5c:	e8 93 4f 00 00       	call   0x427cf4
422d61:	59                   	pop    %ecx
422d62:	21 7d fc             	and    %edi,-0x4(%ebp)
422d65:	33 f6                	xor    %esi,%esi
422d67:	8b 5d 08             	mov    0x8(%ebp),%ebx
422d6a:	89 75 e0             	mov    %esi,-0x20(%ebp)
422d6d:	3b 35 c0 22 4c 00    	cmp    0x4c22c0,%esi
422d73:	0f 8d 86 00 00 00    	jge    0x422dff
422d79:	a1 bc 22 4c 00       	mov    0x4c22bc,%eax
422d7e:	8b 04 b0             	mov    (%eax,%esi,4),%eax
422d81:	85 c0                	test   %eax,%eax
422d83:	74 5d                	je     0x422de2
422d85:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
422d89:	74 57                	je     0x422de2
422d8b:	50                   	push   %eax
422d8c:	56                   	push   %esi
422d8d:	e8 c9 20 00 00       	call   0x424e5b
422d92:	59                   	pop    %ecx
422d93:	59                   	pop    %ecx
422d94:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
422d9b:	a1 bc 22 4c 00       	mov    0x4c22bc,%eax
422da0:	8b 04 b0             	mov    (%eax,%esi,4),%eax
422da3:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
422da7:	74 30                	je     0x422dd9
422da9:	83 fb 01             	cmp    $0x1,%ebx
422dac:	75 12                	jne    0x422dc0
422dae:	50                   	push   %eax
422daf:	e8 8a fe ff ff       	call   0x422c3e
422db4:	59                   	pop    %ecx
422db5:	83 f8 ff             	cmp    $0xffffffff,%eax
422db8:	74 1f                	je     0x422dd9
422dba:	47                   	inc    %edi
422dbb:	89 7d e4             	mov    %edi,-0x1c(%ebp)
422dbe:	eb 19                	jmp    0x422dd9
422dc0:	85 db                	test   %ebx,%ebx
422dc2:	75 15                	jne    0x422dd9
422dc4:	f6 40 0c 02          	testb  $0x2,0xc(%eax)
422dc8:	74 0f                	je     0x422dd9
422dca:	50                   	push   %eax
422dcb:	e8 6e fe ff ff       	call   0x422c3e
422dd0:	59                   	pop    %ecx
422dd1:	83 f8 ff             	cmp    $0xffffffff,%eax
422dd4:	75 03                	jne    0x422dd9
422dd6:	09 45 dc             	or     %eax,-0x24(%ebp)
422dd9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422ddd:	e8 0c 00 00 00       	call   0x422dee
422de2:	46                   	inc    %esi
422de3:	eb 85                	jmp    0x422d6a
422de5:	8b 5d 08             	mov    0x8(%ebp),%ebx
422de8:	8b 7d e4             	mov    -0x1c(%ebp),%edi
422deb:	8b 75 e0             	mov    -0x20(%ebp),%esi
422dee:	a1 bc 22 4c 00       	mov    0x4c22bc,%eax
422df3:	ff 34 b0             	push   (%eax,%esi,4)
422df6:	56                   	push   %esi
422df7:	e8 c9 20 00 00       	call   0x424ec5
422dfc:	59                   	pop    %ecx
422dfd:	59                   	pop    %ecx
422dfe:	c3                   	ret
422dff:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
422e06:	e8 16 00 00 00       	call   0x422e21
422e0b:	83 fb 01             	cmp    $0x1,%ebx
422e0e:	8b c7                	mov    %edi,%eax
422e10:	74 03                	je     0x422e15
422e12:	8b 45 dc             	mov    -0x24(%ebp),%eax
422e15:	e8 eb 3c 00 00       	call   0x426b05
422e1a:	c3                   	ret
422e1b:	8b 5d 08             	mov    0x8(%ebp),%ebx
422e1e:	8b 7d e4             	mov    -0x1c(%ebp),%edi
422e21:	6a 01                	push   $0x1