7d0a9d:	83 c4 04             	add    $0x4,%esp
7d0aa0:	85 c0                	test   %eax,%eax
7d0aa2:	75 c6                	jne    0x7d0a6a
7d0aa4:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0aa7:	8b 75 60             	mov    0x60(%ebp),%esi
7d0aaa:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0aae:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0ab2:	8a 06                	mov    (%esi),%al
7d0ab4:	46                   	inc    %esi
7d0ab5:	88 44 24 24          	mov    %al,0x24(%esp)
7d0ab9:	3b f3                	cmp    %ebx,%esi
7d0abb:	72 1b                	jb     0x7d0ad8
7d0abd:	55                   	push   %ebp
7d0abe:	e8 ad 09 00 00       	call   0x7d1470
7d0ac3:	83 c4 04             	add    $0x4,%esp
7d0ac6:	85 c0                	test   %eax,%eax
7d0ac8:	75 a0                	jne    0x7d0a6a
7d0aca:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0acd:	8b 75 60             	mov    0x60(%ebp),%esi
7d0ad0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0ad4:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0ad8:	8a 06                	mov    (%esi),%al
7d0ada:	83 c7 10             	add    $0x10,%edi
7d0add:	0f b6 d0             	movzbl %al,%edx
7d0ae0:	46                   	inc    %esi
7d0ae1:	0f b6 44 24 24       	movzbl 0x24(%esp),%eax
7d0ae6:	c1 e2 08             	shl    $0x8,%edx
7d0ae9:	0b d0                	or     %eax,%edx
7d0aeb:	8b 44 24 10          	mov    0x10(%esp),%eax
7d0aef:	d3 e2                	shl    %cl,%edx
7d0af1:	83 e9 10             	sub    $0x10,%ecx
7d0af4:	0b c2                	or     %edx,%eax
7d0af6:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0afa:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0afe:	83 ff 10             	cmp    $0x10,%edi
7d0b01:	7c 90                	jl     0x7d0a93
7d0b03:	eb 04                	jmp    0x7d0b09
7d0b05:	8b 44 24 10          	mov    0x10(%esp),%eax
7d0b09:	c1 e8 1a             	shr    $0x1a,%eax
7d0b0c:	0f b7 8c 45 a2 0c 00 	movzwl 0xca2(%ebp,%eax,2),%ecx
7d0b13:	00
7d0b14:	89 4c 24 24          	mov    %ecx,0x24(%esp)
7d0b18:	83 f9 14             	cmp    $0x14,%ecx
7d0b1b:	72 47                	jb     0x7d0b64
7d0b1d:	8b 54 24 10          	mov    0x10(%esp),%edx
7d0b21:	b8 00 00 00 04       	mov    $0x4000000,%eax
7d0b26:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
7d0b2d:	00 00 00
7d0b30:	d1 f8                	sar    $1,%eax
7d0b32:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7d0b36:	0f 84 1a ff ff ff    	je     0x7d0a56
7d0b3c:	23 c2                	and    %edx,%eax
7d0b3e:	f7 d8                	neg    %eax
7d0b40:	1b c9                	sbb    %ecx,%ecx
7d0b42:	8b 44 24 24          	mov    0x24(%esp),%eax
7d0b46:	0f b7 c0             	movzwl %ax,%eax
7d0b49:	f7 d9                	neg    %ecx
7d0b4b:	03 c0                	add    %eax,%eax
7d0b4d:	0b c8                	or     %eax,%ecx
7d0b4f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7d0b53:	0f b7 8c 4d a2 0c 00 	movzwl 0xca2(%ebp,%ecx,2),%ecx
7d0b5a:	00
7d0b5b:	89 4c 24 24          	mov    %ecx,0x24(%esp)
7d0b5f:	83 f9 14             	cmp    $0x14,%ecx
7d0b62:	73 cc                	jae    0x7d0b30
7d0b64:	8b 44 24 10          	mov    0x10(%esp),%eax
7d0b68:	0f b7 d1             	movzwl %cx,%edx
7d0b6b:	0f b6 4c 2a 7c       	movzbl 0x7c(%edx,%ebp,1),%ecx
7d0b70:	d3 e0                	shl    %cl,%eax
7d0b72:	2b f9                	sub    %ecx,%edi
7d0b74:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0b78:	83 fa 11             	cmp    $0x11,%edx
7d0b7b:	0f 85 9f 00 00 00    	jne    0x7d0c20
7d0b81:	83 ff 04             	cmp    $0x4,%edi
7d0b84:	0f 8d 83 00 00 00    	jge    0x7d0c0d
7d0b8a:	b9 10 00 00 00       	mov    $0x10,%ecx
7d0b8f:	2b cf                	sub    %edi,%ecx
7d0b91:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0b95:	3b f3                	cmp    %ebx,%esi
7d0b97:	72 1f                	jb     0x7d0bb8
7d0b99:	55                   	push   %ebp
7d0b9a:	e8 d1 08 00 00       	call   0x7d1470
7d0b9f:	83 c4 04             	add    $0x4,%esp
7d0ba2:	85 c0                	test   %eax,%eax
7d0ba4:	0f 85 c0 fe ff ff    	jne    0x7d0a6a
7d0baa:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0bad:	8b 75 60             	mov    0x60(%ebp),%esi
7d0bb0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0bb4:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0bb8:	8a 06                	mov    (%esi),%al
7d0bba:	46                   	inc    %esi
7d0bbb:	88 44 24 24          	mov    %al,0x24(%esp)
7d0bbf:	3b f3                	cmp    %ebx,%esi
7d0bc1:	72 1f                	jb     0x7d0be2
7d0bc3:	55                   	push   %ebp
7d0bc4:	e8 a7 08 00 00       	call   0x7d1470
7d0bc9:	83 c4 04             	add    $0x4,%esp
7d0bcc:	85 c0                	test   %eax,%eax
7d0bce:	0f 85 96 fe ff ff    	jne    0x7d0a6a
7d0bd4:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0bd7:	8b 75 60             	mov    0x60(%ebp),%esi
7d0bda:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0bde:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0be2:	8a 06                	mov    (%esi),%al
7d0be4:	83 c7 10             	add    $0x10,%edi
7d0be7:	0f b6 d0             	movzbl %al,%edx
7d0bea:	46                   	inc    %esi
7d0beb:	0f b6 44 24 24       	movzbl 0x24(%esp),%eax
7d0bf0:	c1 e2 08             	shl    $0x8,%edx
7d0bf3:	0b d0                	or     %eax,%edx
7d0bf5:	8b 44 24 10          	mov    0x10(%esp),%eax
7d0bf9:	d3 e2                	shl    %cl,%edx
7d0bfb:	83 e9 10             	sub    $0x10,%ecx
7d0bfe:	0b c2                	or     %edx,%eax
7d0c00:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0c04:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0c08:	83 ff 04             	cmp    $0x4,%edi
7d0c0b:	7c 88                	jl     0x7d0b95
7d0c0d:	8b d8                	mov    %eax,%ebx
7d0c0f:	83 ef 04             	sub    $0x4,%edi
7d0c12:	c1 eb 1c             	shr    $0x1c,%ebx
7d0c15:	c1 e0 04             	shl    $0x4,%eax
7d0c18:	83 c3 04             	add    $0x4,%ebx
7d0c1b:	e9 a6 00 00 00       	jmp    0x7d0cc6
7d0c20:	83 fa 12             	cmp    $0x12,%edx
7d0c23:	0f 85 d8 00 00 00    	jne    0x7d0d01
7d0c29:	83 ff 05             	cmp    $0x5,%edi
7d0c2c:	0f 8d 86 00 00 00    	jge    0x7d0cb8
7d0c32:	b9 10 00 00 00       	mov    $0x10,%ecx
7d0c37:	2b cf                	sub    %edi,%ecx
7d0c39:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0c3d:	0f 1f 00             	nopl   (%eax)
7d0c40:	3b f3                	cmp    %ebx,%esi
7d0c42:	72 1f                	jb     0x7d0c63
7d0c44:	55                   	push   %ebp
7d0c45:	e8 26 08 00 00       	call   0x7d1470
7d0c4a:	83 c4 04             	add    $0x4,%esp
7d0c4d:	85 c0                	test   %eax,%eax
7d0c4f:	0f 85 15 fe ff ff    	jne    0x7d0a6a
7d0c55:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0c58:	8b 75 60             	mov    0x60(%ebp),%esi
7d0c5b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0c5f:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0c63:	8a 06                	mov    (%esi),%al
7d0c65:	46                   	inc    %esi
7d0c66:	88 44 24 24          	mov    %al,0x24(%esp)
7d0c6a:	3b f3                	cmp    %ebx,%esi
7d0c6c:	72 1f                	jb     0x7d0c8d
7d0c6e:	55                   	push   %ebp
7d0c6f:	e8 fc 07 00 00       	call   0x7d1470
7d0c74:	83 c4 04             	add    $0x4,%esp
7d0c77:	85 c0                	test   %eax,%eax
7d0c79:	0f 85 eb fd ff ff    	jne    0x7d0a6a
7d0c7f:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0c82:	8b 75 60             	mov    0x60(%ebp),%esi
7d0c85:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0c89:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0c8d:	8a 06                	mov    (%esi),%al
7d0c8f:	83 c7 10             	add    $0x10,%edi
7d0c92:	0f b6 d0             	movzbl %al,%edx
7d0c95:	46                   	inc    %esi
7d0c96:	0f b6 44 24 24       	movzbl 0x24(%esp),%eax
7d0c9b:	c1 e2 08             	shl    $0x8,%edx
7d0c9e:	0b d0                	or     %eax,%edx
7d0ca0:	8b 44 24 10          	mov    0x10(%esp),%eax
7d0ca4:	d3 e2                	shl    %cl,%edx
7d0ca6:	83 e9 10             	sub    $0x10,%ecx
7d0ca9:	0b c2                	or     %edx,%eax
7d0cab:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0caf:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0cb3:	83 ff 05             	cmp    $0x5,%edi
7d0cb6:	7c 88                	jl     0x7d0c40
7d0cb8:	8b d8                	mov    %eax,%ebx
7d0cba:	83 ef 05             	sub    $0x5,%edi
7d0cbd:	c1 eb 1b             	shr    $0x1b,%ebx
7d0cc0:	c1 e0 05             	shl    $0x5,%eax
7d0cc3:	83 c3 14             	add    $0x14,%ebx
7d0cc6:	89 7c 24 24          	mov    %edi,0x24(%esp)
7d0cca:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0cce:	0f 84 1d 02 00 00    	je     0x7d0ef1
7d0cd4:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
7d0cd8:	8b cb                	mov    %ebx,%ecx
7d0cda:	03 7c 24 28          	add    0x28(%esp),%edi
7d0cde:	8b d1                	mov    %ecx,%edx
7d0ce0:	c1 e9 02             	shr    $0x2,%ecx
7d0ce3:	33 c0                	xor    %eax,%eax
7d0ce5:	f3 ab                	rep stos %eax,%es:(%edi)
7d0ce7:	8b ca                	mov    %edx,%ecx
7d0ce9:	83 e1 03             	and    $0x3,%ecx
7d0cec:	f3 aa                	rep stos %al,%es:(%edi)
7d0cee:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
7d0cf2:	8b 7c 24 24          	mov    0x24(%esp),%edi
7d0cf6:	03 cb                	add    %ebx,%ecx
7d0cf8:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
7d0cfc:	e9 f4 01 00 00       	jmp    0x7d0ef5
7d0d01:	83 fa 13             	cmp    $0x13,%edx
7d0d04:	0f 85 ca 01 00 00    	jne    0x7d0ed4
7d0d0a:	83 ff 01             	cmp    $0x1,%edi
7d0d0d:	0f 8d 85 00 00 00    	jge    0x7d0d98
7d0d13:	b9 10 00 00 00       	mov    $0x10,%ecx
7d0d18:	2b cf                	sub    %edi,%ecx
7d0d1a:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0d1e:	66 90                	xchg   %ax,%ax
7d0d20:	3b f3                	cmp    %ebx,%esi
7d0d22:	72 1f                	jb     0x7d0d43
7d0d24:	55                   	push   %ebp
7d0d25:	e8 46 07 00 00       	call   0x7d1470
7d0d2a:	83 c4 04             	add    $0x4,%esp
7d0d2d:	85 c0                	test   %eax,%eax
7d0d2f:	0f 85 35 fd ff ff    	jne    0x7d0a6a
7d0d35:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0d38:	8b 75 60             	mov    0x60(%ebp),%esi
7d0d3b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0d3f:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0d43:	8a 06                	mov    (%esi),%al
7d0d45:	46                   	inc    %esi
7d0d46:	88 44 24 24          	mov    %al,0x24(%esp)
7d0d4a:	3b f3                	cmp    %ebx,%esi
7d0d4c:	72 1f                	jb     0x7d0d6d
7d0d4e:	55                   	push   %ebp
7d0d4f:	e8 1c 07 00 00       	call   0x7d1470
7d0d54:	83 c4 04             	add    $0x4,%esp
7d0d57:	85 c0                	test   %eax,%eax
7d0d59:	0f 85 0b fd ff ff    	jne    0x7d0a6a
7d0d5f:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0d62:	8b 75 60             	mov    0x60(%ebp),%esi
7d0d65:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0d69:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0d6d:	8a 06                	mov    (%esi),%al
7d0d6f:	83 c7 10             	add    $0x10,%edi
7d0d72:	0f b6 d0             	movzbl %al,%edx
7d0d75:	46                   	inc    %esi
7d0d76:	0f b6 44 24 24       	movzbl 0x24(%esp),%eax
7d0d7b:	c1 e2 08             	shl    $0x8,%edx
7d0d7e:	0b d0                	or     %eax,%edx
7d0d80:	8b 44 24 10          	mov    0x10(%esp),%eax
7d0d84:	d3 e2                	shl    %cl,%edx
7d0d86:	83 e9 10             	sub    $0x10,%ecx
7d0d89:	0b c2                	or     %edx,%eax
7d0d8b:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0d8f:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0d93:	83 ff 01             	cmp    $0x1,%edi
7d0d96:	7c 88                	jl     0x7d0d20
7d0d98:	8b c8                	mov    %eax,%ecx
7d0d9a:	4f                   	dec    %edi
7d0d9b:	c1 e9 1f             	shr    $0x1f,%ecx
7d0d9e:	03 c0                	add    %eax,%eax
7d0da0:	83 c1 04             	add    $0x4,%ecx
7d0da3:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0da7:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
7d0dab:	83 ff 10             	cmp    $0x10,%edi
7d0dae:	0f 8d 84 00 00 00    	jge    0x7d0e38
7d0db4:	b9 10 00 00 00       	mov    $0x10,%ecx
7d0db9:	2b cf                	sub    %edi,%ecx
7d0dbb:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0dbf:	90                   	nop
7d0dc0:	3b f3                	cmp    %ebx,%esi
7d0dc2:	72 1f                	jb     0x7d0de3
7d0dc4:	55                   	push   %ebp
7d0dc5:	e8 a6 06 00 00       	call   0x7d1470
7d0dca:	83 c4 04             	add    $0x4,%esp
7d0dcd:	85 c0                	test   %eax,%eax
7d0dcf:	0f 85 95 fc ff ff    	jne    0x7d0a6a
7d0dd5:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0dd8:	8b 75 60             	mov    0x60(%ebp),%esi
7d0ddb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0ddf:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0de3:	8a 06                	mov    (%esi),%al
7d0de5:	46                   	inc    %esi
7d0de6:	88 44 24 24          	mov    %al,0x24(%esp)
7d0dea:	3b f3                	cmp    %ebx,%esi
7d0dec:	72 1f                	jb     0x7d0e0d
7d0dee:	55                   	push   %ebp
7d0def:	e8 7c 06 00 00       	call   0x7d1470
7d0df4:	83 c4 04             	add    $0x4,%esp
7d0df7:	85 c0                	test   %eax,%eax
7d0df9:	0f 85 6b fc ff ff    	jne    0x7d0a6a
7d0dff:	8b 5d 64             	mov    0x64(%ebp),%ebx
7d0e02:	8b 75 60             	mov    0x60(%ebp),%esi
7d0e05:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d0e09:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7d0e0d:	8a 06                	mov    (%esi),%al
7d0e0f:	83 c7 10             	add    $0x10,%edi
7d0e12:	0f b6 d0             	movzbl %al,%edx
7d0e15:	46                   	inc    %esi
7d0e16:	0f b6 44 24 24       	movzbl 0x24(%esp),%eax
7d0e1b:	c1 e2 08             	shl    $0x8,%edx
7d0e1e:	0b d0                	or     %eax,%edx
7d0e20:	8b 44 24 10          	mov    0x10(%esp),%eax
7d0e24:	d3 e2                	shl    %cl,%edx
7d0e26:	83 e9 10             	sub    $0x10,%ecx
7d0e29:	0b c2                	or     %edx,%eax
7d0e2b:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d0e2f:	89 44 24 10          	mov    %eax,0x10(%esp)
7d0e33:	83 ff 10             	cmp    $0x10,%edi
7d0e36:	7c 88                	jl     0x7d0dc0
7d0e38:	8b 54 24 10          	mov    0x10(%esp),%edx
7d0e3c:	c1 e8 1a             	shr    $0x1a,%eax
7d0e3f:	0f b7 84 45 a2 0c 00 	movzwl 0xca2(%ebp,%eax,2),%eax
7d0e46:	00
7d0e47:	83 f8 14             	cmp    $0x14,%eax
7d0e4a:	72 2b                	jb     0x7d0e77
7d0e4c:	bb 00 00 00 04       	mov    $0x4000000,%ebx
7d0e51:	d1 fb                	sar    $1,%ebx
7d0e53:	0f 84 fd fb ff ff    	je     0x7d0a56
7d0e59:	8b cb                	mov    %ebx,%ecx
7d0e5b:	0f b7 c0             	movzwl %ax,%eax
7d0e5e:	23 ca                	and    %edx,%ecx
7d0e60:	f7 d9                	neg    %ecx
7d0e62:	1b c9                	sbb    %ecx,%ecx
7d0e64:	03 c0                	add    %eax,%eax
7d0e66:	f7 d9                	neg    %ecx
7d0e68:	0b c8                	or     %eax,%ecx
7d0e6a:	0f b7 84 4d a2 0c 00 	movzwl 0xca2(%ebp,%ecx,2),%eax
7d0e71:	00
7d0e72:	83 f8 14             	cmp    $0x14,%eax
7d0e75:	73 da                	jae    0x7d0e51
7d0e77:	8b 5c 24 28          	mov    0x28(%esp),%ebx
7d0e7b:	0f b7 c0             	movzwl %ax,%eax
7d0e7e:	0f b6 4c 28 7c       	movzbl 0x7c(%eax,%ebp,1),%ecx
7d0e83:	d3 e2                	shl    %cl,%edx
7d0e85:	2b f9                	sub    %ecx,%edi
7d0e87:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
7d0e8b:	03 d9                	add    %ecx,%ebx
7d0e8d:	89 54 24 10          	mov    %edx,0x10(%esp)
7d0e91:	89 7c 24 24          	mov    %edi,0x24(%esp)
7d0e95:	0f b6 13             	movzbl (%ebx),%edx
7d0e98:	2b d0                	sub    %eax,%edx
7d0e9a:	79 03                	jns    0x7d0e9f
7d0e9c:	83 c2 11             	add    $0x11,%edx
7d0e9f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7d0ea3:	85 c0                	test   %eax,%eax
7d0ea5:	74 4e                	je     0x7d0ef5
7d0ea7:	8b c8                	mov    %eax,%ecx
7d0ea9:	8b fb                	mov    %ebx,%edi
7d0eab:	8a c2                	mov    %dl,%al
7d0ead:	8b d9                	mov    %ecx,%ebx
7d0eaf:	0f b6 c0             	movzbl %al,%eax
7d0eb2:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
7d0eb8:	c1 e9 02             	shr    $0x2,%ecx
7d0ebb:	f3 ab                	rep stos %eax,%es:(%edi)
7d0ebd:	8b cb                	mov    %ebx,%ecx
7d0ebf:	83 e1 03             	and    $0x3,%ecx
7d0ec2:	f3 aa                	rep stos %al,%es:(%edi)
7d0ec4:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
7d0ec8:	8b 7c 24 24          	mov    0x24(%esp),%edi
7d0ecc:	03 cb                	add    %ebx,%ecx
7d0ece:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
7d0ed2:	eb 21                	jmp    0x7d0ef5
7d0ed4:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx